vsftpd添加用户后无法登录解决办法

来源:互联网 发布:javascript的设计模式 编辑:程序博客网 时间:2024/06/05 03:48

vsftpd添加用户后无法登录解决办法

之前一直安装完vsftpd 之后一直只用一个帐号登录!今天晚上跟小狼同学谈论之中我自己也试了下,结果出现成功添加用户但无法登录的情况!如下:

[右] 正在连接到 linode-test -> IP=69.164.198.23 PORT=21[右] 已连接到 linode-test[右] 220 Welcome to "jiucool.com" FTP service.[右] USER jiucool[右] 331 Please specify the password.[右] PASS (隐藏)[右] 500 OOPS: cannot change directory:/home/jiucool/user0[右] 连接失败

网上得到解决办法是:

在终端输入命令:setsebool ftpd_disable_trans 1service vsftpd restart

其实这样并不能解决我所遇到的问题!

我添加用户方法如下:

#mkdir /home/jiucool/user0#useradd -d /home/jiucool/user0 jiucool(添加用户jiucool至家目录/home/jiucool/user0,开放SSH权限)#passwd jiucool

然后登录 FTP是上不去的!为啥呢,我找了下原因,发现是这样的,由于执行上面命令时我是用的root帐户,所以创建的目录所有者是root 所有组也是root ,并且默认权限为700,这样你新添加的用户肯定是登录不上FTP的啦!

如何解决呢?

你只要将user0目录 所有者及所有组修改为你添加的用户即可!就这么简单!


就可以登录了,网上查了/bin/false和/sbin/nologin的差别,发现如果想要用false在禁止login的同时允许ftp,则必须在/etc/shells里增加一行/bin/false,
[root@nginx conf]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh



在linux当中目录权限是相当严格的,在使用时大家一定要注意啦!一个小小失误足以让你的帐号无法登录!