简单验证
看 /usr/bin/passwd 有 suid
-rwsr-xr-x 1 root root 47032 /usr/bin/passwd
用 payne运行它,发现用户是 root
payne@payne-MS-7678:~/try/uid$ passwd
root 2621 0.0 0.0 64636 1596 pts/12 S+ 20:03 0:00 \_ passwd
( 这就是 suid的作用,运行时变owner id, 从来可以获得owner id的权限)
shell 脚本实验
编写 1.sh,设置为跟上边一样的权限
-rwsrwxr-- 1 root payne 50 19:53 1.sh*
用payne运行起来没有变 root
payne 3027 100 0.0 27196 3088 pts/12 R 20:19 0:08 \_ -bash
一般可执行文件实验
编译一个可执行文件,设置 owner root , 并设置 suid
-rwsrwxr-x 1 root payne 8497 20:16 a.out*
用payne运行起来变 root 了
root 3043 100 0.0 4188 356 pts/12 R 20:21 0:05 \_ ./a.out
结论:
shell脚本的suid 并不生效