Почему sudoers не определяются по UID?

Почему sudoers не определяются по UID?

Информация для входа привязана к UID в Linux. Однако, когда я открываю файл sudoers, sudoers определяются по имени пользователя вместо UID.

Почему используются имена пользователей вместо UID?
Изменяется ли файл sudoers автоматически при usermod -lзапуске?

Фрагмент:

    # User privilege specification
    root    ALL=(ALL:ALL) ALL

решение1

Следуя некоторым руководствам [1,2] Я могу дать вам следующие ответы:

  1. Можно указать пользователей с UID.

    Изsudoers вики ubuntuмы можем прочитать:

    Вы можете вставлять комментарии, предваряя их символом #, но этот же символ используется для указания uid в определенных частях файла, когда за ним следует число.

    Позже вРаздел псевдонимов Runasприводится пример:

    # UID 0 is normally used for root  
    # Note the hash (#) on the following line indicates a uid, not a comment.  
    Runas_Alias ROOT = #0
    
  2. Когда вы делаете это просто, usermod -lвам не следует распространять изменения в sudoers.
    Действительно, изстраница руководства для usermod, более информативно, чемBSD один, мы можем читать

    -l, --login НОВЫЙ_ЛОГИН
    Имя пользователя будет изменено с LOGIN на NEW_LOGIN.Больше ничего не изменилось.
    В частности, имя домашнего каталога пользователя, вероятно, следует изменить вручную, чтобы оно отражало новое имя пользователя.

    Кажется, все еще подразумевается ручная забота об изменении в sudoers, если вы указываете только -lпараметр. Вероятно, вам придется стереть старое имя пользователя идобавить пользователя в группу sudoс

    sudo usermod -a -G sudo hduser
    

    Действительно, так оно и случилосьэтот пользовательв 2008 году с системой Debian Sid:

    Раньше я использовал XXX в качестве имени пользователя для входа на свой ноутбук с SID, и XXX есть в файле sudoers. Сегодня я изменил его на YYY с помощью

    sudo usermod -l YYY XXX

    Я больше ничего не делал.

    Теперь я могу войти в систему, используя YYY, но мне не удалось войти в систему как root, используя пароль root.Кроме того, «YYY» отсутствует в файле sudoers, поэтому теперь я не могу отредактировать /etc/sudoers, чтобы включить YYY..

Окончательнопочему, вероятно, вам следует получить окончательный ответ только отТодд Миллеркто сделал последний (выигрышный) форк sudo в 1991 году, или, может быть, от Боба Коггешолла или Клиффа Спенсера, если он был создан в 1980 году [7].

Рекомендации

Связанный контент