免责声明:我在系统管理员方面还是个新手。
我正在尝试在 AWS EC2 实例中设置端口转发,这必须在命令行中完成,因为我不想进入并编辑任何内容,它必须是自动的(这是构建过程的一部分)。
sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
Run Code Online (Sandbox Code Playgroud)
没有权限
奇怪的是我已经(成功地)使用sudo了几乎所有需要su特权的命令。如果我sudo su在命令之前执行(在ssh会话中手动尝试),则它可以工作。
这背后的原因?不涉及sudo su或手动编辑的可能解决方案?
如果您尝试附加到没有写权限的文件(例如,由 root 拥有并具有 0440 权限的 /etc/sudoers 文件),如果您是实际的 root 用户,这将起作用。但是,如果您是另一个使用 sudo 的用户,则会收到权限被拒绝错误。
为什么是这样?这不是因为文件的所有权 - 它也不适用于普通用户拥有的文件。真正的 root 用户似乎拥有比 sudo 授予的更多权限。这样做的理由是什么?有没有办法向使用 sudo 的用户授予此权限?