/etc/securettyпроводиться консультація модулем pam_securetty, щоб визначити, з якого коріння віртуальних терміналів (ttyS) дозволено входити в систему. Раніше /etc/securettyз такими програмами, як увійти в систему , зверталися безпосередньо, але зараз PAM це вирішує. Тож зміни /etc/securettyвпливатимуть на будь-яке використання PAM з файлом конфігурації, в якому використовується pam_securetty.so. Отже, за замовчуванням впливає лише програма входу. /etc/pam.d/loginвикористовується для локальних входів і /etc/pam.d/remoteвикористовується для віддалених входів (наприклад, telnet).
Основні типи запису та їх афекти такі:
- Якщо
/etc/securettyйого не існує, root може входити з будь-якого tty
- Якщо
/etc/securettyіснує і порожньо, доступ до кореневих файлів буде обмежений режимом одиночного користувача або програмами, які не обмежені pam_securetty (тобто su, sudo, ssh, scp, sftp)
- якщо ви використовуєте devfs (застарілу файлову систему для обробки / dev), додавання записів форми vc / [0-9] * дозволить увійти в систему з вказаного номера віртуальної консолі
- якщо ви використовуєте udev (для динамічного керування пристроєм та заміни devfs), додавання записів форми tty [0-9] * дозволить кореневий вхід із заданого номера віртуальної консолі
- Перерахування консолі в безпеці, як правило, не має ефекту, оскільки / dev / console вказує на поточну консоль, і зазвичай використовується лише як ім'я файлу tty в режимі одиночного користувача, на що не впливає
/etc/securetty
- додавання записів, таких як pts / [0-9] *, дозволить програмам, які використовують псевдотермінали (pty) та pam_securetty, входити в корінь, припускаючи, що виділений pty є одним із перелічених; зазвичай не рекомендується включати ці записи, оскільки це ризик для безпеки; це дозволило б, наприклад, комусь увійти в root через теленет, який надсилає паролі в простому тексті (зауважте, що pts / [0-9] * - це формат для udev, який використовується в RHEL 5.5; він буде іншим, якщо використовувати devfs або іншої форми управління пристроєм)
У режимі одиночного користувача /etc/securettyне проводиться консультація, оскільки замість входу використовується сулогін. Для отримання додаткової інформації дивіться сторінку чоловіка із сулогіном. Також ви можете змінити програму входу, що використовується /etc/inittabдля кожного рівня запуску.
Зауважте, що вам не слід використовувати /etc/securettyдля керування кореневими логінами через ssh. Для цього змініть значення PermitRootLogin в /etc/ssh/sshd_config. За замовчуванням /etc/pam.d/sshdне налаштовано для консультування з пам’яткою (та, отже /etc/securetty). Ви можете додати рядок, щоб це зробити, але ssh не встановлює фактичну tty лише десь після етапу auth, тому він не працює, як очікувалося. Під час етапів auth та account - принаймні для openssh - tty (PAM_TTY) важко кодується до "ssh".
Вищенаведена відповідь ґрунтується на RHEL 5.5. Значна частина цього стосуватиметься поточних розподілів інших * nix систем, але є відмінності, деякі з яких я зазначив, але не всі.
Я відповів на це сам, оскільки інші відповіді були неповними та / або неточними. Багато інших форумів, блогів тощо в Інтернеті також мають неточну та неповну інформацію в цій темі, тому я провів широкі дослідження та тестування, щоб спробувати отримати правильні деталі. Якщо все, що я сказав, не так, будь ласка, повідомте мене.
Джерела: