在服务器搭建FTP中出现了用户无法登录的bug,最后发现是设置nologin后没有修改/etc/shells导致的
安装并启动FTP服务
安装vsftpd
启动vsftpd
设置vsftpd开机启动
1
| systemctl enable vsftpd.service
|
配置FTP
匿名访问和切换根目录都会给服务器带来安全风险,我们把这两个功能关闭。
编辑 /etc/vsftpd/vsftpd.conf
1
| vim /etc/vsftpd/vsftpd.conf
|
禁用匿名用户
禁止切换根目录
创建FTP用户
创建用户
设置密码
1
| echo "密码" | passwd 用户名 --stdin
|
限制用户
设置ftp用户不能直接登录服务器
1
| usermod -s /sbin/nologin 用户名
|
编辑 /etc/shells
最后一行添加
为用户分配主目录
为用户 ftpuser 创建主目录
/data/ftp 为主目录, 该目录不可上传文件
/data/ftp/pub 文件只能上传到该目录下
创建登录欢迎文件
1
| echo "Welcome to use FTP service." > /data/ftp/welcome.txt
|
设置访问权限
1
| chmod 777 -R /data/ftp/pub
|
设置为用户的主目录
1
| usermod -d /data/ftp ftpuser
|