/etc/securetty 中條目的影響
預設情況下,在 RHEL 5.5 上我有
[deuberger@saleen trunk]$ sudo cat /etc/securetty console vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 vc/7 vc/8 vc/9 vc/10 vc/11 tty1 tty2 tty3 tty4 tty5 tty6 tty7 tty8 tty9 tty10 tty11
console
每個條目類型( 、vc/*
和)之間有什麼區別tty*
?具體來說,添加和刪除每個條目類型的最終結果是什麼?我的理解是它們會影響您登錄的方式和時間,但還有其他影響嗎?什麼時候可以登錄,什麼時候不可以登錄,這取決於那裡有哪些條目?
編輯 1
我所知道的是,這
tty1-6
與您是否可以從使用Ctrl
-Alt
-F1
throughCtrl
-Alt
-到達的前 6 個控制台登錄相對應F6
。我一直以為那些是虛擬控制台,所以我有點困惑。console
對應的是什麼?謝謝。
編輯 2
如果有的話,在單使用者模式下會有什麼影響?
/etc/securetty
由pam_securetty
模組查詢以決定允許從哪些虛擬終端(tty*
)登錄。root
過去,
/etc/securetty
由程序login
直接諮詢,但現在 PAM 處理。因此,更改/etc/securetty
將影響使用 PAM 和使用pam_securetty.so
. 因此,login
預設情況下只有程序受到影響。
/etc/pam.d/login
用於本地登錄並/etc/pam.d/remote
用於遠端登錄(如 telnet)。主要條目類型及其影響如下:
- 如果
/etc/securetty
不存在,root
則允許從任何登錄tty
- 如果
/etc/securetty
存在且為空,則訪問root
將被限制為單使用者模式或不受pam_securetty
(即,,,,,)su
限制sudo
的程序ssh``scp``sftp
- 如果您正在使用
devfs
(不推薦使用的用於處理的文件系統/dev
),添加表單條目vc/[0-9]*
將允許從給定的虛擬控制台編號進行 root 登錄。- 如果您正在使用
udev
(用於動態設備管理和替換devfs
),添加表單條目tty[0-9]*
將允許從給定的虛擬控制台編號進行 root 登錄。- 因為指向目前控制台,所以在一般情況下列名沒有任何作用,
console
並且通常只用作單使用者模式下的文件名,不受/etc/securetty``/dev/console``tty``/etc/securetty
- 添加類似的條目
pts/[0-9]*
將允許使用偽終端(pty
)的程序並假設已分配是列出的其中之一登錄pam_securetty
;通常最好不要包含這些條目,因為這會帶來安全風險;例如,它將允許某人通過 telnet 登錄到 root,後者以明文形式發送密碼(請注意,這是 RHEL 5.5 中使用的格式;如果使用或其他某種形式的設備管理會有所不同)。root``pty``pts/[0-9]*``udev``devfs
對於單使用者模式,
/etc/securetty
不諮詢,因為sulogin
使用 代替login
(有關更多資訊,請參閱sulogin
手冊頁)。您還可以更改/etc/inittab
用於每個執行級別的登錄程序。
/etc/securetty
請注意,您不應root
使用ssh
. 為此,請更改PermitRootLogin
in的值/etc/ssh/sshd_config
。預設情況下/etc/pam.d/sshd
未配置為諮詢pam_securetty
(因此/etc/securetty
)。您可以添加一條線來執行此操作,但直到舞台之後的某個時間ssh
才設置實際值,因此它無法按預期工作。在和階段 - 至少對於- ( ) 被硬編碼為.tty``auth``auth``account``openssh``tty``PAM_TTY``ssh
以上答案基於 RHEL 5.5。其中大部分將與其他 *nix 系統的目前發行版有關,但存在差異,其中一些我注意到了,但不是全部。
我自己回答了這個問題,因為其他答案不完整和/或不准確。許多其他線上論壇、部落格等在此主題中也有不准確和不完整的資訊,因此我進行了廣泛的研究和測試以嘗試獲得正確的詳細資訊。如果我說的有什麼不對,請儘管告訴我。
資料來源:
- http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-sec-network.html#s1-wstation-privileges
- http://www.mathematik.uni-marburg.de/local-doc/centos5/pam-0.99.6.2/html/sag-pam_securetty.html
- http://linux.die.net/man/1/login
- http://www.tldp.org/HOWTO/html_single/Text-Terminal-HOWTO/
- http://www.kernel.org/doc/Documentation/devices.txt
- http://en.wikipedia.org/wiki/Virtual_console
- http://en.wikipedia.org/wiki/Linux_console
- http://www.kernel.org/doc/man-pages/online/pages/man4/console.4.html
- http://www.unix.com/security/8527-restricting-root-login.html
- http://www.redhat.com/mirrors/LDP/HOWTO/Serial-HOWTO-11.html#ss11.3
- http://www.mathematik.uni-marburg.de/local-doc/centos5/udev-095/udev_vs_devfs