最新消息:

sudo echo "test" >> /etc/rc.local 显示 bash: /etc/rc.local: Permission denied

bash admin 8481浏览 0评论

当我们 交换完 SSH 秘钥,又做完 sudo 设置

通过远程 ssh 调用 sudo 有提示 权限不够(Permission denied)

比如:

[root@aikaiyuan /root]# ssh www.aikaiyuan.com -l aikaiyuan 'sudo echo "test" >> /etc/rc.local'
bash: /etc/rc.local: Permission denied

分析:

bash 返回 /etc/rc.local: Permission denied

  • 这是因为重定向符号 “>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 root 权限,
  • 但是没有让 “>” 命令也具有root 权限,所以 bash 会认为这个命令没有写入信息的权限。

解决:

使用 bash -c 参数

[root@aikaiyuan /root]# ssh www.aikaiyuan.com -l aikaiyuan 'sudo bash -c "echo "test" >> /etc/rc.local"'

转载请注明:爱开源 » sudo echo "test" >> /etc/rc.local 显示 bash: /etc/rc.local: Permission denied

您必须 登录 才能发表评论!