vsftpd添加使用者後無法登入解決辦法 Saturday, December 12th, 2009 at 04:38 久酷
之前一直安裝完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當中目錄許可權是相當嚴格的,在使用時大家一定要注意啦!一個小小失誤足以讓你的帳號無法登入!