有需求要求ftp和sftp的传输都指定到同一目录下并限制用户,能找到许多两者分开配置的资料。但没有同时配置的,特此记录此文。
关于ftp的配置,可参考
对于要同时实现ftp和sftp,需注意:
1、只需创建一个用户即可。因为sftp指定的目录要求所有者必须为root用户,所在不需要加-d /home/ftp_test参数。经过本人亲测,在创建用户时,限制该用户登录会导致ftp无法登录(原因未去深究,可能时配置存在些冲突导致),所以也不要加-s /sbin/nologin参数。
2、ftp白名单即user_list文件,本人设置后并不能生效,反而会导致无法登录。参照user_list中的注释修改后也无效,猜测可能是因为userlist_deny参数和userlist_enable存在冲突。
3、ftp黑名单可以使用。在ftpuser文件中,添加不允许登录的用户名即可。
关于具体设置,参照以上两文,总结如下:
创建用户:
useradd ftp_user ## 创建用户
passwd ftp_user ## 添加密码,按提示完成即可
...
ftp的设置更改:vsftp.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ftpd_banner=Successful login to ftp_test.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
#listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/ftp_test
anon_root=/home/ftp_test
# use_localtime=YES
pasv_min_port=61001
pasv_max_port=62000
pasv_enable=YES
————————————————
版权声明:本文为CSDN博主「贰玥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Darling_qi/article/details/120491829
sftp的设置更改:
# Subsystem sftp /usr/libexec/openssh/sftp-server #注释掉此行并添加一下行
Subsystem sftp internal-sftp
Match User dayi123 #此处设置控制的用户,也可以设置为组
ChrootDirectory /home/dayi123 #允许用户访问的目录,此处我们设置为用户家目录
最后,感谢两位博主提供的相关设置教程。