Я хотел бы предоставить пользователю права sudo, но только для определенного пути. Например:
user@domain $> sudo touch /etc/test/directory/samplefile
где у этого пользователя нет разрешений на /etc/test/directory
путь, который не принадлежит пользователю, и я не хочу больше открывать разрешения, я не хочу делать пользователя частью группы каталога, потому что это дало бы пользователю права доступа и к другим каталогам.
Пока что я пытался добавить это в файл / etc / sudoers:
user ALL:/etc/test/directory/=(ALL) NOPASSWD: ALL
но этот синтаксис неверен с точки зрения visudo.
любые идеи о том, как сделать этот подход?
Вероятно, вы можете сделать это, используя sudo
чтобы позволить пользователям (одному / некоторым / всем) запускать скрипт от имени пользователя, который является член группы и т. д., имеющий права доступа к каталогу.
Эта страница - https://lifecs.likai.org/2016/02/generic-setuidsetgid-wrapper-for-scripts.html похоже, неплохо справляется с вашей проблемой, sudoers
предложенная строка -
ALL ALL = (script-owner) NOPASSWD: /path/to/script
бежать с sudo -u script-owner /path/to/script