CentOS 6.3允许FTP用户登录并禁止Shell登录的方法
时间:2016-05-07 21:43 来源:blog.csdn.net 作者:IT
CentOS 6.3允许FTP用户登录并禁止Shell登录的方法
最近安装了vsftpd做FTP服务,发现系统用户的登录shell设置为/sbin/nologin,就无法使用FTP服务。网上资料说,vsftpd会为每个FTP登录用户去在/etc/shells中检查对应的登录shell,因此需要增加一行/sbin/nologin。但是我/etc/shells文件明明有/sbin/nologin。
-
[root@localhost ~]# vsftpd -v
-
vsftpd: version 2.2.2
-
[root@localhost ~]# cat /etc/shells
-
/bin/sh
-
/bin/bash
-
/sbin/nologin
-
/bin/tcsh
-
/bin/csh
但是用户设置/sbin/nologin后,就登录不了,报错如下
-
500 OOPS: cannot change directory:/home/xxx
-
500 OOPS: priv_sock_get_cmd
-
远程主机关闭连接。
于是看看vsftpd产生的ftp用户的配置,也是/sbin/nologin,为什么他能登录呢?(我允许匿名用户登录),如下
-
[root@localhost ~]# cat /etc/passwd | grep ftp
-
ftp:x:14:50:FTP User:/var/ftp/pub/:/sbin/nologin
发现唯一区别就是指定的主目录不一样,于是我把该用户的主目录/home/xxx换成/var/ftp/pub/,果然可以成功登录了!
(责任编辑:IT)
CentOS 6.3允许FTP用户登录并禁止Shell登录的方法
最近安装了vsftpd做FTP服务,发现系统用户的登录shell设置为/sbin/nologin,就无法使用FTP服务。网上资料说,vsftpd会为每个FTP登录用户去在/etc/shells中检查对应的登录shell,因此需要增加一行/sbin/nologin。但是我/etc/shells文件明明有/sbin/nologin。
但是用户设置/sbin/nologin后,就登录不了,报错如下
于是看看vsftpd产生的ftp用户的配置,也是/sbin/nologin,为什么他能登录呢?(我允许匿名用户登录),如下
发现唯一区别就是指定的主目录不一样,于是我把该用户的主目录/home/xxx换成/var/ftp/pub/,果然可以成功登录了! (责任编辑:IT) |