![](/img/trans.png)
[英]how to switch to root user without entering password in bash script on RedHat
[英]Switch to root user within bash script
我目前以管理员身份登录,我想编辑需要root访问权限的/etc/hosts文件。
我无法进行更改。 脚本成功执行,但未进行更改。
我的脚本 - 从终端执行时成功运行
sudo -s
echo "127.0.0.1" >> /etc/hosts
su admin
sudo -s - 从终端执行时切换到没有密码的 root
su admin - 在终端上运行时切换回管理员用户
运行脚本后,我的 /etc/hosts 文件保持为空
无需在脚本中实际切换用户。
此外,您不能像这样以 root 身份echo
某些内容,因为重定向 ( >>
) 是由 shell 执行的。
一种可能的解决方法是使用tee
:
echo "127.0.0.1" | sudo tee -a /etc/hosts
进一步解释:
tee
基本上从标准输入获取数据并将其写入标准输出或文件。 有关更多信息,请参阅命令手册 ($ man tee
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.