命令:
bigxu@bigxu-ThinkPad-T410 ~/work/lean $ sudo ls
content_shell.pak leanote libgcrypt.so.11 libnotify.so.4 __MACOSX resources
icudtl.dat leanote.png libnode.so locales natives_blob.bin snapshot_blob.bin
大多数时候是对的,但有时很慢。
所以我追踪它。
命令:
bigxu@bigxu-ThinkPad-T410 ~/work/lean $ strace sudo ls
execve("/usr/bin/sudo", ["sudo", "ls"], [/* 66 vars */]) = 0
brk(0) = 0x7f2b3c423000
fcntl(0, F_GETFD) = 0
fcntl(1, F_GETFD) = 0
fcntl(2, F_GETFD) = 0
......
......
......
write(2, "sudo: effective uid is not 0, is"..., 140sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?
) = 140
exit_group(1) = ?
+++ exited with 1 +++
其他信息:
bigxu-ThinkPad-T410 lean # ls /etc/sudoers -alht
-r--r----- 1 root root 745 2月 11 2014 /etc/sudoers
bigxu-ThinkPad-T410 lean # ls /usr/bin/sudo -alht
-rwsr-xr-x 1 root root 152K 12月 14 21:13 /usr/bin/sudo
bigxu-ThinkPad-T410 lean # df `which sudo`
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb1 67153528 7502092 56217148 12%
最佳答案
出于安全原因,不能同时使用setuid位和ptrace(用于在调试器下运行二进制文件)。过去未能执行此限制导致CVE-2001-1384。
因此,任何出于安全考虑而设计的操作系统都将停止遵循setuid二进制文件exec上的ptrace,或者在使用ptrace时不遵循setuid位。
在Linux上,考虑改用Sysdig -只能查看但不能修改行为的ojit_a不会带来相同的风险。
关于linux - 无法追踪sudo;报告有效uid不为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34279612/