@pstbin

Как запустить команду от другого пользователя Linux?

Добрый день.
Есть линукс (CentOS 7). На этом линуксе есть два обычных пользователя - "user1" и "user2".
Есть скрипт, который находится тут: "/home/user2/scripts/script1.sh".
User1 может запустить этот скрипт выполнив команду: "su user2 /home/user2/scripts/script1.sh", при этом консоль запросит пароль от user2.
Пароль я знаю, но как мне добавить этот пароль в команду, чтобы она выполнялась сразу, без запроса пароля?
Нашёл вариант "su user2:password /home/user2/scripts/script1.sh", но он не работает, говорит вот так "su: user user2:password does not exist".
Подскажите как побороть?
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
takezi
@takezi
Intelligent people are full of doubts.
$echo <password> | sudo -S <command>
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@pfg21
ex-турист
использовать sudo.
в конфиге /etc/sudoers прописать необходимые команды на запуск от другого юзера без запроса пароля.
Ответ написан
CityCat4
@CityCat4
У тролля даже мозги - и то каменные!
man sudo

Там просто какие-то невероятные возможности. Не знаю, как за обычного юзера, но за рута (запуск программы от рута без запроса пароля) делается вот так:
# Nagios Remote Plugin Executor priviegion
nrpe            ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Ответ написан
SUID, SGID
Ответ написан
@pstbin Автор вопроса
Спасибо всем вариант решения найдено: "$ echo password | su -l user2 -c /home/user2/scripts/script1.sh"
Вдруг ещё кому-то пригодится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы