Solaris 11 /proc 权限被拒绝

Solaris 11 /proc 权限被拒绝

我有一台运行 Oracle 数据库的 Solaris 11.1 服务器。我想以 oracle 用户身份读取正在运行的 oracle 进程的环境,如下所示:

$ id
uid=100(oracle) gid=100(oinstall)
$ ps -fuoracle | grep pmon
oracle  1651     1   0 10:25:37 ?           0:01 ora_pmon_TESTDB
$ pargs -e 1651
pargs: cannot examine 1651: permission denied
$ ls -ld /proc/1651
dr-x--x--x   5 oracle   oinstall     864 Nov 23 10:25 /proc/1651

我如何授予 Oracle 读取其已拥有的进程的权限?

回答 Iain 的问题,PID 目录下的文件具有不同的权限,但仍然归 oracle:oinstall 所有,如下所示:

dr-x------   2 oracle   oinstall      32 Nov 23 10:25 contracts
-r--------   1 oracle   oinstall      36 Nov 23 10:25 cred
--w-------   1 oracle   oinstall       0 Nov 23 10:25 ctl
lr-x------   1 oracle   oinstall       0 Nov 23 10:25 cwd ->
dr-x------   2 oracle   oinstall     528 Nov 23 10:25 fd
-r--------   1 oracle   oinstall       0 Nov 23 10:25 ldt
-r--r--r--   1 oracle   oinstall     120 Nov 23 10:25 lpsinfo
-r--------   1 oracle   oinstall     816 Nov 23 10:25 lstatus
-r--r--r--   1 oracle   oinstall     536 Nov 23 10:25 lusage
dr-xr-xr-x   3 oracle   oinstall      64 Nov 23 10:25 lwp
-r--------   1 oracle   oinstall    9504 Nov 23 10:30 map
dr-x------   2 oracle   oinstall    1824 Nov 23 10:25 object
-r--------   1 oracle   oinstall  258800 Nov 23 10:25 pagedata
dr-x------   2 oracle   oinstall    2352 Nov 23 10:25 path
-r--------   1 oracle   oinstall      72 Nov 23 10:25 priv
-r--r--r--   1 oracle   oinstall     336 Nov 23 10:25 psinfo
-r--------   1 oracle   oinstall    9504 Nov 23 10:25 rmap
lr-x------   1 oracle   oinstall       0 Nov 23 10:25 root ->
-r--------   1 oracle   oinstall    2304 Nov 23 10:25 sigact
-r--------   1 oracle   oinstall    1136 Nov 23 10:25 status
-r--r--r--   1 oracle   oinstall     256 Nov 23 10:25 usage
-r--------   1 oracle   oinstall       0 Nov 23 10:25 watch
-r--------   1 oracle   oinstall  119016 Nov 23 10:25 xmap

答案1

Solaris 现在使用权限集(请参阅:'man 权限' na 'man ppriv')。 pargs 命令可能继承了比所检查的进程 1651 更少的权限(来自 shell)。实际上,它导致拒绝权限。

要检查进程权限,可以使用 ppriv 命令:

ppriv -v ...

设置:

ppriv-s ... ...

列出所有权限及其描述:

私有-lv

要了解问题原因,您可以使用:

ppriv -D -e pargs -e 1651

答案2

您需要检查 /proc/1651 目录中文件的权限。我认为信息系统文件包含相关信息,因此请检查其权限。

相关内容