Linux-vsftp
更多参考:
https://blog.csdn.net/weixin_42193489/article/details/94181973?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
搭建
yum install vsftpd -y
默认配置文件位置: /etc/vsftpd/vsftpd.conf
sed -i 's/^anonymous_enable=.*/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf
echo "userlist_deny=NO" >> /etc/vsftpd/vsftpd.conf
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
echo "123456" |passwd --stdin ftpuser
echo "ftpuser" >> /etc/vsftpd/user_list
sed -i 's/^#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "pasv_min_port=10000" >> /etc/vsftpd/vsftpd.conf
echo "pasv_max_port=10010" >> /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
firewall-cmd --add-port=10000-10010/tcp add-port=21/tcp --permanent
systemctl restart firewalld
分析:
关闭匿名登陆
只有
user_list
文件内的用户可以登陆添加
ftp
用户给
ftpuser
这个用户添加一个密码在
user_list
文件里面添加上ftpuser
这个用户将
ftpuser
用户禁锢在自己的家目录允许FTP用户拥有写的权限
开启被动端口范围 10000~10010
重新启动vsftpd
操作: 默认只能登录到 ftpuser
用户的家目录
[root@localhost vsftpd]# ftp -n
ftp> open 192.168.1.41 21
Connected to 192.168.1.41 (192.168.1.41).
220 (vsFTPd 3.0.2)
ftp> user ftpuser 123456
331 Please specify the password.
230 Login successful.
ftp> ls
227 Entering Passive Mode (192,168,1,41,138,128).
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 0 Jan 01 08:25 a.txt
226 Directory send OK.
ftp> bye
221 Goodbye.
[root@localhost vsftpd]#
只能用FTP登陆,不允许Telnet远程登陆
usermod -s /sbin/nologin ftpuser (限制用户ftpuser只可以ftp)
usermod -s /sbin/bash ftpuser (如果需要,解除限制)
usermod -d /home/www/ ftpuser (更改用户ftpuser的主目录为www) chown ftpuser:ftpuser /home/www
Last updated