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的配置内容