作者 主題: 設定shell為/sbin/nologin 卻失效  (閱讀 6650 次)

0 會員 與 1 訪客 正在閱讀本文。

justfor1221

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
    • http://blog.pixnet.net/justfor1221
設定shell為/sbin/nologin 卻失效
« 於: 2008-01-16 03:41 »
請問一下各位前輩唷
書上說
如果要禁止使用者利用telnet或者ssh登入主機
那就要將使用者的shell換成/sbin/nologin
所以我執行了底下步驟

代碼: [選擇]
sudo vim /etc/passwd


代碼: [選擇]
test:x:1020:1020:test,8708,1234567,1234567:/home/test:/bin/bash
改成
代碼: [選擇]
test:x:1020:1020:test,8708,1234567,1234567:/home/test:/sbin/nologin

之後用test帳號透過ssh登入
輸入完密碼就不能登入了
之後測試ftp
卻也不能登入
查了一下log卻顯示

代碼: [選擇]
Jan 07 05:15:40 stu_comd proftpd[19208] stu_comd (192.168.38.44[192.168.38.44]): FTP session opened.
Jan 07 05:15:40 stu_comd proftpd[19208] stu_comd (192.168.38.44[192.168.38.44]): mod_delay/0.5: delaying for 70 usecs
Jan 07 05:15:40 stu_comd proftpd[19208] stu_comd (192.168.38.44[192.168.38.44]): USER test (Login failed): Invalid shell: '/sbin/nologin'
Jan 07 05:15:40 stu_comd proftpd[19208] stu_comd (192.168.38.44[192.168.38.44]): mod_delay/0.5: delaying for 279 usecs
Jan 07 05:15:40 stu_comd proftpd[19208] stu_comd (192.168.38.44[192.168.38.44]): FTP session closed.

請問這是什麼原因呢?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17478
    • 檢視個人資料
    • http://www.study-area.org
回覆: 設定shell為/sbin/nologin 卻失效
« 回覆 #1 於: 2008-01-16 05:05 »
請問 /sbin/nologin 有列在 /etc/shells 裡面嗎?

justfor1221

  • 懷疑的國中生
  • **
  • 文章數: 43
    • 檢視個人資料
    • http://blog.pixnet.net/justfor1221
回覆: 設定shell為/sbin/nologin 卻失效
« 回覆 #2 於: 2008-01-16 05:31 »
請問 /sbin/nologin 有列在 /etc/shells 裡面嗎?
代碼: [選擇]
$ sudo cat /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/bash
/bin/rbash
/bin/dash
/usr/bin/screen

恩...沒有耶
我把它加進去以後就可以了
謝謝netman前輩

不過為什麼預設的時候/etc/shells檔案裡面沒有呢?

creative1223

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
回覆: 設定shell為/sbin/nologin 卻失效
« 回覆 #3 於: 2008-01-28 15:31 »
you can also edit pam.d for your ftp