Linux下安装vsftpd

一.安装vsftpd及相关依赖包

#vsftpd安装程序
yum install vsftpd
#vsftpd虚拟登陆账户必要依赖包
yum install pam* db4*

安装完之后,vsftpd默认在/etc/vsftpd目录下 

 

二.修改vsftpd.conf (/etc/vsftpd/vsftpd.conf)

#建立相关文件和文件夹
touch /etc/vsftpd/chroot_list
mkdir /etc/vsftpd/ftplogin
#修改vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
#原有配置的修改
anonymous_enable=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vvsftpd    
#新增配置
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/ftplogin

完整配置如下(伸手党福音),直接覆盖即可,千万不要忘记备份原文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/ftplogin
pam_service_name=vvsftpd

 

三.建立FTP虚拟登陆账户

1.创建密码明文文件

touch /etc/vsftpd/vuser
vi /etc/vsftpd/vuser

格式为:

用户名1
用户名1密码
用户名2
用户名2密码
...........

2.生成pam校验数据库文件

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

为了安全期间,建议在生成校验数据库之后,删除vuser文件

或者修改vuser权限,不让别的用户读(root大神如果被攻陷,那就没什么好说的了)

chmod 600 /etc/vsftpd/vuser

3.添加新的pam service 

touch /etc/pam.d/vvsftpd
vim /etc/pam.d/vvsftpd

 内容如下(注意如果是32位系统,那就用32位的校验,本例是64位的):

#%PAM-1.0
#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
#account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

4.给FTP虚拟用户赋权(增加权限配置文件)

配置文件存放路径,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必须和用户名相同

文件配置详解,默认路径需要提前用mkdir建立好,目录拥有者设置为conf中的guest_username,本文为www

#有上传/下载/修改权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/u01/ftpb/upload/

#只有上传/修改权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/u01/ftpb/upload/

#只有下载权限
anon_world_readable_only=NO
local_root=/u01/ftpb/upload/

 

如果出现500无法显示列表的错误,主要是iptables设置的问题,请查看相关文章 http://www.cnblogs.com/kreo/p/4368811.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。