命令:

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/

10-12 14:39