欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vsftp新增用户

程序员文章站 2022-07-14 20:09:07
...

前一篇文章写了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

五、重启服务
service restart vsftpd