Linux关于文件的特殊权限

1.特殊权限及文件系统访问控制列表
引入: [root@zhg ~]# ls -l `which passwd`
显示结果:-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd
备注:重点看s
特殊权限有3个
SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者(启动者可以临时拥有root权限)
格式: chmod u+s FILE
chmod u-s FILE
注意: 如果FILE本身原来就有执行权限,则SUID显示为s(小写),否则显示为S(大写)
举例: [root@zhg ~]# ls -l /bin/cat 
显示结果: -rwxr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[root@zhg ~]# ls -l /etc/shadow
显示结果: ----------. 1 root root 797 2月  14 00:41 /etc/shadow
[root@zhg ~]# useradd hadoop
[root@zhg ~]# su - hadoop
[hadoop@zhg ~]$ cat /etc/shadow
显示结果: cat: /etc/shadow: 权限不够
[root@zhg ~]# chmod u+s /bin/cat 
[root@zhg ~]# ls -l /bin/cat 
显示结果: -rwsr-xr-x. 1 root root 45224 11月 22 2013 /bin/cat
[root@zhg ~]# su - hadoop
[hadoop@zhg ~]$ whoami
显示结果: hadoop
[hadoop@zhg ~]$ cat /etc/shadow
备注:这样就可以看到了
注意: 我们发现一个文件的属主是root,又给了他SUID,这带来的风险是极大的!
如果这个文件其他人还有编辑权限就会更加麻烦,随便往里面编辑一条命令,比如rm -rf /,系统就完蛋了!

另:
[root@zhg ~]# ls -l /usr/bin/passwd 
显示结果: -rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd
备注: 大家会发现默认就有s权限,因为普通用户也能该自己密码
实例: 写了一个脚本,如果需要获取系统属性,此时必须要有s权限。
以前网站后台用perl语言写的脚本都需要有s权限获取信息,这样的网站很容易被入侵。

你可能感兴趣的:(Linux关于文件的特殊权限)