Почему идентификаторы пользователей перерабатываются?

12

На днях я удалил пользователя с одного из наших серверов. У этого пользователя был идентификатор 1002.

Сегодня я добавил нового пользователя в систему. К моему удивлению, он получил идентификатор пользователя 1002. Поскольку я не стал удалять домашний каталог удаленного пользователя, новый пользователь теперь владеет домашним каталогом старого пользователя (а также всех других ресурсов, которые ранее принадлежали 1002).

Я бы предположил, что идентификаторы пользователей никогда не используются повторно, чтобы избежать подобных конфликтов. Почему они утилизируются и следует ли мне проявлять осторожность / принимать меры предосторожности?

Der Hochstapler
источник

Ответы:

16

Когда вы удаляете пользователя, информация о нем полностью удаляется, поэтому нет прямой информации о том, что этот идентификатор когда-либо использовался.

(Официальная информация пользователя хранится в /etc/passwdпростом списке.)

Чтобы предотвратить это, либо

  • принудительно использовать другой идентификатор при создании новых пользователей или
  • сохраняйте запись пользователя (просто отключите вход в систему) до тех пор, пока вы не очистите соответствующие файлы. ( find«S -userи -nouserварианты помочь с этим.)
CL.
источник
2
Действие по умолчанию - использовать следующее наибольшее число, найденное при чтении /etc/passwd. Таким образом, если вы удалите последнего добавленного пользователя (у которого будет наибольшее число), следующий созданный пользователь будет использовать этот номер повторно.
StarNamer