Этот метод перенаправляет stderr на stdout, а затем трубы на tee. Думаю, это немного читабельнее.
exec 2>&1 | tee log.file
Я тестировал это на своей машине и не сталкивался с проблемой "съедания новой строки".
Может быть, вы можете попробовать это:
ssh -t tlous@server.example.com "sudo -u serviceAccount whoami"
На основании вашего вывода из sudo -l
, а именно:
User tlous may run the following commands on this host:
(root) /usr/bin/su - serviceAccount, /bin/su - serviceAccount
Вам даются явные права в конфигурации sudoers
на выполнение двух определенных команд:
/usr/bin/su - serviceAccount
/bin/su - serviceAccount
Добавление дополнительных параметров при попытке (e. г.sudo -u serviceAccount whoami
)отсутствует в утвержденном списке команд.
Вам потребуется попросить системного администратора добавить в конфигурацию sudoers
другие команды, к которым вы хотите получить доступ, для выполнения через sudo
.