【问题标题】:Permission denied even with sudo [duplicate]即使使用 sudo,权限也被拒绝 [重复]
【发布时间】:2023-06-29 12:04:01
【问题描述】:

按照本教程进行操作

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04

并尝试使用命令

echo 'prefix=/usr/local' > node/etc/npmrc

但是,即使使用 sudo,我也会收到权限被拒绝错误。

有什么想法吗?

【问题讨论】:

    标签: linux ubuntu digital-ocean


    【解决方案1】:
    echo 'prefix=/usr/local' > node/etc/npmrc
    

    但是,即使使用 sudo,我也会收到权限被拒绝错误。

    您尚未向我们展示使用 sudo 的失败命令。请更新您的问题并向我们显示失败的确切命令以及确切的错误消息。

    同时,我猜到失败的命令是:

    sudo echo 'prefix=/usr/local' > node/etc/npmrc
    

    以 root 权限运行echo 命令(这并不是特别有用,因为您可以以普通用户身份运行echo)。重定向由您当前的shell进程处理,并受当前用户的权限限制。

    由于> 由shell 处理,您需要一个以root 运行的shell 来处理它:

    sudo sh -c "echo 'prefix=/usr/local' > node/etc/npmrc"
    

    【讨论】:

    • | sudo tee 是另一种常见的方式。