В чем разница между группами sudo и admin?

69

Я заметил, что две группы получают похожие разрешения в /etc/sudoers:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Моя учетная запись пользователя с правами «Администрирование системы» находится в adminгруппе, и в этой группе нет пользователей sudo. Для чего эти две группы?

ændrük
источник

Ответы:

55

Ubuntu 12.04 LTS и позже

Администраторы добавляются в sudoгруппу, но adminгруппа поддерживается для обратной совместимости. Из заметок о выпуске :

Вплоть до Ubuntu 11.10 доступ администратора с помощью инструмента sudo предоставлялся через группу adminUnix. В Ubuntu 12.04 доступ администратора будет предоставлен через sudoгруппу. Это делает Ubuntu более совместимым с исходной реализацией и Debian. В целях совместимости adminгруппа продолжит предоставлять доступ sudo / administrator в 12.04.

Он не создается при новой установке, хотя он все еще присутствует, если вы обновились с предыдущих выпусков. В любом случае, adminгруппа появляется в /etc/sudoersфайле.

Смотрите детали реализации и официальную документацию .

jordicm
источник
Здорово. Спасибо! Не могли бы вы добавить объяснение разницы между ALL=(ALL)и ALL=(ALL:ALL)?
WEDI
Не берите в голову, только видел ответ в ответе Александра ниже ...
Веди
21

Ubuntu 11.10 и более ранние

По умолчанию sudoгруппа не используется в Ubuntu :

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

И наоборот, в Debian включенной группой /etc/sudoersявляется sudoгруппа, а adminгруппы нет . Но пользователь , созданный во время установки не ставится в этой группе, потому что Debian имеет rootучетную запись включена. Вы должны сделать это явно, если хотите.

Кроме того, Fedora похожа на Debian , так как она rootвключена и не имеет привилегий по умолчанию для пользователя, создаваемого во время установки. Но настроенная административная группа /etc/sudoersявляется более традиционной группой wheel.

В заключение, я думаю, что sudoв Ubuntu группа бесполезна , просто это наследие Debian .

enzotib
источник
В моей системе Ubuntu ни один пользователь не является участником sudo: grep '^sudo:' /etc/group(только что установлен). Не уверен насчет Debian, я только добавил свое имя в /etc/sudoersфайл.
Лекенштейн
1
@Lekensteyn: как я уже сказал, в Debian вы должны явно добавить пользователя в sudoгруппу, чтобы получить административные привилегии: su -c "gpasswd -a $USER sudo"нет необходимости изменять /etc/sudoers. Или вы можете придерживаться способа использования rootучетной записи Debian .
энзотиб
16

Нет разницы в безопасности.

Оба имеют 100% неограниченный доступ ко всему, что предоставляется ОС.

Разница в ваших / etc / sudoers (ALL)против (ALL:ALL). Первый означает, что вы можете запускать команды как любой пользователь . Второе - вы можете запустить команду как любой пользователь и как любая группа .

Способ, указанный в ваших / etc / sudoers обеих группах, должен будет ввести их собственный пароль для выполнения команд от имени пользователя root.

Обе могут использовать корневую оболочку, например:

sudo su
Александр Левчук
источник
9
Что я не могу сделать без бита "как любая группа"?
tudor
Если программе разрешено выполнение только определенной группой, то пользователь (ALL), который не принадлежит этой группе, не может выполнить эту команду. Как и здесь , пользователи, которые находятся в группе, adminа не в webuserгруппе, не могут выполняться firefox.
Стам Кали