在Ubuntu中,部署vsftpd只需要一行命令:
sudo apt install vsftpd
之后使用Ubuntu用户就可以登陆ftp了。
但是如果想添加新用户应该怎么办呢?
如果是单纯的添加用户的话,也蛮简单的:
adduser(/useradd←也有这样的版本) [username]
之后使用
passwd [username]
为其更改密码即可。
但是如果不希望这个用户telnet到服务器呢?
我们可以考虑更改用户的权限,禁止用户登陆ssh↓
usermod -s /sbin/nologin [username]
如果希望恢复ssh,可执行↓
usermod -s /bin/bash [username]
如果希望用户只能进入ssh修改密码。
usermod -s /usr/bin/passwd [username]
这样用户登陆后会直接进入密码修改流程
不过呢。。有的时候我们只希望用户可以某个目录,那么该怎么做呢?
我们可以用d参数设置用户的主目录
usermod -d /home/username [username]
- 悄悄的告诉你哦~其实-d和-s都是可以在adduser的时候指定的,酱紫会方便很多~
- 建议同时使用-g ftp参数,将用户归组,便于管理。
- 设定完用户的初始文件夹后,如需对文件夹之下的内容进行权限控制,可用chown和chmod完成。不要忘记chown可以设置为group哦XD
不过,要警惕,有的时候这样子工作并没有结束呢。因为vsftp的禁用可能还没有开启。
修改配置文件/etc/vsftpd/vsftpd.conf(取消前面的#注释即可
chroot_local_user=YES
修改↑这个配置项为YES,可以限制列表中用户只能访问主文件夹。
但是如果需要特殊的全局权限应该怎么办呢?可以开启以下项目:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
如此设置后,只有chroot_list文件中的用户名才具有全局访问权限呢~~~
当然啦,最后不要忘记重启vsftpd服务哦~~否则是生效不了的QAQ
/etc/init.d/vsftpd restart
嘛,下面就可以愉快地玩耍啦~☆
一定要注意/etc/vsftpd.user_list和/etc/vsftpd.chroot_list不会主动创建。记得要自己创建哦。前者要写入允许使用ftp的用户名单。根据设置的不同而不同。
如果遇到问题,log文件默认在/var/log/vsftpd.log。可以根据错误提示解决问题