Пользователь Sudo не в sudo группе?

При добавлении пользователя как это:

sudo adduser someuser --ingroup sudo

Добавленный пользователь может использовать sudo но он не находится в /etc/group sudo, ни в /etc/sudoers
Таким образом, как это работает?

3
задан 23 September 2016 в 20:57

2 ответа

Ваш adduser наборы команд основная группа пользователя к sudo.

От man adduser:

   By  default,  each  user  in  Debian GNU/Linux is given a corresponding
   group with the same name.       [ ... ]                  Users' primary
   groups  can  also be overridden from the command line with the --gid or
   --ingroup options to set the group by id or name, respectively. 

   [ ... ]  

   --ingroup GROUP
          Add the new user to GROUP instead of a usergroup or the  default
          group  defined  by  USERS_GID  in  the configuration file.  This
          affects the users primary group.  To add additional groups,  see
          the add_extra_groups option

У основной группы обычно есть то же имя и идентификатор как пользователь. Это не хранится в /etc/group но в /etc/passwd, как это:

bytecommander:x:1000:1000:ByteCommander,,,:/home/bytecommander:/bin/bash

4-е :- разделенное поле содержит GID (идентификатор группы) основной группы пользователя.

Теперь /etc/group содержит список всех групп и связывает пользователей, которые имеют эту группу как дополнительную (не основной) группа, как это:

sudo:x:27:bytecommander

Различие между основными и дополнительными группами также видимо в выводе id команда (форматирующий мной):

$ id
uid=1000(bytecommander) 
gid=1000(bytecommander) 
groups=1000(bytecommander),27(sudo)

Из чего важно для использования sudo только членство в sudo группа, это не отличает основное и вторичное членство. Ответственная строка конфигурации может быть найдена в /etc/sudoers и похож на это:

%sudo   ALL=(ALL:ALL) ALL

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

2
ответ дан 1 December 2019 в 15:53

--ingroup опция adduser изменяется/добавляет Основную группу добавленного пользователя, и основная группа пользователя хранится в /etc/passwd, файл, в : разделил четвертое поле как числовой GID.

Так sudo читает /etc/passwd файл и находит, что у пользователя someuser есть основная группа sudo, таким образом, sudo команды работают отлично.

Теперь, /etc/group sudo запись группы все еще не показала бы членство, потому что /etc/group только хранилища вторичный состав группы, не основной.

2
ответ дан 1 December 2019 в 15:53

Другие вопросы по тегам:

Похожие вопросы: