#限制用户在自己的主目录
hroot_local_user=YES
#你可以指定所有本地用户登陆后的目录
local_root=/var/ftp
####################################################################
sudo useradd --no-create-home -s /sbin/nologin xmn
注-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/var/www/netseek.com
--no-create-home 不设置用户家目录
sudo passwd jokeyjj 这是我设置的密码
sudo chown –R jokeyjj:jokeyjj /jokey/jokeyjj
注:将用户目录及其子目录的所有和所属的组设置为jokeyjj
######################################################################
用户shell为/sbin/nologin,发现无法登陆FTP
vsftpd.conf中有个参数
check_shell=YES|NO (设为NO无效)
vsftpd会检测用户的shell是否登记于/etc/shells文件中
查看了文件发现确实没有/sbin/nologin
手动添加后问题解决了
sudo vim /etc/shells # /etc/shells: valid login shells /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh /usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /sbin/nologin
在最后一行添加 /sbin/nologin 问题解决