工作中,我们经常会需要用到ftp服务,如何一步步的搭建一个多用户、安全稳定的ftp服务?这对于有经验的运维人员来说是个简单的问题,但是对于那些不经常做此类事情的人来说,可能会遇到一些困难。当然网上关于搭建ftp服务的教程很多,这里只是作者个人的经验小结,以便在下次遇到此类需求的时候能清晰快速的把ftp服务搭建好。以下是详细流程:
1.安装vsftp与db4-utils
#yum install vsftpd db4-utils
2.创建虚拟用户文件ftpuser,可以根据需要自行添加多个用户,格式如下
#vim /etc/vsftpd/ftpuser
admin
passw0rd
itadmin
passw0rd
3.创建虚拟用户账号密码数据库vsftpd_login.db,设置权限为600
#db_load -T -t hash -f
/etc/vsftpd/ftpuser /etc/vsftpd/vsftpd_login.db
#chmod 600
/etc/vsftpd/vsftpd_login.db
4.备份后清空PAM文件vsftpd,加入下列参数
#vim /etc/pam.d/vsftpd
auth required pam_userdb.so
db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so
db=/etc/vsftpd/vsftpd_login
5.创建本地用户virtuser,设置禁止登录、主目录及读写执行权限
#useradd -d /var/ftp/ -s /sbin/nologin
virtuser
#chmod 777 /var/ftp/
#chown -R virtuser:virtuser
/var/ftp/
6.修改vsftp配置文件,设置一下参数
#vim /etc/vsftpd/vsftpd.conf
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
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtuser
user_config_dir=/etc/vsftpd/vsftpd_user_conf
7.配置admin管理员账户文件,使其管理admin目录下的其他用户目录
#vim
/etc/vsftpd/vsftpd_user_conf/admin
local_root=/var/ftp/admin/
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
8.配置itadmin普通用户文件,不可以更改同级用户目录
#vim
/etc/vsftpd/vsftpd_user_conf/itadmin
local_root=/var/ftp/admin/itadmin/
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
9.创建用户目录,设置普通用户在管理员用户目录下
#mkdir -p /var/ftp/virtuser/admin
#mkdir -p
/var/ftp/virtuser/admin/itadmin
10.vsftp服务启动、开机启动
#service vsftpd start
#chkconfig --level 345 vsftpd on