限制本地用户浏览根目录
/etc/vsftpd/vsftpd.conf
linux的ftp服务之本地访问浏览与虚拟账户

功能:所有用户被锁定到自己的加目录中(修改之前不仅可以在自己家目录,还可以看其他)
编辑限制浏览根目录用户
vim /etc/vsftpd/chroot_list
linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户
添加白名单设置
chroot_local_user=YES ---> 此参数要求去掉自己对加目录的写权限
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径
linux的ftp服务之本地访问浏览与虚拟账户
linux的ftp服务之本地访问浏览与虚拟账户
在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录

linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 未在文件中列出的用户,不能切换到其他目录
添加黑名单设置
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径
linux的ftp服务之本地访问浏览与虚拟账户

linux的ftp服务之本地访问浏览与虚拟账户
在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 未在文件中列出的用户,可以切换到其他目录
.


限制本地用户登录
功能:限制本地用户登录
注 ---> 限制本地用户设置
vim /etc/vsftpd/ftpusers 只默认黑名单设置 ---> 永久用户黑名单
vim /etc/vsftpd/user_list 白黑名单均可设置 ---> 用户临时黑名单
用户黑名单建立

userlist_enable=YES
linux的ftp服务之本地访问浏览与虚拟账户

黑名单设置vim /etc/vsftpd/user_list ---> 用户临时黑名单
linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户
只默认黑名单 vim /etc/vsftpd/ftpusers ---> 永久用户黑名单
linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户
linux的ftp服务之本地访问浏览与虚拟账户
linux的ftp服务之本地访问浏览与虚拟账户
其他用户可登录
linux的ftp服务之本地访问浏览与虚拟账户

用户白名单建立

userlist_enable=YES
userlist_deny=NO ---> 白名单功能建立
linux的ftp服务之本地访问浏览与虚拟账户

用户白名单设定

vim /etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登录ftp
linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户
linux的ftp服务之本地访问浏览与虚拟账户
只有白名单tom可以登录
linux的ftp服务之本地访问浏览与虚拟账户
其他用户都不能登录
linux的ftp服务之本地访问浏览与虚拟账户
.


ftp虚拟用户的设定
(创建虚拟帐号身份)
vim /etc/vsftpd/testfile ---> 文件名称任意
linux的ftp服务之本地访问浏览与虚拟账户
user1
111
user2
222
user3
333
linux的ftp服务之本地访问浏览与虚拟账户

db_load -T -t hash -f /etc/vsftpd/testfile /etc/vsftpd/testfile .db
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 上面的密码是明文的,不安全,要进行加密,T表示transfer,t表示转换方式为hash
查看文件类型
linux的ftp服务之本地访问浏览与虚拟账户

ps aux | grep pam
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 系统里有pam这个进程的
cd /etc/pam.d ---> 查看vsftpd.conf,认证的时候是使用pam认证
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> cd /etc/pam.d,目录里有个vsftpd文件
---> 认证的时候就是在这个文件里做用户名和密码的比对
vim test
linux的ftp服务之本地访问浏览与虚拟账户
account required pam_userdb.so db=/etc/vsftpd/testfile
auth required pam_userdb.so db=/etc/vsftpd/testfile
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> account表示帐号名称,auth表示密码,先后顺序不分
---> required是通过了用户名认证才能进入下一步认证,然后使用pam_userdb.so这个插件来验证
---> db=/etc/vsftpd/testfile 文件后不要写.db,系统会自动加

创建虚拟帐号身份
vim /etc/vsftpd/vsftpd.conf
虚拟帐号认证参考test认证文件
pam_service_name=test
开启虚拟账户功能
guest_enable=YES
linux的ftp服务之本地访问浏览与虚拟账户
虚拟帐号没有身份指定时,登录共享目录
linux的ftp服务之本地访问浏览与虚拟账户
虚拟帐号身份指定
设置家
guest_username=tom
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 默认使用虚拟用户时,登录后在pub目录,要想改变,修改此参数,修改后登录到tom家目录
chmod u-w /home/ftpuser
linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户linux的ftp服务之本地访问浏览与虚拟账户
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER

user_sub_token=$USER
vim /etc/vsftpd/vsftpd.conf
注 ---> $USER是shell里的用法,要让配置文件里支持,必须加这个参数
linux的ftp服务之本地访问浏览与虚拟账户
创建user1,2的家目录
mkdir /ftphome/user1/pub1 -p
mkdir /ftphome/user2/pub2 -p

改目录权限为775,组为ftp
chgrp ftp /ftphome /user1/pub1
linux的ftp服务之本地访问浏览与虚拟账户
chgrp ftp /ftphome /user2/pub2
linux的ftp服务之本地访问浏览与虚拟账户

chmod 775 /ftphome/user1/pub1

linux的ftp服务之本地访问浏览与虚拟账户
chmod 775 /ftphome/user2/pub2
linux的ftp服务之本地访问浏览与虚拟账户
虚拟帐号配置独立
创建配置文件
mkdir -p /etc/vsftpd/userconf
linux的ftp服务之本地访问浏览与虚拟账户
配置文件user1设置
vim /etc/vsftpd/userconf/user1
linux的ftp服务之本地访问浏览与虚拟账户
注 ---> 在此文件中设定配置文件中的所有参数,此文件的优先级高
anon_upload_enable=YES
linux的ftp服务之本地访问浏览与虚拟账户
user1可以上传
linux的ftp服务之本地访问浏览与虚拟账户
user2不行
linux的ftp服务之本地访问浏览与虚拟账户