2014-02-13 5 views
0

Предположим, что я пользователь A (не пользователь root), и я хочу запустить скрипт c-shell, который будет выполнять команду в User B (пароль для B мне известен) и будет использовать результат этой команды здесь.выполнить команду как другого пользователя в сценарии оболочки unix csh

Как я могу запустить команду в User-B.

sudo -u username command1 

Вышеуказанная команда может запрашивать пароль, но я хочу, чтобы это выполнялось только в скрипте.

Спасибо за все ваши предложения.

ответ

1

вы можете использовать ключ SSH, чтобы позволить пользователю А войти как пользователь B, используя пользовательский личный ключ (и с пользовательским открытым ключом в ~ B/.ssh/authorised_keys)

, то вы просто выполнить сценарий, как B с:

ssh [email protected] "/path/to/script and maybe some arguments here" 
0

вы следующие опции,

  1. запустить команду с правами администратора, так что су - имя пользователя обыкновение запрашивать пароль
  2. создать passordless логин для пользователя, как беспарольного SSH, удалить пароль для пользователя и т.д., а затем запустить команду

для получения вывода здесь работать,

  1. записать его в файл и доступ к нему в коде
  2. хранить его в переменной и получить к ней доступ в коде
Смежные вопросы