0

我使用以下 bash 脚本在 Fedora 29 上运行我的本地网络服务器。执行脚本后,需要输入两次 root 密码。

#!/bin/bash
systemctl enable httpd.service
systemctl start httpd.service
systemctl start mariadb.service

如何在上面的脚本中保存 root 密码并在提示时传递相同的密码?

提前感谢您的合作。

4

2 回答 2

1

更好的是使用sudo命令并配置您的用户以无密码执行systemctl命令

#!/bin/bash
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
sudo systemctl start mariadb.service
于 2019-02-06T09:31:35.890 回答
0

这通常是一个坏主意,原因有很多。你不应该传递密码,更不用说明文了。还允许无密码执行命令,更不用说root可能是灾难性的了。
当其他人可以访问您的系统时,绝对禁止Romeo Ninov 建议将其配置systemctl为在没有任何提示的情况下执行,即使您自己工作也是一种糟糕的做法。

更好的主意是在 youtsudoers文件中添加一个新条目,允许您使用 sudo 调用此脚本及其内容,而无需提示您输入root密码。

查看这篇文章,了解如何实现这一目标。

于 2019-02-06T09:38:16.073 回答