Как бы я добавил флаги и / или аргументы, чтобы позволить пользователям в файле sudoers запускать определенные части команд, например, разрешать пользователю только запускать sudo rm
, а не sudo rm -rf
? Я использую 14.04.
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset,pwfeedback Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL Ruby ALL=/usr/bin/apt-get update,/usr/bin/rm,/usr/bin/rmdir,/usr/bin/mkdir # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
Как указано в комментариях, нет способа управлять sudoers в пути, который требуют, хотя существуют мелкомодульные полномочия, доступные в системе:
https://help.ubuntu.com/community/FilePermissionsACLs
, Но даже который не является достаточно, необходимо было бы в основном заменить все стандартные библиотеки программ сценариями для фильтрации флагов. Который был бы грязен и потенциально повредил бы систему.
Вместо этого рассматривают зеркальное отражение проблемы и создание пользователей, которым не нужен sudoers. Удостоверяясь они находятся в правильных группах и использующий ACLs для расширения полномочий при необходимости, таким образом, они могут получить доступ к файлам, в которых они нуждаются, не вызывая проблемы.