Запретить пользователю без полномочий root форматировать раздел

Несколько дней назад я ошибочно отформатировал раздел на своем внешнем жестком диске, нажав «Формат» в контекстном меню на компьютере. Я хочу знать, как я могу запретить пользователю, не являющемуся пользователем root, сделать это. В то же время мне нужен пользователь, не являющийся пользователем root, для чтения и записи в разделе.

Я использую Fedora 14.

Благодарю.

3 Solutions collect form web for “Запретить пользователю без полномочий root форматировать раздел”

Как уже указывал nc3b , это контролируется PolicyKit. Политика для дисков находится по адресу: /usr/share/polkit-1/actions/org.freedesktop.udisks.policy и может быть скорректирована.
Откройте его с правами root и найдите строку: <action id="org.freedesktop.udisks.change"> , либо закомментируйте весь блок: <!-- [udisks.change-block] --> , либо установите <allow_active> в 'no', сохранить и выйти.

Проверьте, отключено ли это:

 $ pkaction --verbose --action-id org.freedesktop.udisks.change No action with action id org.freedesktop.udisks.change 

Или, если вы не установили:

 ... implicit active: no 

Хорошо, в следующий раз, когда вы попытаетесь отформатировать устройство как пользователь, не являющийся пользователем root, либо в контекстном меню, либо через «Дисковая утилита», появится сообщение об ошибке, которое запретит его. Этот шаг по-прежнему позволит пользователю без полномочий root читать или записывать устройство.


Если вы все еще хотите разрешить создание устройств, но с более высоким уровнем безопасности, вы можете заставить PolicyKit запрашивать пароль каждый раз.
Откройте тот же файл и перейдите в тот же раздел, замените «да» на «auth_admin» в allow_active :

 <allow_active>auth_admin</allow_active> 

Проверьте:

 $ pkaction --verbose --action-id org.freedesktop.udisks.change ... implicit active: auth_admin 

Отлично!

Примечание. Я тестировал это только на Ubuntu, но Fedora также использует PolicyKit, поэтому сначала попробуйте его с помощью фиктивного диска.

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

 nc3b@aiur:~$ /sbin/mke2fs -jv /dev/sda1 mke2fs 1.41.3 (12-Oct-2008) mke2fs: Permission denied while trying to determine filesystem size 

Когда вы делаете это из gnome или что-то еще, есть демон, задачей которого является повышение привилегий, когда вы хотите выполнить действие суперпользователя (обычно он предупреждает, что это привилегированная операция и запрашивает пароль). Я считаю, что Fedora использует PolicyKit, но эти системы работают аналогичным образом .

Реальная опасность большинства из них заключается в том, что они предлагают «сохранить этот пароль в брелке» или что-то в этом роде и не предупредить вас снова.

sudo, [6] gksudo и kdesu не просят пользователя повторно вводить свой пароль каждый раз, когда он вызывается для подъема программы. Скорее, пользователь запрашивает пароль один раз в начале. Если пользователь не использовал свои административные привилегии в течение определенного периода времени (по умолчанию sudo – 5 минут [6]), пользователь снова ограничивается стандартными пользовательскими привилегиями, пока они снова не вернут свой пароль.

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

У Fedora есть серьезные проблемы с безопасностью, если они позволяют пользователям без полномочий root форматировать диск. Лучше всего сделать следующее:

 chown root:root /dev/[sh]da[0-9] chmod 0600 /dev/[sd]da[0-9] 

Затем, если нужно, чтобы «пользователь, не являющийся пользователем root, мог читать и записывать на раздел», вы имеете в виду чтение и запись в файловую систему, тогда это должно быть хорошо, если оно установлено.

Если вы имеете в виду другую вещь, то модификация разрешений на программу, которая выполняет чтение и запись (возможно, путем ее запуска через sudo ), может решить проблему.

Кроме этого, я думаю, что структура разделов хранится в суперблоке диска (например, / dev / sda – нет номеров) и, таким образом, устанавливая это на 0600 , а разделы на более разрешающую маску (например, 0660 и 0660 владение) может решить проблему.

  • Есть ли способ проверить работоспособный агент polkit без проверки на запуск процесса?
  • Доступ к Xen libvirt для пользователя без полномочий root
  • Arch Linux, монтируйте диски с помощью thunar, без пароля
  • KDE4 PolicyKit backdoor (misconfiguration) (проверено на FBSD10x, PCBSD, вероятно, будет работать на Linux)
  • Что делать, если apt-get -f не работает?
  • gksu replacment
  • Насколько широко используется Polkit?
  • ConsoleKit сообщает об активности / is-local только на втором + входе
  • Как отключить систему через сообщение ConsoleKit DBus как пользователя?
  • Поздняя аутентификация
  • Как установить Policykit с System V?
  • Interesting Posts

    Можно ли использовать virtfs / 9p для совместного использования одной и той же главной папки с несколькими гостями?

    Как определить окно, нажав на Wayland

    Удаление строк путем сопоставления только 3-го и 4-го символов

    Приглашение bash было сброшено каждый раз, когда я вхожу в систему

    Восстановить сформированную таблицу разделов на LVM Physical

    Запустить sudo интерактивный сеанс в текущем каталоге?

    Можем ли мы использовать два расширения фигурных скобок вместе?

    сеанс xfce всегда сохраняется

    Git висит бесконечно, пытаясь нажать – all to GitHub

    Заверните линии до указанного количества полей

    Есть ли какая-либо утилита или процедура, доступные для dm-crypt для существующих существующих данных в реальном времени, чтобы сделать полное шифрование диска

    Проблема с установкой свойств python-software

    Прямой кеш записи / записи Linux USB Flash

    Как работает утилита «сортировка»? (почему это не работает так, как мне кажется?)

    Изменение макета клавиатуры Xfce Ctrl + Пробел

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