最近由于公司项目需要,配置了一个简单的vsftpd服务器。
结合网上的资料,整理了配置步骤,分享给大家,以供学习参考。
一、安装vsftpd需要的组件
二、建立虚拟用户
[root@localhost ~]#vi /etc/vsftpd/vftpusers.txt
添加虚拟用户名和密码,奇数行为用户名,偶数行为密码
ftpusers
123456
Ftpusers1
123456
三、生成虚拟用户口令认证文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vftpusers.txt /etc/vsftpd/vftpusers.db
四、编辑vsftpd的PAM认证
[root@localhost ~]# vi /etc/pam.d/vsftpd
将原有内容全部注释,并在最后添加如下两行(32位系统下需将lib64改为lib):
五、建立本地映射用户并设置宿主权限
[root@localhost ~]# useradd -d /app/syncdata -s /sbin/nologin vftpusers
[root@localhost ~]#chmod 776 /app/syncdata
六、配置 vsftpd.conf (设置虚拟用户配置项)
可上传、下载、不能删除和创建目录
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=002
anon_upload_enable=YES
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO #pasv模式,port模式则设为YES
listen_port=2121
pasv_min_port=65000
pasv_max_port=65100
chown_uploads=NO
xferlog_std_format=YES
nopriv_user=vftpusers
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
ls_recurse_enable=NO
listen=YES
guest_enable=YES
guest_username=vftpusers
#virtual_use_local_privs=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
hide_file=.*
七、关闭selinux
[root@localhost ~]# vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled
重启服务器
八、测试登录
[root@localhost ~]# service vsftpd restart
重启vsftpd服务 然后测试登录。
九、建立各个虚拟用户自身的配置文件
[root@localhost ~]#mkdir /etc/vsftpd/vftpusers_conf
编辑ftpusers文件
[root@localhost ~]#vi /etc/vsftpd/vsftpd_user_conf/ftpusers
添加
anon_other_write_enable=YES #开放ftpusers的删除权限。
其它虚拟用户的配置文件,依次建立同名配置文件并写入需要的配置即可
vsftpd的配置文件要增加虚拟用户配置文件的选项
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
增加如下行:
user_config_dir=/etc/vsftpd/vsftpd_user_conf #设定用户配置文件存放目录
十、虚拟用户高级设置(这部分很重要哦)
1、virtual_use_local_privs参数
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传 下载 删除 重命名)
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES
anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO
anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO
anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO
anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO
anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限
您可能感兴趣的文章:
vsftpd安装及虚拟用户认证的配置方法
ubuntu vsftpd虚拟用户配置
CentOS 6.2 配置vsftpd虚拟用户的方法
vsftpd配置虚拟用户的方法介绍
vsftpd虚拟用户创建实例
vsftpd虚拟用户配置的总结
CentOS 5.3建立Vsftpd虚拟用户
vsftpd下创建虚拟用户的方法
vsftp 虚拟用户高级设置