当我尝试访问以该用户身份运行的 nginx 工作进程的符号链接时,遇到“权限被拒绝”错误adg
。
类似问题:Owner can't read /proc/$pid/io,但略有不同。我的问题是无法访问符号链接,并且 的输出ls -l
包含“Permission denied”错误(来自 stderr)和正常结果(来自 stdout)。具体输出如下:
- 打印nginx worker进程及它的fd信息:
root# ps -fp 2728114
UID PID PPID C STIME TTY TIME CMD
adg 2728114 2723696 0 21:11 ? 00:00:00 nginx: worker process
root# stat /proc/2728114/fd/0
File: /proc/2728114/fd/0 -> /dev/null
Size: 64 Blocks: 0 IO Block: 1024 symbolic link
Device: 0,21 Inode: 204114580 Links: 1
Access: (0700/lrwx------) Uid: ( 948/ adg) Gid: ( 948/ adg)
ls -l
与adg
用户和用户一起执行root
:
root# sudo -uadg ls -l /proc/2728114/fd/0
ls: cannot read symbolic link '/proc/2728114/fd/0': Permission denied
lrwx------ 1 adg adg 64 Aug 20 21:12 /proc/2728114/fd/0
root# sudo -uadg -gadg /bin/sh -c 'ls -l /proc/2728114/fd/0'
ls: cannot read symbolic link '/proc/2728114/fd/0': Permission denied
lrwx------ 1 adg adg 64 Aug 20 21:12 /proc/2728114/fd/0
root# ls -l /proc/2728114/fd/0
lrwx------ 1 adg adg 64 Aug 20 21:12 /proc/2728114/fd/0 -> /dev/null
- 检查用户和组:
root# grep adg /etc/passwd
adg:x:948:948::/home/adg:/sbin/nologin
root# id -nu 948; id -ng 948
adg
adg
- 检查状态
selinux
root# sestatus
SELinux status: disabled
root
用户可以正常访问 fd,但所有者不能,有人可以帮助我解决这个问题吗?