Как мне узнать, существует ли uid?
Я добавил нового пользователя в Ubuntu, используя puppet с жестко закодированным идентификатором 10017. Идентификаторы должны быть одинаковыми на рабочих станциях, чтобы при восстановлении пользовательских данных все выстраивалось.
Теперь я узнаю, что UID не уникален. Mysql использует это. Как я могу протестировать сервер, чтобы узнать, существует ли uid (10018)?
2 ответа
Отвечая на конкретный вопрос (как узнать, используется ли uid) ...
getent passwd 1234
Завершит работу с 0, если используется uid, и с 2, если нет. Как говорит Марк, он также выведет любые подходящие записи. При использовании внутри сценария оболочки я бы ожидал отбросить вывод и просто протестировать код выхода.
Обратите внимание, что с помощью getent
имеет преимущество любых методов, которые смотрят на /etc/passwd
непосредственно, потому что он также будет обращаться к любым другим источникам данных, которые вы настроили (NIS, LDAP и т. д.).