即使我在组中也无法执行命令并且命令是 -rwx--x---

use*_*237 2 permissions executable shell-script group

我在$ORACLE_HOME/OPatch目录中,当我输入时,opatch我得到的响应是,

-bash: opatch: command not found 
Run Code Online (Sandbox Code Playgroud)

如果我这样做./opatch,那么我得到的回应是,

/bin/sh: ./opatch: Permission denied
Run Code Online (Sandbox Code Playgroud)

ls -lOPatch节目中-rwx--x---

所以对于oinstall组,它应该有执行权限并id -g确认用户属于oinstall 。组。

那么为什么我不能opatch在这种情况下执行呢?

Cel*_*ada 6

听起来像是opatch一个脚本。也就是说,它是一个文本文件,开头#!并列出了它的解释器(可能是/bin/sh)。只有编译后的二进制文件(直接可执行代码)才能在没有读取权限的情况下执行。对于所有脚本,无论解释器(shpython,等等...),解释器都需要能够打开文件,该文件要求读取权限和执行权限。

  • @user1617237 它需要 R 和 X,而不是 W。 (2认同)