vsftp
Very Secure FTP Daemon
install
sudo apt install vsftpd
sudo apt install db5.3-util yum install compat-db47
config
- 用户
- 本地用户
- 虚拟用户(需映射到一个本地用户/宿主)
- 匿名用户
- 连接模式
- 主动模式:客户端动态端口,服务器主动连接
- 被动模式:服务器动态端口,客户端主动连接
virtual users
1.创建虚拟用户名
添加虚拟用户名和密码,一行用户名,一行密码
mkdir -p /etc/vsftpd
vi /etc/vsftpd/virtusers
1 | ftp1 |
使用db_load命令生成虚拟用户口令认证文件
1 | db5.3_load -T -t hash -f virtusers virtusers.db |
2.编辑PAM认证文件
/etc/pam.d/vsftpd
顶部插入规则。注释掉原有的规则
1 | auth required pam_userdb.so db=/etc/vsftpd/virtusers |
3.建立本地映射用户并设置宿主目录权限
useradd -d /home/vftpuser -s /sbin/nologin vftpuser
sudo mkdir -p /home/vftpuser/data
sudo chown vftpuser /home/vftpuser/data
sudo chmod 755 /home/vftpuser #调整权限以允许浏览目录,目录归属于root
–sudo chmod 555 /home/vftpuser/data #chroot_local_user为真时要求虚拟根目录不能写权限
4.配置项
vi /etc/vsftpd.conf (ubuntu)
vi /etc/vsftpd/vsftpd.conf (centos)
1 | listen=YES |
5.设置虚拟用户个性配置
mkdir -p /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。
vi ftp1
1 | # 用户 test 配置目录 |
touch /home/vftpuser/vconf/ftp2 #空文件,用户只读
https://www.cnblogs.com/ssrs-wanghao/articles/13751408.html
6.重启服务
service vsftpd restart
systemctl enable vsftpd
systemctl restart vsftpd.service
systemctl start vsftpd.service
systemctl status vsftpd.service