почему "sudo -u xxx cmd" не работает, а "sudo -u xxx /path/to/cmd" работает?

Если вы делаете это, чтобы создать настраиваемую виртуальную машину TurnKey, которую можно распространять с предварительно заданными значениями, то есть другой вариант, который, вероятно, немного менее вовлечен (для некоторых).

Загрузите виртуальную машину, запустите первые сценарии загрузки вручную, создайте файл предварительной загрузки, как хотите. Затем сбросьте флаг RUN_FIRSTBOOT / etc / default / inithooks ), чтобы он повторно запускал сценарии первой загрузки при следующей загрузке (первая загрузка извлеченного виртуального устройства).

2
22.03.2017, 01:01
2 ответа

Это происходит потому, что ваш файл sudoers позволяет применять атрибут NOPASSWD при вызове явного пути к исполняемому файлу, но не когда вы полагаетесь на поиск пути; он может попасть в другой исполняемый файл.

1
27.01.2020, 22:10

Когда пользователю разрешено выполнять команду от имени другого пользователя правилом в файле sudoers , которое указывает полный путь к исполняемому файлу, тогда этот полный путь должен быть также можно использовать в командной строке.

Это мера безопасности.

Кроме того, если команда в файле sudoers указана с флагами командной строки, эти флаги должны присутствовать , когда вы вызываете команду через sudo .

1
27.01.2020, 22:10

Теги

Похожие вопросы