Я хочу сделать что-то вроде нижеКак запустить несколько команд над Судо с помощью другого пользователя
ssh -t 10.x.xx.xxx "sudo -s -u user1 /bin/bash -c 'tar --warning=none -xf abc.tgz;cd abc/def;'"
Но это дает мне следующую ошибку
дегтя: Вы должны указать один из -Acdtrux' or
--test -label ' Попробуйте tar --help' or
tar --usage' для получения дополнительной информации.
Команда 'cd' довольно бессмысленна; оболочка, в которой вы меняете рабочий каталог, выходила сразу после выполнения команды. – chepner
@chepner На самом деле есть много других команд, следующих за tar, например, я добавил команду «cd». Итак, как я могу убедиться, что команды после tar также запускаются как user1. – tushR
Это немного сложно. вам примерно нужно: 1) запустить tar 2) сделать что-нибудь еще, что вы хотите 3) запустить интерактивную оболочку, чтобы что-то все еще выполнялось, чтобы предотвратить «ssh» от выхода и выхода из системы. Было бы намного проще, если бы вы могли войти в систему как 'user1', но это потребует наличия пароля, а не использования' sudo' с вашим собственным паролем. (Если вам не нужно оставаться в системе, я просто предположил, что из 'cd'.) – chepner