Найти в Дзене
Linux From Scratch

Удаление неиспользуемых учетных записей Linux

Хранить просроченные учетные записи опасно для системы. После того как пользователь покинул организацию, лучше всего выполнить ряд шагов, чтобы удалить его учетную запись вместе с данными. 1. Найдите файлы в системе, принадлежащей учетной записи, с помощью команды find / -user username. 2. Установите срок действия учетной записи или отключите ее. 3. Сделайте резервную копию файлов. 4. Удалите файлы или передайте их новому владельцу. 5. Удалите учетную запись из системы. Проблемы возникают, если не выполнить пункт 5 и истекшие или отключенные учетные записи сохранятся в системе. Злоумышленник, получивший доступ к вашей системе, может обновить учетную запись, а затем выдать себя за ее пользователя. Чтобы найти эти учетные записи, выполните поиск в файле /etc/shadow. Дата, обозначающая срок действия учетной записи, находится в восьмом поле каждой записи. Удобно было бы применять формат даты, однако вместо этого в данном поле отображается дата истечения срока действия записи в виде количес

Хранить просроченные учетные записи опасно для системы. После того как пользователь покинул организацию, лучше всего выполнить ряд шагов, чтобы удалить его учетную запись вместе с данными.

1. Найдите файлы в системе, принадлежащей учетной записи, с помощью команды

find / -user username.

2. Установите срок действия учетной записи или отключите ее.

3. Сделайте резервную копию файлов.

4. Удалите файлы или передайте их новому владельцу.

5. Удалите учетную запись из системы.

Проблемы возникают, если не выполнить пункт 5 и истекшие или отключенные учетные записи сохранятся в системе. Злоумышленник, получивший доступ к вашей системе, может обновить учетную запись, а затем выдать себя за ее пользователя.

Чтобы найти эти учетные записи, выполните поиск в файле /etc/shadow. Дата, обозначающая срок действия учетной записи, находится в восьмом поле каждой записи. Удобно было бы применять формат даты, однако вместо этого в данном поле отображается дата истечения срока действия записи в виде количества дней, прошедших с 1 января 1970 года.

Используйте двухэтапный процесс автоматического поиска просроченных учетных записей в файле /etc/shadow. Во-первых, установите переменную оболочки с сегодняшней датой в формате «дней с 1 января 1970 года». Затем с помощью команды gawk отформатируйте необходимую информацию из файла /etc/shadow.

Настройка переменной оболочки с текущей датой в виде числа дней, прошедших с 1 января 1970 года, не представляет особой сложности. Команда date может выдавать количество секунд с 1 января 1970 года. Чтобы получить необходимое значение, разделите результат команды date на количество секунд в сутках — 86 400.

Далее показано, как настроить переменную оболочки TODAY:

# TODAY=$(echo $(($(date --utc --date "$1" +%s)/86400)))

# echo $TODAY

16373

Затем учетные записи и даты их истечения извлекаются из файла /etc/shadow с помощью команды gawk. Команда gawk — это версия программы GNU, используемая в UNIX. Вывод команды показан в следующем примере. Как и следовало ожидать, многие учетные записи не имеют срока действия. Однако две записи, Consultant и Intern, показывают дату истечения срока действия в формате «дней с 1 января 1970 года». Обратите внимание на то, что этот шаг вы можете пропустить. Он служит лишь для демонстрации.

# gawk -F: '{print $1,$8}' /etc/shadow

...

chrony

tcpdump

johndoe

Consultant 13819

Intern 13911

Параметры $1 и $8 в команде gawk представляют поля имени пользователя и даты истечения срока действия в записях файла /etc/shadow. Чтобы проверить даты истечения срока действия этих учетных записей, необходима усовершенствованная версия команды gawk:

# gawk -F: '{if (($8 > 0) && ($TODAY > $8)) print $1}' /etc/shadow

Consultant

Intern

После команды gawk ($8 > 0) отображаются только записи с истекшим сроком действия. Чтобы убедиться, что эти даты миновали, переменная TODAY сравнивается с полем даты $8. Если TODAY больше, чем дата истечения срока действия учетной записи, она появится в списке. Как видно в предыдущем примере, в системе есть две просроченные учетные записи, которые необходимо удалить.

Это все, что нужно сделать. Настройте переменную TODAY и выполните команду gawk. Все просроченные учетные записи в файле /etc/shadow будут перечислены. Чтобы удалить их, примените команду userdel.

Учетные записи пользователей — это только часть процесса аутентификации, позволяющего им входить в систему Linux. Пароли учетных записей пользователей также играют важную роль.

*Linux Pages*