Как я могу настроить sudo
так, чтобы конкретный обычный пользователь мог отредактировать /etc/fstab
? Я думал для редактирования /etc/sudoers.d
файл, чтобы сделать это, но как мы редактируем /etc/fstab
в этом файле?
При добавлении строки в sudoers.d с Вами любимое программное обеспечение редактирования в псевдониме cmd должно добиться цели:
Cmnd_Alias EDITFSTAB = /etc/bin/vim /etc/fstab
username ALL = (user) EDITFSTAB
Будьте осторожны, существует огромный риск полномочия Escape, возможно, необходимо записать, что основной сценарий оболочки для ограничивания/управления fstab модификаций, не используя редактора (т.е. "для той модификации, нажимают 1" и отзывающееся эхом право в fstab).
Создайте простой сценарий, названный editfstab
и расположенный в /usr/local/bin
(чтобы быть доступным как команда оболочки) и сделать это исполняемым файлом:
echo -e '#!/bin/sh\nnano /etc/fstab' | sudo tee /usr/local/bin/editfstab && sudo chmod +x /usr/local/bin/editfstab
Выполните команду sudo visudo -f /etc/sudoers.d/editfstab
и добавьте следующее правило как содержание недавно созданного файла:
ALL ALL=NOPASSWD: /usr/local/bin/editfstab
На данном этапе каждый пользователь системы сможет отредактировать /etc/fstab
, без пароля, командой:
sudo editfstab
Можно расширить функциональность /usr/local/bin/editfstab
путем добавления опции для создания резервной копии перед редактированием:
#!/bin/sh
cp /etc/fstab /etc/fstab.bak
nano /etc/fstab