标签:style blog http color strong 文件
1.setuid的作用
      
      $ ls -l /etc/shadow
-rw-r----- 1 
      root shadow 1186 2012-03-09 11:35 /etc/shadow
      
      $ ls -l /usr/bin/passwd
-rwsr-xr-x 1 
      root root 42856 2011-02-15 06:11 /usr/bin/passwd
      
      $ sudo chmod u-s /usr/bin/passwd
$ 
      ls -l 
      /usr/bin/passwd
-rwxr-xr-x 1 
      root root 42856 2011-02-15 06:11 /usr/bin/passwd
$ 
      passwd wlxxsj
更改 wlxxsj 的密码。
(当前)UNIX 密码:
输入新的 UNIX 密码:
重新输入新的 
      UNIX 密码:
passwd:认证令牌操作错误
passwd: 
      password unchanged2. 
      对setuid的误用
下面说一下我对setuid的一个误用。还是通过一个实验来说明。
先建立一个文件夹和两个文件,它们的关系及属性如下图所示:
      
其中rmtest.sh是一个shell脚本,作用是删除同目录下的rmtest.txt这个文件。
文件夹setuid,文件rmtest.sh和rmtest.txt的属主和属组都是root。
rmtest.sh具有setuid权限。
我期望的是,当用普通用户执行rmtest.sh这个脚本的时候,能够删除rmtest.txt这个文件。但是删除失败。
再来做个实验。
把rmtest.sh的s位去掉,给rm这个命令添加s位,然后用普通用户执行rmtest.sh这个脚本,rmtest.txt这个文件被成功删除。
3. 
      总结
我对setuid的误解:
当给一个脚本赋予了setuid权限后,脚本中的命令就会以脚本的身份执行。这是错误的。
应该这么理解:
setuid只对命令有效,对脚本无效。或者说只对原子操作(系统命令)有效,对组合操作(用户脚本)无效,除非脚本中
所用到的命令都具有setuid权限且与脚本同属主。
Shell编程 之 对setuid的误解,码迷,mamicode.com
标签:style blog http color strong 文件
原文地址:http://www.cnblogs.com/daojoo/p/3698833.html