vsftp新增用户

前一篇文章写了Centos的vsftpd安装《CentOS7安装vsftpd并配置pasv访问模式》,服务器安装后,为了安全起见,应该配置宿主用户给其他人使用,配置步骤如下:
一、vsftpd配置
1.因为vsftpd默认的宿主用户是root,不符合安全性要求,所以将新建立的vsftpd服务的宿主用户的shell改为“ /sbin/nologin意思是禁止登录系统 ”:useradd vsftpd -s /sbin/nologin
2.建立vsftpd虚拟宿主用户:useradd virtusers -s /sbin/nologin
3.调整vsftpd的配置文件,先备份,后加一下配置
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#启用虚拟用户功能
guest_enable=YES
#指定虚拟的宿主用户
guest_username=virtusers
#设定虚拟用户的权限符合他们的宿主用户
virtual_use_local_privs=YES
#设定虚拟用户个人vsftp的配置文件存放路劲。这个被指定的目录里,将被存放每个虚拟用户个性的配置文件,注意的地方是:配置文件名必须
和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf
#禁止反向域名解析,若是没有添加这个参数可能会出现用户登陆较慢,或则客户链接不上ftp的现象
reverse_lookup_enable=NO

4.建立vsftpd的日志文件,并更改属主为vsftpd的服务宿主用户
touch /var/log/vsftpd.log
chown vsftpd.vsftpd /var/log/vsftpd.log
二、配置虚拟用户
1.建立虚拟用户配置文件的存放路径
mkdir /usr/local/ftp
2.建立一个虚拟用户名单文件,用来记录虚拟用户的账号和密码,格式为:一行用户名,一行密码。
vi /usr/local/vsftp/passwd
内容如下,建立test和ceshi两个用户

test
123456
ceshi
654321

3.生成虚拟用户数据文件(需要注意的是,以后对虚拟用户的增删操作完之后需要再次执行上述命令,使其生成新的数据文件。)
db_load -T -t hash -f /usr/local/vsftp/passwd /usr/local/vsftp/passwd.db
三、设置PAM验证文件,并制定虚拟用户数据库文件进行读取
先备份/etc/pam.d/vsftp文件 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
在第三行加入以下内容

auth    sufficient      /lib64/security/pam_userdb.so     db=/usr/local/vsftp/passwd
account sufficient      /lib64/security/pam_userdb.so     db=/usr/local/vsftp/passwd

四、虚拟用户的配置
1.定制虚拟用户模板配置文件(虚拟用户的配置文件名需要和虚拟用户一致,因为在登录ftp时输入相应的用户名之后会根据名称去加载相应的配置文件)
vim /etc/vsftpd/vconf/test
内容如下:

#指定虚拟用户仓库的具路径
local_root=/usr/local/ftp
#设定不允许匿名访问
anonymous_enable=NO
#允许写的操作
write_enable=YES
#上传文件的权限掩码
local_umask=022
#不允许匿名上传
anon_upload_enable=NO
#不允许匿名用户建立目录
anon_mkdir_write_enable=NO
#设定空闲链接超时时间
idle_session_timeout=300
#设定单次传输最大时间
data_connection_timeout=1000
#设定并发客户端的访问数量
max_clients=3
#设定客户端的最大线程数
max_per_ip=3
#设定用户的最大传输速率,单位b/s
local_max_rate=10000

2.建立虚拟用户的仓库目录并更改相应属主/组且赋予相应权限
mkdir -p /usr/local/ftp
chown virtusers:virtusers /usr/local/ftp
chmod 755 /usr/local/ftp
五、设置虚拟用户只允许访问制定路径
1.修改vsftp配置文件
将etc/vsftpd/vsftpd.conf文件的chroot_local_enable=YES注释去掉
添加allow_writeable_chroot=YES
在文件末位添加local_root=/usr/local/ftp
2.ftp文档的写权限去掉
chmod 755 /usr/local/ftp
3.在vsftp配置文件同路径下,新建vsftpd.chroot_list文件,并在vsftpd.chroot_list添加用户,一个用户一行
六、重启服务
service restart vsftpd

你可能感兴趣的:(Linux)