Именно для этого и был разработан sudo
.
Во-первых, кому-то с root-доступом нужно будет создать строку конфигурации, подобную этой, для/etc/sudoers
(или /etc/sudoers.d/*
, если это поддерживается вашей версией ОС):
test1 ALL=(test2) NOPASSWD: /data/tempWork/fazitst
Это позволит пользователюtest1
(на ALL
хостах с использованием копии этого sudoers
файла )выполнить от имени пользователя test2
без запроса пароля команду /data/tempWork/fazitst
с любой командой -. ] параметры строки (или вообще отсутствуют ).
Затем пользователь test1
может выполнить его с помощью:
sudo -u test2 /data/tempWork/fazitst
Если переменная среды $HOME
должна указывать на домашний каталог пользователя test2
во время выполнения команды, вам может потребоваться или не потребоваться добавить параметр -H
к команде sudo
, в зависимости от конфигурация по умолчанию sudo
в вашей версии ОС. В этом случае команда для запуска пользователя test1
будет:
sudo -Hu test2 /data/tempWork/fazitst
Если важно, чтобы среда была настроена точно так же, как при запуске su - test2
, то необходима опция -i
параметра sudo
:
sudo -iu test2 /data/tempWork/fazitst