小编Fab*_*ien的帖子

为什么在通过 ssh、sudo 和 sh 时重定向失败?

阅读完这个问题后,我知道我必须这样做

sudo sh -c 'ls -hal /root/ > /root/test.out'
Run Code Online (Sandbox Code Playgroud)

以避免“权限被拒绝”错误。

但是当我这样做时

ssh hostname sudo sh -c 'ls -hal /root/ > /root/test.out'
Run Code Online (Sandbox Code Playgroud)

从另一台机器,我得到

bash: /root/test.out: Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么?我怎样才能让它发挥作用?

编辑:有这条线

Defaults:<username>    !requiretty
Run Code Online (Sandbox Code Playgroud)

<username> ALL= NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

/etc/sudoers

我可以

ssh remote-machine 'sudo ls /'
Run Code Online (Sandbox Code Playgroud)

没有任何问题。所以我不认为这是一个 tty 问题。添加 -t 并不能解决问题。

linux ssh sudo redirection permissions

6
推荐指数
1
解决办法
2210
查看次数

标签 统计

linux ×1

permissions ×1

redirection ×1

ssh ×1

sudo ×1