Centos 安装配置FTP服务
系统环境:Centos5.9 64bit
一:
安装vsftpd和需要的组件
yum -y install vsftpd db4-utils
二:配置vsftpd.conf文件
A. vi /etc/vsftpd/vsftpd.conf //修改此文件的一下内容
anonymous_enable=YES 改成 anonymous_enable=NO //不允许匿名登录
文件末尾增加:
chroot_local_user=YES
virtual_use_local_privs=YES
#virtual_use_local_privs=NO
user_config_dir=/etc/vsftpd/vsftpd_user_conf
guest_enable=YES
guest_username=root //虚拟用户登陆后在系统中对应用蹩脚的权限
#hide_file={.*}
use_localtime=YES
pasv_min_port=60022
pasv_max_port=60030
B. 设置vsftpd为pam验证
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vi /etc/pam.d/vsftpd //在头部加上一下两行
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注:系统用户登陆将指向默认目录,32位的系统中pam_userdb.so的目录应为/lib/security/pam_userdb.so
三:建立FTP账号登录密码
A.在/etc/vsftpd/目录下,建立帐号簿:
vi virtual_users
一行账号一行密码,如:
test1 //账号
hahahaha //密码
test2 //账号
hehehehe //密码
B.然后设置权限
chmod 600 virtual_users
C.创建用户配制文件目录
mkdir /etc/vsftpd/vsftpd_user_conf
D.生成db4用户验证簿
db_load -T -t hash -f ./virtual_users /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
E.指定用户目录(vsftpd_user_conf每个用户指定一个配制文件)
echo ‘local_root=/data/www’ > vsftpd_user_conf/test1 #限制用test1的目录为/data/www
四:重启vsftpd
/etc/init.d/vsftpd restart
五.限止访问IP
在 /etc/rc.local 后面添加两行
iptables -A INPUT -s 10.10.10.0/255.255.255.0 -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0.0.0.0 -p tcp –dport 21 -j REJECT
刷新使之生效
iptables -F;sh /etc/rc.local
六.其它备注 (可做可不做)
为VSFTP加入登陆欢迎话语
修改:dirmessage_enable=YES
在在显示欢迎信息的目录里添加.message文件,里面填写具体信息
虚拟用户单一配制文件参数参考:
anon_world_readable_only=NO 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES 表示用户可以上传文件
anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权限
anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限
没有的配置项默认按照vsftpd.conf的配置内容