如何从sudoers级联权限工作?

时间:2016-03-09 15:25:07

标签: shell permissions root sudoers

对于unix人来说,这可能不是一件容易的事。只是想问一个简单的查询。 我创建了3个脚本:

  1. wrapper.sh
  2. inside1.sh
  3. inside2.sh
  4. 在wrapper.sh中,我正在调用inside1.shinside2.sh。现在我以用户bob身份登录,在sudoers文件中,我已授予bob权限,以root身份运行wrapper.sh。 我故意没有为用户bob提供所有3个脚本的读取或执行访问权限。所以' bob'看不到现有的脚本。 现在,因为我在sudoers中添加了wrapper.sh,所以我能够以root身份运行wrapper.sh文件。 wrapper.sh内的id命令打印id=0

    但是当调用inside1.shinside2.sh的行执行时,会出现错误,指出inside1.sh - 未找到。

    所以来看我的问题:

    如果shell脚本设置为在sudoers文件中以root身份运行,并且该shell脚本调用多个其他shell脚本,那么其他脚本是否会以root执行?权限会级联吗?

    有人可以澄清吗?感谢您的耐心等待。

1 个答案:

答案 0 :(得分:0)

inside1.sh的整个路径必须以root身份打开,否则他将无法查看该文件。要检查这一点,请运行类似

的内容
U_PATH= < path to inside1.sh > 
LIST=` echo ${U_PATH} | sed  "s/\// /g" `
T_PATH=""

for x in $LIST
do
   echo ${x}
   T_PATH=${T_PATH}/${x}
   ls -lsd ${T_PATH}
done

并检查所有内容是由root拥有还是作为权限&gt; 555。