Как создать несколько идентификаторов с одинаковым UID в AIX?

Как изменить UID ID в AIX?

0
Jeff Schaller 12 Июл 2018 в 21:47

1 ответ

Вы не можете.

(Возможная) команда mkuser не будет создавать идентификаторы с тем же UID. Цитирование mkuser man page:

Заметка

Обнаружение конфликта идентификаторов в целевом реестре всегда применяется независимо от системного атрибута dist_uniqid.

Использование smitty или командной строки приведет вас к той же ситуации.

Что касается изменения UID пользователя, вы должны использовать chuser или smitty (которая затем вызывает chuser), но она использует то же ограничение, что и mkuser:

Однако при изменении идентификатора с помощью команды chuser проверка коллизий идентификаторов также контролируется атрибутом dist_uniqid в разделе usw файла /etc/security/login.cfg. Поведение контроля коллизий идентификаторов такое же, как описано для команды mkuser.

Для большего удовольствия посмотрите на команду, которую smitty запускает во время смены пользователя (smitty chuser):

   x() {
     if [ $# -ge 2 ]                                                        
     then
       for i in "$@"
       do
         spam="$spam \"$i\""
       done
       eval chuser $spam
     fi
   }
   x id='1234' username
1
Community 11 Июн 2020 в 17:16
Этот код... не годится. Почему бы не просто chuser "$@"? Или он полагается на то, что spam не сбрасывается?
 – 
Kusalananda
12 Июл 2018 в 22:52
Эта структура используется во многих кузнечных меню, поэтому я подозреваю, что автор скопировал/вставил другую и заменил внутренности для флагов chuser, ни один из которых не требует специальной обработки. Меню smitty генерирует этот код на основе пользовательского ввода в меню. По крайней мере, он цитирует входящие в него данные (дважды), но меня позабавил выбор автора имени переменной.
 – 
Jeff Schaller
12 Июл 2018 в 23:01