centos6.5部署vsftp的小总结

严少 2016-09-16 12:53:40
FTP服务器部署基于2.2.2版本:
1、检查是否有db4套件(db4,db4-devle,db4-cxx,db4-util),如果没有则yum install安装
2、yum安装vsftp
yum install vsftpd
3、编辑PAM认真文件
vi /etc/pam.d/vsftpd从第3行开始进行注销(3、4、5、6、7行)并且在最后添加如下2行:
auth required pam_userdb.so(如果是64位操作系统则注意位置) db=/etc/vsftpd/virtual_login(用户数据库的路径以及去除后缀的文件名)
account required pam_userdb.so(如果是64位操作系统则注意位置) db=/etc/vsftpd/virtual_login(用户数据库的路径以及去除后缀的文件名)

4、进入vsftp配置文件目录(/etc/vsftpd/)
a、建立一个文件名为chroot_list的文件这个文件是用来限定或者开放用户是否只能在自己更目录当中活动:
i、当chroot_local_user=YES则chroot_list_enable=YES可以设定也可以不设定,此时文件表示白名单,在此文件里面的用户可以去往自己更目录以外的更目录中。
ii、当chroot_local_user=NO则chroot_list_enable=YES必须设定,此时文件表示黑名单,在此文件里面的用户只能在自己的根目录中。
5、ftpusers配置文件为永久黑名单,但是这个黑名单的开关是和/etc/pam.d/vsftpd中的第2行有关系,如果注销则没有效果。
6、user_list配置文件这个文件可以是黑名单也可以是白名单主要和主配置文件(vsftpd.conf)中的userlist_enable和userlist_deny这个值来判定的,网上有说其中一个值即可,但是存在一个问题建议2个值都同时配置具体情况如下:
i、当userlist_enable=YES, userlist_deny=YES时为黑名单,则不在user_list里面的用户就可以登录。
ii、当userlist_enable=YES, userlist_deny=NO时为白名单,则在user_list里的用户可以登录。
iii、当userlist_enable=NO,userlist_deny=NO或者userlist_enable=NO,userlist_deny=YES时候无效,不管在不在user_list里的用户可以登录。
7、建立虚拟用户以及虚拟用户配置文件
a、新建立一个文本然后奇数位写用户名,偶数位写上面用户的密码。(建议保留此文件后面如果要增删改查用户的时候方便)
b、建立用户数据库文件使用如下命令,生成完毕之后建议检查一下具体的权限是否为700:
db_load -T -t hash -f 建立的用户数据文本路径以及文件名 生成用户数据库的路径加上名称
db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db
c、建立一个文件夹专门用来存放用户配置文件,一个用户一个文件以用户名作为文件名
d、建立模板用户配置文件,后面只要复制之后修改配置即可。具体内容如下:
#用户根目录
local_root=/data/filesystem/User/admin/home/
#下载权限,当值为NO的时候用户不能下载。下面的权限只针对根目录内
#download_enable=NO
#当值为YES的时候会有所有权限
virtual_use_local_privs=YES
#当值为YES的时候之拥有下载权限,但是和默认值冲突我觉得没啥用
#download_enable=YES
#当值为YES的时候智能查看文件,但是默认情况下也能查看文件所以也觉得没用。
#anon_world_readable_only=YES
#但值为YES的时候则只能上传文件。
#anon_upload_enable=YES
#当值为YES的时候只能创建文件夹。
#anon_mkdir_write_enable=YES
设置最大下载带宽,换算单位为bit
local_max_rate=5000000
8、主配置文件修改以及说明:
a、建议先对主配置文件进行一个备份。
b、精简说明具体的参数信息:
#是否开启匿名访问
anonymous_enable=NO
#是否允许本地用户访问,这里我们用虚拟用户最根本的还是转到真是用户来操作的所以要打开
local_enable=YES
#对于服务器权限的总开关,所有权限的选定都需要在它打开的情况下
write_enable=YES
#可以理解为上传至服务器上之后文件的权限,一般文件夹为777减去下面的书,文件为655减去下面的值
local_umask=022
#上传权限,这里我设定为NO并且屏蔽了。主要在用户里面开放了。
#anon_upload_enable=NO
#建立文件夹权限,这里我设定为NO并且屏蔽了。主要在用户里面开放了。
#anon_mkdir_write_enable=NO
#欢迎语的开关,这里我自己用的就没有去打开了。
dirmessage_enable=NO
#上传下载日志开关,这里我自己用的就没有去打开了。
xferlog_enable=NO
#是否为主动模式。
connect_from_port_20=YES
#虚拟用户映射,然后和下面一行成对应关系下面一行里写的是用户名。这里要说到需要建立一个用户和组。并且将你想要设置的存储路径的所属权给到这个用户和组。
chown_uploads=YES
chown_username=php
#日志存储路径,我这里注销了。
#xferlog_file=/var/log/xferlog
#日志存储格式
xferlog_std_format=YES
#回话超时时间单位为秒
idle_session_timeout=600
#请求超时时间单位为秒
data_connection_timeout=120
#运行vsftpd需要的非特权系统用户,缺省是nobody
#nopriv_user=ftpsecure
#是否允许运行特殊的ftp命令async ABOR
async_abor_enable=YES
#2进制上传下载文件,不建议开启有时候可能会出现。
#ascii_upload_enable=YES
#ascii_download_enable=YES
#欢迎语设置,也可以用路径和文件来替代文字。
#ftpd_banner=Welcome to blah FTP service
#系统错误邮件以及存储路径。注重安全的可以打开。
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#上面对于用户限定只能在用户自己根目录中的相关配置。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#设置默认本地用户和匿名用户根目录,这里建议设置单独的非重要的文件夹中。也需要将所属变为建立的用户。
local_root=/data/filesystem/public/
anon_root=/data/filesystem/public/
#是否允许在客户端使用ls -R等命令
ls_recurse_enable=YES
#端口监听,端口号的配置。以及是否开启IPV6.
listen=YES
listen_port=8021
#listen_ipv6=YES
#pam认真的名称设置默认就好
pam_service_name=vsftpd
#这是上述对于user_list白名单还是黑名单的设置。
userlist_enable=YES
userlist_deny=NO
#个人立即为vsftp的防火墙功能,按照默认的打开即可。
tcp_wrappers=YES
#是否使用模拟用户
guest_enable=YES
#模拟用户转换的真实用户
guest_username=php
#模拟用户配置文件路径
user_config_dir=/etc/vsftpd/userconf
#最大用户链接和iIP限制
max_clients=10
max_per_ip=5
9、启动服务进行测试:
service vsftpd start
10、总结:根据上述的配置出现的默认用户权限如下可以下载、不能上传、可以查看文件。针对于权限这里我进行了很多的尝试,但是个人觉得这个权限的灵活度很低有些我个人无法理解的地方。
...全文
393 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧