(1 )安装 vsftpd
# yum install -y vsftpd db4-utils
这里安装两个软件包,同时会把依赖的包安装上。其中 db4-utils 用来生成密码库文件。
(2 )建立账号
vsftpd 默认是可以支持使用系统账号体系登录的,但那样不太安全,所以建议参考
下面的方法使用虚拟账号体系。
建立虚拟账号相关联的系统账号
# useradd virftp -s /sbin/nologin
建立虚拟账户相关的文件
# vim /etc/vsftpd/vsftpd_login //内容如下:
test1
123456
test2
abcdef
更改该文件的权限,提升安全级别
#chmod 600 /etc/vsftpd/vsftpd_login
vsfptd 使用的密码文件肯定不是明文的,需要生成对应的库文件
# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
建立虚拟账号相关的目录以及配置文件
# mkdir /etc/vsftpd/vsftpd_user_conf
# cd /etc/vsftpd/vsftpd_user_conf
(3 )创建和用户对应的配置文件
# vim test1 //内容如下:
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
说明:
local_root 为该账号的家目录,anonymous_enable 用来限制是否允许匿名账号登陆,若为 NO 表示不允许匿名账号登陆,write_enable=YES 表示可写,local_umask 指定 umask值。
anon_upload_enable 是否允许匿名账号上传文件,anon_mkdir_write_enable 是否允许匿名账
号可写。以上为关键配置参数。创建 test2 账号的步骤和 test1 一样。
# mkdir /home/virftp/test1
# chown -R virftp:virftp /home/virftp
# vim /etc/pam.d/vsftpd //在最开头添加两行
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
说明:我的 Linux 为 32 位系统,所以库文件路径为/lib/security/pam_userdb.so,若你的
系统为 64,那你的库文件是在/lib64/security/pam_userdb.so。
(4 )修改全局配置文件/etc/vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 改为 anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加:
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
最后启动 vsftpd 服务
# /etc/init.d/vsftpd start
本文出自 “linux运维” 博客,请务必保留此出处http://zhumy.blog.51cto.com/11647651/1795418
原文地址:http://zhumy.blog.51cto.com/11647651/1795418