虚拟用户,区别于本地用户,只适用于FTP的用户
可以更加细化操作
1.关防火墙
2.装包
3.改配置文件,但是最好先备份
备份:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
输入下面内容
***********************************
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd 让他来验证
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd/vuser_conf
allow_writeable_chroot=YES
pasv_enable=yes
pasv_max_port=10250
pasv_min_port=10240
user _config_dir = /etc/vsftpd/vuser_conf //指定虚拟用户权限目录
*******************************
创建虚拟用户权限目录
mkdir -pv /etc/vsftpd/vuser_conf
创建每个用户的宿主目录
mkdir -pv /etc/vsftpd/vuser_conf
mkdir -pv /data/ftp/admin
mkdir -pv /data/ftp/wlb
chown -R ftp.ftp /data/ftp
chmod -R o-rx /data/ftp
应该映射成本地用户才可以,在配置文件中已经安排好了,那个guest就是
虚拟用户需要文件来保存用户的信息
创建一个用户密码文件 /etc/vsftpd/vuser_passwd.txt
vim /etc/vsftpd/vuser_passwd
写的内容,奇数行用户名,偶数行用密码,
*******************
admin
123
wlb
123
*******************
写好了之后,应该将这个文件转换为数据库文件,才可以作为验证用户所使用
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
再给他改个权限
chmod 600 /etc/vsftpd/vuser_passwd*
认证文件改一下,写明认证时应该找我们的文件进行认证
vim /etc/pam.d/vsftpd
最后加两行,先将前面都注释掉。
加两行
auth required /lib64/security/pam_userdb.so db = /etc/vsftpd/vuser_passwd
找这个程序验证 照这个文件验证
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
给admin设置权限
vim /etc/vsftpd/vuser_conf/admin
沾下面的(后面的注释不能要)
***************************************************
local_root=/data/ftp/admin # 虚拟用户根目录,根据实际情况修改 (需手动创建)
anon_umask=022 # 虚拟用户文件权限,新建目录 权限 777-022=755,新建文件权限 666-022=644
write_enable=YES # 可写
anon_world_readable_only=NO # 显示文件目录
anon_upload_enable=YES # 上传
anon_mkdir_write_enable=YES # 新建文件、目录
anon_other_write_enable=YES # 修改、重命名
download_enable=YES # 下载
****************************************************
另外一个wlb的权限
vim /etc/vsftpd/vuser_conf/wlb
*********************************************************************************
local_root=/data/ftp/wlb # 虚拟用户根目录,根据实际情况修改(需手动创建)
anon_umask=022 # 虚拟用户文件权限,新建目录 权限 777-022=755,新建文件权限 666-022=644
write_enable=YES # 可写
anon_world_readable_only=NO # 显示文件目录
anon_upload_enable=YES # 上传
anon_mkdir_write_enable=YES # 新建文件、目录
anon_other_write_enable=YES # 修改、重命名
download_enable=YES # 下载
*********************************************************************************
重启一下systemctl restart vsftpd
开始测试
用xfs,登录wlb和admin
如果还想添加用户的话
改动db
先改 vim /etc/vsftpd/vuser_passwd.txt
再生成一次 db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
再创建一个张三的目录和张三的配置文件
创建目录再改变属主属组
mkdir -p /data/ftp/zhangsan
chown ftp.ftp /data/ftp/zhangsan/
chmod o-rx /data/ftp/zhangsan
就可以了
文件得到选项
grep -v ^# /etc/vsftpd/vsftpd.conf | grep -v ^$ > 一个文件
原文:https://www.cnblogs.com/gzyx/p/14280142.html