【发布时间】:2018-05-11 13:55:36
【问题描述】:
我有如下所示的 shell 脚本,用于更改/切换到另一个 ISP 连接。
#!/bin/bash
/sbin/route add default gw 192.168.1
/sbin/route del default gw 192.168.1.2
/sbin/route del default gw 192.168.1.3
/sbin/route -n
我对我的 Ubuntu 机器具有 root 访问权限,但我需要以普通用户身份运行上述 shell 脚本。我该怎么做?
注意:
案例 1: 我们的本地机器登录到 LDAP 服务器,所以我无法将我的 Linux 用户名添加到 sudoers/visudo。
案例 2: 我已经将该脚本移至 /bin 目录,并为我的脚本添加了 SUID 特殊权限。但是普通用户不能运行这个脚本。
【问题讨论】:
-
您是否在案例 2 中遇到任何错误?
-
考虑 sudo(为什么你认为这不是一个选项?),脚本不支持 setuid。
-
另请参阅有关“如何让我的 PHP 脚本在不以 root 身份运行 HTTP 服务器的情况下使用 root 访问权限”的各种问题,其中一些包含围绕 @987654327 工作的黑客@要求。
-
运行脚本时出现以下错误: SIOCADDRT: Operation not allowed SIOCDELRT: Operation not allowed 我可能认为 sudo 不适用于我的情况。因为我们的用户帐户是在 LDAP 服务器中创建的。由于这个原因,在我的本地计算机中找不到本地我的用户帐户。我没有任何 LDAP 服务器访问权限。如果我想将用户名添加到 sudo/sudoers/visudo 我需要在本地机器上的帐户,对吗?
标签: linux shell permissions ownership