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

Когда вы вызываете 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 

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

  • Как написать / sys / со сценарием после перезагрузки? (Sudo)
  • Изменение пароля sudo и root на Debian
  • Запуск локальных скриптов на нескольких серверах с использованием пользователя sudo через скрипт
  • sudo после длительного вызова сна без повторного запроса пароля sudo
  • Операторы печати в реальном времени с тройником в интерактивном скрипте
  • Как предотвратить зависание чувствительных аргументов CLI в журналеctct при использовании sudo?
  • Fedora: Как я могу добавить себя в файл sudoers?
  • Почему этот каталог не добавляется в мой PATH, когда я использую sudo?
  • 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 - лучшая ОС в мире.