Рейтинг:0

visudo говорит, что есть синтаксическая ошибка

флаг fr

Я использую Centos 8. Итак, я хочу, чтобы диспетчер пользователей мог запускать эту команду без необходимости использовать sudo.

менеджер ALL=NOPASSWD: tar -czf /root/assignment/result/student-submissions-$(дата +\%Y-\%m-\%d).tar.gz /root/assignment/report/main/

Вот результат:

/etc/sudoers: синтаксическая ошибка рядом со строкой 122

строка 122 является первой строкой в ​​приведенном выше коде.

Рейтинг:2
флаг mx

Я также получаю синтаксическую ошибку, когда запускаю ее в своей системе. Я сделал следующее:

В верхней части файла sudoers (под строками «по умолчанию») добавьте следующую строку (ваша команда, которую вы хотите запустить без пароля):

Cmnd_Alias ​​TAR_COMMAND = /usr/bin/tar -czf /root/assignment/result/student-submissions-*.tar.gz /root/assignment/report/main/

Подстановочный знак *, который я использовал в имени файла, предназначен для того, чтобы команда могла отличаться, когда речь идет об имени файла tar.gz. Таким образом, вам не нужно использовать переменные даты.

Теперь добавьте следующую строку в конце:

менеджер ВСЕ= NOPASSWD: TAR_COMMAND

Попробуйте, если это работает для вас

PS: Всегда используйте полный путь к исполняемому файлу. При использовании только «tar» каждый двоичный файл с именем «tar» может запускаться из любой папки без пароля. используйте полный путь, чтобы убедиться, что вы можете запустить только /usr/bin/tar.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.