Security

/etc/securetty 中條目的影響

  • February 9, 2021

預設情況下,在 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- F1through Ctrl- Alt-到達的前 6 個控制台登錄相對應F6。我一直以為那些是虛擬控制台,所以我有點困惑。console對應的是什麼?

謝謝。

編輯 2

如果有的話,在單使用者模式下會有什麼影響?

/etc/securettypam_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. 為此,請更改PermitRootLoginin的值/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 系統的目前發行版有關,但存在差異,其中一些我注意到了,但不是全部。

我自己回答了這個問題,因為其他答案不完整和/或不准確。許多其他線上論壇、部落格等在此主題中也有不准確和不完整的資訊,因此我進行了廣泛的研究和測試以嘗試獲得正確的詳細資訊。如果我說的有什麼不對,請儘管告訴我。

資料來源:

引用自:https://unix.stackexchange.com/questions/41840