新建一个 认证数据库文件
vim /etc/vsftpd/vuser.list
内容如下
zhangsan
redhat
lisi
redhat
root # db_load -T -t hash -f vuser.list vuser.db 将文件加密hash 生成vuser.db
root # file vuser.db 查看文件
root #chmod 600 vuser.db 将文件设置 成 只有文件所有者能读写,其他人不行
root #rm -f vuser.list 删除原始文件
新建 一个用户 用于 ftp虚拟用户使用
useradd -d /var/ftproot -s /sbin/nologin virtual
添加用户-d home目录指定 -s 不能登陆 用户名
[root@chaoren ~]# ls -ld /var/ftproot/
drwx------. 3 virtual virtual 74 Jul 14 17:50 /var/ftproot/
[root@chaoren ~]# chmod -R 755 /var/ftproot/
增加所属组 WX 权限,增加他人的wx权限
rwx
421
------------------------------------------------------------------------
建立PAM文件
vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
-------------------------------------------------------------------------
修改vsftpd 配置文件
grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@chaoren ~]# vim /etc/vsftpd/vsftpd.conf
1 anonymous_enable=NO
2 local_enable=YES
3 guest_enable=YES #!!
4 guest_username=virtual #!!
5 allow_writeable_chroot=YES #!!!
6 write_enable=YES
7 local_umask=022
8 dirmessage_enable=YES
9 xferlog_enable=YES
10 connect_from_port_20=YES
11 xferlog_std_format=YES
12 listen=NO
13 listen_ipv6=YES
14 pam_service_name=vsftpd.vu #!!
15 userlist_enable=YES
16 tcp_wrappers=YES
anonymous_enable=NO 禁止匿名开放模式
local_enable=YES 允许本地用户模式
guest_enable=YES 开启虚拟用户模式
guest_username=virtual 指定虚拟用户账户
pam_service_name=vsftpd.vu 指定PAM文件
allow_writeable_chroot=YES 允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求
[root@chaoren ~]# mkdir /etc/vsftpd/vusers_dir/ 新建dir
[root@chaoren ~]# cd /etc/vsftpd/vusers_dir/
[root@chaoren vusers_dir]# touch lisi
创建userid 权限(空)
[root@chaoren vusers_dir]# vim zhangsan 创建userid文件并编辑如下权限内容
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir #!!!!!!!!#
systemctl restart vsftpd重启服务
systemctl enable vsftpd添加开机启动 (好习惯
# getsebool -a | grep ftp
ftp_home_dir –> off
ftpd_anon_write –> off
ftpd_connect_all_unreserved –> off
ftpd_connect_db –> off
ftpd_full_access –> off
ftpd_use_cifs –> off
ftpd_use_fusefs –> off
ftpd_use_nfs –> off
ftpd_use_passive_mode –> off
httpd_can_connect_ftp –> off
httpd_enable_ftp_server –> off
sftpd_anon_write –> off
sftpd_enable_homedirs –> off
sftpd_full_access –> off
sftpd_write_ssh_home –> off
tftp_anon_write –> off
tftp_home_dir –> off
# setsebool -P ftpd_full_access=on
配置完成, id zhangsan 与 id lisi 权限不同 符合设置
但是 如果再新建用户怎么办呢? db文件已经加密了 不知道怎么修改
本实验出自 linuxprobe 网站教程
本人小白,笔记共享 ,有问题请指出,
三人行必有我师