Я пытался настроить белый список команд, которые пользователь может запускать в моей системе. Сервер, который я использую, работает под управлением CentOS 7. Какой синтаксис следует использовать, чтобы разрешить пользователю выполнять только определенную группу команд и аргументов как sudo? Я также хотел бы, чтобы sudo не требовало ввода пароля при вызове этих команд.
Я пробовал:
пользователь ALL =/bin/cmd1 arg1 arg2, /bin/cmd2 arg1 arg2, /bin/cmd3 arg1 arg2 NOPASSWD: ALL
пользователь ALL =(пользователь: группа) /bin/cmd1 arg1 arg2, /bin/cmd2 arg1 arg2, /bin/cmd3 arg1 arg2 NOPASSWD: ALL
пользователь ALL =(пользователь) /bin/cmd1 arg1 arg2, /bin/cmd2 arg1 arg2, /bin/cmd3 arg1 arg2 NOPASSWD: ALL
пользователь ALL =(/bin/cmd1 arg1 arg2, /bin/cmd2 arg1 arg2, /bin/cmd3 arg1 arg2) NOPASSWD: ALL
Все эти попытки привели к синтаксической ошибке в файле /etc /sudoers.
Я посмотрел на этот вопрос: как запретить пользователям sudo запускать определенные команды? а также прочтите это руководство: https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos. Кажется, вопрос указывает на то, что первая попытка должна была сработать, в то время как в руководстве, похоже, указывалось, что вторая попытка должна была сработать. Так что же работает?