Як визначити, чи користувачеві "дозволено входити в систему" в Linux?


12

Питання просте, я хочу перерахувати всі облікові записи користувачів, які можуть увійти до моєї системи, але я не впевнений, що всі користувачі в / etc / passwd можуть "входити" у користувачі?

Деталі:

Я можу бачити користувачів , чиї оболонки встановлюються /usr/sbin/nologinі /bin/falseв /etc/passwd, це означає , що вони не можуть Ввійти?

Я також знаю, що я можу встановити зашифрований пароль користувача на *або !для того, /etc/shadowщоб вимкнути обліковий запис, тому "користувач з обмеженими можливостями" також повинен трактуватися як користувач "не може увійти", правда?

Відповіді:


13

Багато цього залежить від вашого визначення поняття "увійти" - технічно будь-який користувач, який існує в /etc/passwd& /etc/shadowє "дійсним користувачем" і теоретично міг би увійти при правильному наборі обставин.

Методи, про які ви говорите, підпадають під такі широкі категорії:

  • Користувачі з «заблокований» рахунки
    користувача , чий пароль встановлено *, !або який - або інший хеш , який ніколи не буде матч «блокованої» (в дні Sun угода була часто *LK*, для «Locked»).
    Ці користувачі не можуть увійти , ввівши пароль , але вони все одно можуть увійти за допомогою інших механізмів аутентифікації (наприклад, ключі SSH).

  • Користувачі з "неінтерактивною" оболонкою
    Користувач, у якого в обліковому записі є "неінтерактивна оболонка" ( /bin/false, /sbin/nologin) не може ввійти в систему інтерактивно - тобто вони не можуть отримати підказку оболонки для запуску команд на (це також запобігає SSH виконання команд, якщо користувач має SSH ключі в системі).
    Ці користувачі все ще можуть увійти, щоб зробити такі дії, як читання / надсилання електронної пошти (через POP / IMAP та SMTP AUTH). Встановлення неінтерактивної оболонки для користувачів, яким ніколи не потрібно використовувати оболонку (і для більшості "облікових записів послуг"), як правило, вважається хорошою практикою.

Отже, залежно від ваших критеріїв "вміння увійти", ви можете перевірити один чи обидва ці речі.


6

Існує різниця між відключенням користувача та встановленням оболонки на / bin / false або подібне.

Встановлення оболонки на / bin / false не дозволяє користувачеві отримати оболонку, але вони все одно можуть увійти в систему, якщо локальні користувачі використовуються для чогось іншого (автентифікація пошти, ftp тощо). Відключення користувача унеможливлює його використання будь-яких служб сервера, які використовують місцевих користувачів.


Отже, насправді всі користувачі в / etc / passwd "можуть увійти" у користувачів, але деякі з них відключені (*!), а деякі з них обмежені (/ bin / false)?
harryz

3

На додаток до вищезазначеного, користувачі можуть бути заблоковані із системи, навіть якщо введення пароля виглядає правильним, використовуючи кілька різних методів.

/etc/security/access.conf можна використовувати, щоб обмежити, хто може ввійти.

Існує багато модулів PAM, які можна налаштувати для обмеження конкретних користувачів або змінити поведінку входу на основі потреби. (тобто жоден домашній каталог на сервері забороняє входити в систему.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.