2

Я пытаюсь запустить скрипт, не становясь пользователем su, и я использую эту команду для этого:

echo "password" | sudo -S <command>

Если я использую эту команду для команд "scp", "mv", "whoami", команда работает очень хорошо, но когда я использую для "chmod", команда запрашивает пароль для моего пользователя. Я не ввожу пароль и команда работает. Моя проблема в том, что система запрашивает у меня пароль. Я не хочу, чтобы система запрашивала пароль.

Проблема сс такова:

[myLocalUser@myServer test-dir]$ ls -lt
total 24
--wx-wx-wx 1 root root 1397 May 26 12:12 file1
--wx-wx-wx 1 root root  867 May 26 12:12 script1
--wx-wx-wx 1 root root 8293 May 26 12:12 file2
--wx-wx-wx 1 root root 2521 May 26 12:12 file3

[myLocalUser@myServer test-dir]$ echo "myPassw0rd" | sudo -S chmod 111 /tmp/test-dir/*
[sudo] password for myLocalUser: I DONT WANT ASK FOR PASSWORD

[myLocalUser@myServer test-dir]$ ls -lt
total 24
---x--x--x 1 root root 1397 May 26 12:12 file1
---x--x--x 1 root root  867 May 26 12:12 script1
---x--x--x 1 root root 8293 May 26 12:12 file2
---x--x--x 1 root root 2521 May 26 12:12 file3

1 ответ1

2

sudo печатает эту подсказку на stderr до прочтения переданного по паролю пароля. Перенаправьте стандартную ошибку, чтобы не видеть ее:

echo "password" | sudo -S command 2> /dev/null

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .