
Как добавить флаги и/или аргументы, чтобы разрешить пользователям в файле sudoers запускать определенные части команд, например, разрешить только пользователю запускать sudo rm
и не sudo rm -rf
? Я использую 14.04.
# # Этот файл ДОЛЖЕН быть отредактирован с помощью команды 'visudo' от имени пользователя root. # # Пожалуйста, рассмотрите возможность добавления локального контента в /etc/sudoers.d/ вместо # непосредственное изменение этого файла. # # Подробную информацию о том, как написать файл sudoers, смотрите на странице руководства. # Параметры по умолчанию env_reset,pwfeedback Параметры по умолчанию mail_badpass По умолчанию secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Спецификация псевдонима хоста # Спецификация псевдонима пользователя # Спецификация псевдонима команды # Спецификация привилегий пользователя корень ВСЕ=(ВСЕ:ВСЕ) ВСЕ Ruby ALL=/usr/bin/apt-get update,/usr/bin/rm,/usr/bin/rmdir,/usr/bin/mkdir # Члены группы администраторов могут получить привилегии root %admin ВСЕ=(ВСЕ) ВСЕ # Разрешить членам группы sudo выполнять любую команду %sudo ВСЕ=(ВСЕ:ВСЕ) ВСЕ # Дополнительную информацию о директивах "#include" см. в sudoers(5): #includedir /etc/sudoers.d
решение1
Как указано в комментариях, не существует способа контролировать sudoers таким образом, как требуется, хотя в системе доступны детальные разрешения:
https://help.ubuntu.com/community/FilePermissionsACLs
Но даже этого недостаточно, вам по сути придется заменить все стандартные библиотеки программ скриптами для фильтрации флагов. Что было бы грязно и потенциально сломало бы систему.
Вместо этого рассмотрите возможность перевернуть проблему и создать пользователей, которым не нужны sudoers. Убедитесь, что они находятся в правильных группах, и используйте ACL для расширения прав доступа, где это необходимо, чтобы они могли получить доступ к нужным им файлам, не вызывая проблем.