我制作了一些脚本,其中包含了一些设计上需要sudo许可的函数。我在.bashrc ( Linux )和.bash_profile ( MacOS )中添加了这些路径,这样就可以在任何地方调用它。
但是,我不希望用户每次调用这些脚本函数时都输入sudo。我是否可以用一种方式来暗示sudo:每当调用这些函数时,终端都会假设它是从根用户调用的?
我想我应该在脚本的开头添加sudo -i,或者每个函数都添加?或者,还有其他方法来暗示sudo吗?另外,很高兴知道你是否认为暗示sudo是可怕的或危险的,如果不推荐的话。
一个包含一些函数的dangerous-function脚本示例,我试图在不指定sudo的情况下完成这些功能
#!/bin/bash
start-one()
{
## do dangerous stuff with sudo
systemctl start dangerous.service
}
start-two()
{
systemctl start dangerous1.service
}
start-launchwizard()
{
systemctl start dangerous2.service
}
## Calling functions one by one...
"$@"我不想通过sudo dangerous-function start-one给他们打电话,我只想用dangerous-function start-one给他们打电话,但结果还是和前一个一样。
发布于 2019-04-06 07:12:37
您可以在/etc/sudoers中添加脚本(最好使用“`visudo”),这样用户就可以访问它。
user ALL= /path/to/script然后,用户将能够在没有sudo的情况下执行path/to/script。
https://unix.stackexchange.com/questions/510855
复制相似问题