Разграничение полномочий в sudo

Как мы только что увидели, команда sudo даёт пользователю практически неограниченные полномочия для любых как общесистемных действий, так и для манипуляции чужими пользовательскими данными. В связи с этим зададимся вопросами:

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

Если говорить о семействе Ubuntu, в котором механизм этот был впервые задействован “из коробки” -- то “из коробки” же ответ на первый вопрос будет отрицательным, на второй -- положительным. А вообще это зависит от настроек программы sudo, которые описываются в файле /etc/sudoers. И в нем можно задать правила, допускающие к исполнению определенных команд только отдельных пользователей. В обобщенном виде это выглядит так:

username        host = command

Здесь, как нетрудно догадаться, username -- имя пользователя, для которого устанавливается данное правило, host -- имя машины, с которой он может к этому правилу прибегнуть, command -- конкретная команда, использование которой разрешается данному пользователю с данной машины. Команда должна быть дана с указанием полного абсолютного пути (то есть /sbin/fdisk, а не fdisk). Поле описания команд может включать несколько значений, разделенных запятыми, например:

username        ALL = /sbin/fdisk,/bin/mount

В Ubuntu’идах по умолчанию правила доступа пользователей к административным привилегиям описываются так:

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

То есть пользователь root, как ему и положено, может исполнять любые команды с любых хостов. А вот получить права его могут только пользователи, входящие в группу admin (аналог группы wheel, о которой говорилось в предыдущем подразделе). Пользователь, создаваемый в ходе обычной установки, автоматически становится членом этой группы -- и потому все административные права ему доступны без всяких дальнейших настроек. Однако прочие пользователи, чьи аккаунты будут созданы в последствие, этой привилегии лишены. Если, конечно, они не были специально включены в группу admin .


Содержание


Теги: