我想让正在从另一个网站自动迁移网站的脚本能够将 Includes 附加到 /etc/httpd/conf.d/vhosts.conf 文件。
但是,当我尝试使用 echo 将字符串附加到文件末尾时,我得到了这个:
$ sudo echo "Include thing" >> /etc/httpd/conf.d/vhosts.conf
-bash: /etc/httpd/conf.d/vhosts.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)
但我可以 vi /etc/httpd/conf.d/vhosts.conf,添加该行和 :wq 文件以保存并关闭它。
我错过了什么?
免责声明:我在系统管理员方面还是个新手。
我正在尝试在 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或手动编辑的可能解决方案?
sudo cat idenityfile.rsa >authorized_keys
-bash:authorized_keys:权限被拒绝
如果我 su - 给用户,那么我可以做到这一点,但为什么我不能用我的用户的 sudo 做到这一点?