我有一个安装脚本,需要以管理员身份运行。自从没有人知道如何自动运行它,我想至少减少手动启动的痛苦。该脚本只有一行:
sudo mount ... more params
当我选择执行时,没有任何反应:
我也尝试过这个答案, 没有效果。如果我从终端运行脚本,一切正常。
答案1
您可以设置一条sudo
规则,以便所有用户、某些特定用户和/或特定组的所有成员都可以在没有密码的情况下运行脚本。例如在/etc/sudoers
:
Cmnd_Alias MYSCRIPT = /usr/local/sbin/mountscript.sh
...
...
cas ALL = NOPASSWD: MYSCRIPT
%admin ALL = NOPASSWD: MYSCRIPT
这允许用户cas
和组的所有成员以 root 身份admin
运行,/usr/local/sbin/mountscript.sh
而无需输入密码。
mountscript.sh
应该非常简单。最好是不接受任何参数,也不接受用户的任何输入,而只执行一组固定的操作(例如,将文件系统挂载到特定位置然后退出)
如果需要,您也可以以unmountscript.sh
相同的方式在 sudo 中进行设置...只需添加/usr/local/sbin/unmountscript.sh
到定义行的末尾即可Cmnd_Alias
。
最后,桌面上的图标将是:
- 运行
sudo /usr/local/sbin/mountscript.sh
或 - 运行一个包装 shell 脚本,除了
sudo /usr/local/sbin/mountscript.sh
在这两种情况下,提到的所有脚本都应该是 mdae 可执行文件chmod