我使用以下bash脚本在Fedora 29上运行本地Web服务器。执行脚本后,需要键入两次root密码。
#!/bin/bash
systemctl enable httpd.service
systemctl start httpd.service
systemctl start mariadb.service
如何将root密码保存在上述脚本中,并在提示输入密码时将其传递给我?
提前感谢您的合作。
答案 0 :(得分:1)
更好的方法是使用sudo
命令并将用户配置为无密码执行systemctl
命令
#!/bin/bash
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
sudo systemctl start mariadb.service
答案 1 :(得分:0)
出于许多原因,这通常是一个坏主意。您不应该传递密码,更不用说纯文本了。还允许无密码执行命令,更不用说root
了。
当其他人可以访问您的系统时,绝对禁止罗密欧·尼诺夫(Romeo Ninov)建议将systemctl
配置为在没有任何提示的情况下执行,并且即使您是在自己工作,也完全是不好的作法。
一个更好的主意是向您的sudoers
文件中添加一个新条目,使您可以使用sudo调用此脚本及其内容,而无需提示输入root
密码。
查看this帖子,了解如何实现此目的。