我想为几个使用vsftpd的ftp用户设置一个ftp.我配置了FTP以启用本地用户访问.它工作正常.但是一旦我将用户的
shell编辑为/usr/sbin / nologin,就无法使用以下错误登录到FTP:
- Response: 220 Welcome to the Scent Library's File Service.
- Command: USER marketftp
- Response: 331 Please specify the password.
- Command: PASS ******
- Response: 530 Login incorrect.
这是我做的:
>所有ftp-only用户都将/ srv / ftp作为其主目录.目录信息是
/ srv / ftp:drwxr-xr-x 3 root slftp 4.0K 2012-02-09 17:20 ftp /
>所有ftp-only用户都将在slftp组中;
我用adduser创建了用户,最后得到了这个/ etc / passwd条目:marketftp:x:1001:1001 :: / srv / ftp:/usr/sbin / nologin
这在/ etc / group中:slftp:x:1001:marketftp
>使用以下命令配置vsftpd以将用户限制在他们自己的家中,但vsftpd.chroot_list中的本地用户除外:
- chroot_local_user=YES
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list
解决方法
取自
here
- A) There are varIoUs possible problems.
- A1) By default,vsftpd disables any logins other than anonymous logins. Put
- local_enable=YES in your /etc/vsftpd.conf to allow local users to log in.
- A2) vsftpd tries to link with PAM. (Run "ldd vsftpd" and look for libpam to
- find out whether this has happened or not). If vsftpd links with PAM,then
- you will need to have a PAM file installed for the vsftpd service. There is
- a sample one for RedHat systems included in the "RedHat" directory - put it
- under /etc/pam.d
- A3) If vsftpd didn't link with PAM,then there are varIoUs possible issues. Is
- the user's shell in /etc/shells? If you have shadowed passwords,does your
- system have a "shadow.h" file in the include path?
- **A4) If you are not using PAM,then vsftpd will do its own check for a valid
- user shell in /etc/shells. You may need to disable this if you use an invalid
- shell to disable logins other than FTP logins. Put check_shell=NO in your
- /etc/vsftpd.conf.**
你是案例A4