Как ограничить административные привилегии различными файлами конфигурации?

Если Ваши сценарии запускаются со строки #!/bin/bash они будут все еще выполнены с помощью удара, даже если оболочка по умолчанию будет zsh.

Я нашел синтаксис zsh действительно близко к тому удара, и я не обращал внимание, если были действительно некоторые несовместимости. Я переключился 6 лет назад от удара до zsh беспрепятственно.

0
01.05.2013, 02:54
3 ответа

Если Вы только хотели позволить пользователю редактировать /etc/fstab, Вы могли сделать это несколькими способами:

  • Удостоверьтесь, что списки управления доступом включены (acl опция в /etc/fstab запись для /), и setfacl -m user:joe:rw /etc/fstab.
  • Добавьте a sudoers правило: выполненный visudo и добавьте строку joe ALL = sudoedit /etc/fstab

Я рекомендую sudo метод, потому что он помогает контролировать, кто может сделать что.

Однако, если Вы позволяете пользователю редактировать /etc/fstab, затем они могут косвенно получить корень путем добавления записи, которая позволяет им смонтировать внешнюю файловую систему или файловую систему цикла, в которой они посадили корневой двоичный файл setuid.

Довольно странно позволить пользователю редактировать fstab только. Если Вы хотите позволить пользователям монтировать съемные устройства, использовать pmount (или полагайтесь на настольные среды).

Если Вы позволяете пользователю выполнять недобавленные в белый список команды как корень (“все другие задачи администрирования”), то Вы не можете препятствовать тому, чтобы они редактировали какой-то конкретный файл. В какой-то момент необходимо решить, доверяете ли Вы этим людям или нет. Если Вы не доверяете им для управления машиной, не давайте им полномочия (заставьте их использовать другую машину, возможно, виртуальную машину вместо этого). При доверии им позвольте им стать корнем и сказать им, что определенные файлы запрещены.

1
28.01.2020, 02:21

При попытке перечислить каждую утилиту, которую администратор, возможно, должен использовать, то Вы будете сидеть на клавиатуре некоторое время.

Технически, этот вид требования - то, почему поддержка Linux была разработана. Чтобы сделать то, что Вы желаете: Вы могли дать пользователям особые возможности и затем просто дать user1 доступ для записи к fstab (через ACL или что-то), и просто не дают то же самое полномочие записи ограниченному user2 (удостоверяющийся user2, не имел CAP_CHOWN или CAP_DAC_OVERRIDE), но, учитывая текущее состояние возможностей (с точки зрения как хорошо разработанный, пространство пользователя), это - вероятно, больше работы, чем это стоит.

Не используя возможности опуститься обязанности до "корня как пользовательский ролевой сценарий ", у Вас просто есть различные перестановки использования корневой учетной записи, чтобы сделать материал с. Это приносит нам к вышеупомянутой проблеме сообщения системы каждый возможный инструмент другие пользовательские потребности (надо надеяться, тот, который не может косвенно использоваться для управления fstab).

Вы, вероятно, более обеспечены просто решение, можно ли доверять конкретному пользователю, чтобы быть администратором или нет.

1
28.01.2020, 02:21
  • 1
    Что я хочу сделать, на самом деле, имеют администратора, который имеет как два или три файла конфигурации, которых им не позволяют коснуться... Проблема, у них есть доступ ко всему через sudo. –  Joshua Robison 01.05.2013, 16:23
  • 2
    Да, возможности были разработаны, чтобы дать администратору что уровень выразительности в управлении полномочием и способности непосредственно предназначаться для операций, а не определенных двоичных инструментов. Возможности дают Вам, что Вы, после, но они слишком трудны для системного администратора для реализации способом, это практично. Пока дистрибутивы не разрабатывают что-то для Вас, название игры, "доверяют им супер администратора", или "позволяют им запустить конкретные программы как супер администратору". Вы могли бы рассмотреть предоставление ограниченному пользователю только нескольких команд sudo и просто предоставления большего количества команд, поскольку они жалуются на это или это. @PaŭloEbermann –  Bratchley 01.05.2013, 17:06

Если Вы предоставляете им доступ ко всему, то, очевидно, все ставки выключены. Однако можно позволить пользователю редактировать конкретный файл и ничто иное. Например:

user ALL = sudoedit /etc/fstab

Позволил бы пользователю только редактировать/etc/fstab.

2
28.01.2020, 02:21
  • 1
    ХОРОШИЙ!!! Есть ли некоторая исходная команда где-нибудь о том, как реализовать это? Действительно ли это - терминальная команда? TIA –  Joshua Robison 02.05.2013, 02:06

Теги

Похожие вопросы