В чем разница между добавлением пользователя в группу «sudoers» и «root»?

В чем разница между добавлением пользователя в группу «sudoers» и «root»?

Я провел небольшое исследование, и для того, чтобы разрешить пользователю использовать команду sudo, вы должны добавить его в группу "sudoers". Это дает ему привилегии root, если он вводит пароль root. Но я также сталкивался с примерами людей, добавляющих пользователя в группу "root" вместо группы "sudoers". Мой вопрос заключается в том, различаются ли привилегии, предоставляемые этим двум группам, и если да, то какие и каковы преимущества обоих методов?

Я использую сервер Debian Linux.

Спасибо

решение1

«Группа root», которую вы указали бы в /etc/group, касается разрешений unix. Каждый файл имеет разрешения пользователя, группы и «других». Если файл настроен так, что пользователи в группе root могут его читать, то вы можете предоставить пользователю возможность читать этот файл, поместив пользователя в группу root. Конечно, тогда этот пользователь сможет читатькаждыйфайл, в котором установлен бит чтения для группы root.

Файл sudoers предназначен для запуска команд с эффективным идентификатором других пользователей. У вас есть более детальный контроль над тем, какие команды может запускать каждый пользователь и как кого. Поэтому, если вы хотите, чтобы пользователь мог запускать только одну конкретную команду как root, то вы должны установить это в файле sudoers.

решение2

Хотя в вопросе упоминается "сервер Debian Linux", в настоящее время он помечен как Debian, так и Ubuntu. Поскольку информация о нескольких операционных системах, по-видимому, представляет некоторый интерес, я собираюсь полностью проигнорировать ссылки на конкретные операционные системы и просто описать наиболее распространенные стандарты.

Группы перечислены в /etc/group, и часто есть группа с именем "root". В этом файле перечислены имена групп и соответствующие им числовые значения "ID группы" ("GID").

Любой пользователь в группе с именем "root" сможет читать, писать или выполнять файлы, у которых "владелец группы" имеет тот же "идентификатор группы" ("GID"), что и у группы с именем root. Таким образом, если файл принадлежит "bin:root" и имеет разрешения "rwxrwx---", то пользователь в группе "root" сможет запустить файл из-за среднего набора разрешений.

Напротив, стандарт, установленный программным обеспечением "sudo", основан на конфигурации, хранящейся в файле /etc/sudoers. В файле /etc/sudoers имена групп в стиле Unix отображаются после знаков процента, как обсуждалось вСтраница руководства sudoers (в формате HTML): раздел о формате файла "sudoers". Таким образом, ссылка на %sudoers в файле /etc/sudoers относится к группе с именем «sudoers», которая находится в файле /etc/groups.

Файл /etc/sudoers по умолчанию не содержит ссылку на группу с именем "sudoers". Обратите внимание, что я имею в виду настоящий файл /etc/sudoers по умолчанию, который вы можете просмотреть, посмотреврепозиторий sudo, нажав «обзор» в левом фрейме, затем «примеры», затем «sudoers».

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

Предположительно, если в вашей операционной системе есть группа с именем sudoers, то человек в этой группе сможет повысить права доступа с помощью команды sudo. (Рекомендуемый способ подтверждения этого — проверка файла /etc/sudoers.)

Когда человек повышает свои привилегии, такому человеку может потребоваться ввести приемлемую аутентификацию (пароль), а может и не потребоваться. Даже если они это сделают, после аутентификации у них может быть "токен" на некоторое время, который позволит им снова повысить свои привилегии без необходимости повторной аутентификации (пока этот период времени не истечет). Этот период времени составляет 5 минут, если только /etc/sudoers не укажет что-то другое с помощью параметра под названием "timeout".

Напротив, человеку из группы «root» не нужно будет вводить пароль для доступа к файлу, владельцем которого является группа «root».

Обратите внимание, что группа "sudoers" может быть предпочтительной. Повысив права, человек может получить полный доступ суперпользователя. (Это типично. Файл /etc/sudoers может позволить человеку переключиться на другого пользователя или повысить права, но с ограничениями на то, какая команда будет запущена изначально. Обычно, в конфигурациях по умолчанию/простых конфигурациях, человек, который повышает права, просто получает полное повышение.) При аутентификации в качестве полного суперпользователя пользователь, как правило, не подчиняется разрешениям, основанным на типичных владельцах файловой системы Unix (параметры "владелец" и "группа-владелец"). Пользователь может по-прежнему подчиняться другим ограничениям на основе разрешений, например разрешениям, налагаемым способом монтирования раздела (поэтому программное обеспечение не позволяет пользователю записывать на CD-ROM только для чтения), или другим причинам, по которым файл может не предоставлять разрешения (например, если файл заблокирован, что указывает на то, что файл уже используется). Если файл принадлежит:

корень:корень

и имеет разрешения:

рвх------

Тогда пользователь не получит разрешения на файл только потому, что он находится в группе под названием «root». Таким образом, группа «root» может быть более удобной (не нужны пароли), хотя она может быть более ограниченной. (Или группа в /etc/sudoers может быть более ограниченной, в зависимости от того, как настроен /etc/sudoers.)

решение3

Во-первых, rootuser — это первый пользователь в sudoersгруппе, сразу после установки Ubuntu на машину. Во-вторых, rootи суперпользователь (например, Michael) оба имеют одинаковый user id( UID) 0, который является идентификатором суперпользователей. У них одинаковые привилегии. В-третьих, единственное отличие в том, что a super userдолжен вводить sudoкоманду перед любой командой, которая требует специальных привилегий, а rootuser не обязан. Они отличаются только именем и распознаются именно так.

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