我已经在本地Linux (sabayon)操作系统上安装了Apache,只是为了进行编程测试。
我想要的是一个脚本,以便服务器在我需要的时候立即启动。
这是代码:
#!/bin/bash
# een script dat de apache server start
/etc/init.d/apache2 start唯一的问题是Apache需要根权限,但我是一个普通用户。现在,我可以使用sudo ./apache_start.sh从命令行运行这个脚本,但我不想这样做。我只想双击它并启动Apache服务器。
那么,我能做什么才能使脚本作为根用户而不是普通用户运行呢?
我不在乎是否有询问密码的提示,我只是不想打开控制台,导航到文件等等。
发布于 2012-03-04 22:44:11
如果要执行所做的操作,则不能使用默认init脚本。此外,如果您希望它在端口80上运行,则不能在没有根权限的情况下启动它,因为只有root才能在端口80上启动侦听器。
在我看来你有两个选择。在高于1024的端口上运行,然后从命令行手动执行apache。或者使用sudo:
visudo添加一行您的用户名
username ALL=NOPASSWD: /etc/init.d/apache2 start, /etc/init.d/apache2 stop你的桌面快捷方式告诉它执行
sudo /etc/init.d/apache2 start发布于 2012-09-03 01:56:46
您可以使用gksudo直观地获取根权限,这很好。
#!/bin/bash
if [ "$EUID" = "0" ]; then
# we're root, so just run it
service apache2 start
exit 0
fi
# otherwise, try running it with a visual prompt for superuser
gksudo service apache2 starthttps://unix.stackexchange.com/questions/46995
复制相似问题