ftp 创建用户并限制访问目录
ftp 创建用户并限制访问目录
安装vsftp服务
有外网:
yum install -y vsftp
内网请参考之前的文章:通过yum获取rpm离线安装包
开启服务并设置自启:
systemctl restart vsftpd && systemctl enable vsftpd
创建用户
命令:
useradd -d /home/ftpuser -s /sbin/nologin ftpuser
# -d 指定用户根目录
# -s 用户登录方式,nologin禁用ssh,使用ftp登录
# 设置密码
passwd ftpuser
注意:需要检查/etc/shells
是否有/sbin/nologin
否则会登陆失败
vim /etc/shells
#这里贴上添加后的内容
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh
/sbin/nologin
配置vsftp.conf
修改配置:
# 禁止匿名登录
anonymous_enable=NO
# 设置本地所有帐户都只能在自家目录
chroot_local_user=YES
# 使用chroot方式配置权限,将其设置成只能指定用户执行chroot
chroot_list_enable=YES
# 指定chroot文件的位置, 文件中的用户不受限制。
chroot_list_file=/etc/vsftpd/chroot_list
# 允许用户写入非用户目录
allow_writeable_chroot=YES
创建/etc/vsftpd/chroot_list
文件,否则ftp登陆可能出错
touch /etc/vsftpd/chroot_list
其它三种配置文件说明:
1./etc/vsftpd/chroot_list
,用于排除只能访问用户主目录权限
2./etc/vsftpd/ftpusers
,不允许通过ftp登录的用户
3./etc/vsftpd/user_list
,vsftpd用户列表,如果userlist_deny=NO,只允许这个文件中的用户,如果userlist_deny=YES(默认),则不允许用户在此文件中使用甚至不提示输入密码
配置完成systemctl restart vsftpd
重启服务后,即可测试连接