本文摘自PHP中文网,作者巴扎黑,侵删。
vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。本文介绍了在CentOS 6.4下安装vsftpd、配置虚拟用户登录FTP的过程。
正文:
一:安装vsftpd
查看是否已经安装vsftpd
1 2 3 4 | rpm -qa | grep vsftpd
yum -y install vsftpd
chkconfig vsftpd on
|
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
打开/etc/vsftpd/vsftpd.conf,做如下配置
1 2 3 4 5 6 7 8 9 10 11 12 | anonymous_enable=NO
local_enable=YES
chroot_list_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES
guest_username= ftp
user_config_dir= /etc/vsftpd/vuser_conf
进行认证
chroot_list_file= /etc/vsftpd/vuser_passwd .txt
|
首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。
1 | yum install db4 db4-utils
|
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码
接着,生成虚拟用户认证的db文件
1 | db_load -T -t hash -f /etc/vsftpd/vuser_passwd .txt /etc/vsftpd/vuser_passwd .db
|
随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:
1 2 | auth required pam_userdb.so db= /etc/vsftpd/vuser_passwd
account required pam_userdb.so db= /etc/vsftpd/vuser_passwd
|
最后,创建虚拟用户配置文件
1 2 3 4 5 6 7 8 9 10 | mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test
内容如下
local_root= /ftp/www
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
|
设置Selinux(如果你的selinux是开启的话)
1 2 | setsebool -P ftp_home_dir=1
sersebool -P allow_ftpd_full_access=1
|
设置FTP根目录权限
1 2 3 | mkdir /ftp/www
chmod R 755 /ftp
chmod R 777 /ftp/www
|
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
阅读剩余部分
相关阅读 >>
如何在CentOS下安装apache
CentOS7图形界面进不去怎么办
CentOS下载mysql哪个版本
虚拟机环境下CentOS系统如何上网
CentOS系统普通用户无法登录ssh
如何在CentOS和rhel上安装ruby
ssh无法连接CentOS7怎么办
CentOS怎么装输入法?
分享CentOS基础命令大全
如何使用vagrant搭建CentOS虚拟机
更多相关阅读请进入《CentOS》频道 >>
转载请注明出处:木庄网络博客 » CentOS 下搭建FTP服务器