Сотрудник уходит в отпуск или передаёт дела. Входить под его записью нельзя, а данные и запущенные программы должны остаться — удалять запись рано.
Вход закрывают несколькими настройками, и каждая отвечает за своё. Две из них меняет usermod:
| Команда | Что закрывает |
|---|---|
sudo passwd -l имя |
вход по паролю: перед паролем в /etc/shadow встаёт !, сам пароль сохраняется |
sudo usermod --expiredate 1970-01-02 имя |
всю запись: срок её действия истёк, вход не пройдёт ни с паролем, ни с ключом |
sudo usermod -s /usr/sbin/nologin имя |
оболочку: вместо неё запустится nologin |
passwd -u снимает ! и возвращает прежний пароль. Срок записи показывает строка Account expires в sudo chage -l имя, а снимает его sudo usermod --expiredate '' имя. Дату 1970-01-01 не бери: день 0 одни программы считают сроком, другие — его отсутствием.
Вход по SSH-ключу пароля не спрашивает. Ключи, с которыми пускают пользователя, перечислены в его файле authorized_keys — ~/.ssh/authorized_keys, и блокировка пароля их не касается. Уже запущенные процессы записи тоже работают дальше: все эти настройки проверяются в момент входа. Процессы покажет ps -u имя.
Сотрудник dev уходит. Входить под его записью нельзя ни по паролю, ни по SSH-ключу, данные нужно сохранить. Ты выполнил sudo passwd -l dev. Что ещё сделаешь?
-
-rудалит домашний каталог, а данные нужно сохранить. Вход по ключу закрывают, не удаляя запись. -
passwd -lставит!перед паролем, а вход по ключу пароля не спрашивает. Ключи в~/.ssh/authorized_keysпродолжают действовать. -
Новый пароль снимет блокировку и откроет вход по паролю. Ключ он не трогает.
Блокировка пароля закрывает один способ входа, а ключ — другой. Срок действия записи (usermod --expiredate) закрывает оба, а authorized_keys убирают отдельно, если вход по ключу надо закрыть насовсем.
Главное в шаге
- Пароль, срок записи, оболочку и SSH-ключи закрывают разные настройки — каждую отдельно.
-
passwd -lсохраняет прежний пароль, а запущенные процессы записи работают дальше.