Как определить разрешения групп?

Когда вы вызываете sudo , он запрашивает пароль, а затем проверяет файл конфигурации /etc/sudoers чтобы узнать, разрешен ли пользователю доступ для запуска команды. /etc/sudoers – это файл конфигурации sudo который позволяет определенным пользователям или группам запускать определенные команды. Например, ниже мы вызываем пользователя john , с любого терминала, запустите питание команды:

 john ALL= /sbin/poweroff 

Очевидно, пользователь root может сделать что угодно:

 root ALL=(ALL) ALL 

Поскольку root может что-либо делать, мы часто хотим использовать программу sudo для того, чтобы поднять себя до корня (с помощью приглашения пароля) для выполнения некоторых команд на системном уровне. Если мы вводим правильный пароль для нашего пользователя, мы можем выполнить команду. Но нам нужен способ убедиться, что этот пользователь может быть повышен до корня в первую очередь. Следовательно, цель /etc/group .

 sudo:x:27:myuser 

/etc/group – текстовый файл, который определяет группы, к которым принадлежат пользователи. Разрешения файловой системы организованы в пользователя, группу и другие. Использование групп позволяет делегировать дополнительные возможности организованно, например, доступ к дискам, принтерам и другим периферийным устройствам.

Прочитав эту статью о том, как использовать демон gammu-smsd , я столкнулся с этой строкой:

Мы не хотим вводить пароль администратора каждый раз, когда хотим отправить SMS-сообщение, поэтому прежде всего мы должны добавить себя к группе пользователей dialout. Все члены этой группы имеют разрешение использовать модемные устройства в системе Ubuntu.

И где определяется, что предоставляет группе dialout такую ​​привилегию? Я смотрю в /etc/sudoers и я не нахожу ссылки на dialout:

 $ sudo cat /etc/sudoers # /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL 

Я думаю, что есть ключевой элемент, который мне не хватает в группах.

  • Будет ли я запрашиваться пароль sudo второй раз?
  • SSH для серверов с доступом sudo - скрипт вызывает неожиданный конец ошибки файла
  • sudo -i возвращает ошибку
  • как требовать sudo для просмотра файлов?
  • Дать jenkins выполнить команды как root
  • Как установить vim в качестве редактора по умолчанию, когда я sudo?
  • Использовать псевдоним после выдачи команды sudo su
  • Заблокирован мой собственный терминал Mac?
  • 2 Solutions collect form web for “Как определить разрешения групп?”

    Подход Unix к группам, предоставляющим различные виды доступа, довольно примитивен – он в основном просто дает права на запись (и, возможно, чтение) для соответствующих устройств. Так, например, для dialout:

     faheem@orwell:/dev$ ls -lah | grep dialout crw-rw---T 1 root dialout 4, 64 Jul 22 22:45 ttyS0 crw-rw---T 1 root dialout 4, 65 Jul 22 22:45 ttyS1 crw-rw---T 1 root dialout 4, 66 Jul 22 22:45 ttyS2 crw-rw---T 1 root dialout 4, 67 Jul 22 22:45 ttyS3 

    Таким образом, группа dialout имеет права на запись и чтение на соответствующие устройства; в этом случае последовательные порты.

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

    Это не имеет никакого отношения к файлу sudoers, но вместо этого выполняется проверка на уровне кода программного обеспечения.

    Linux и Unix - лучшая ОС в мире.