Прочитав этот вопрос, я знаю, что я должен сделать
sudo sh -c 'ls -hal /root/ > /root/test.out'
чтобы избежать ошибки "Отказано в доступе".
Но, когда я делаю
ssh hostname sudo sh -c 'ls -hal /root/ > /root/test.out'
с другой машины, я получаю
bash: /root/test.out: Permission denied
Зачем? И как я могу заставить это работать?
Редактировать: есть линия
Defaults:<username> !requiretty
до
<username> ALL= NOPASSWD: ALL
в /etc/sudoers
.
я могу сделать
ssh remote-machine 'sudo ls /'
без каких-либо проблем. Так что я не думаю, что это проблема tty. Добавление -t не решает проблему.