- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
1. s位叫特权位,英文的叫法有setuid,setgid,suid,sgid等
特权位s
一个可执行文件拥有s位时,当别的用户来执行这个可执行文件的话,使用的权限是此可执行文件属主或者属组的权限
只针对前三位,中间三位
对目录可以加,但是无效,因为目录不是命令,根本不能执行它
# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Feb 17 2012 /usr/bin/passwd
# ll /etc/shadow
----------. 1 root root 1434 Jul 17 09:27 /etc/shadow
--普通用户修改密码使用passwd能改自己的密码,但是密码是存放在/etc/shadow里,也就是说普通用户对/etc/shadow没有写的权限,但passwd可执行文件的前三位有s位,所以普通在调用passswd时是用的root的权限
# chmod u+s 1.txt --suid
# chmod g+s 1.txt --guid
小实验:
<1>,测试passwd命令的s位,去掉其s位,普通用户就不能自己改自己密码了,加上s位就可以了
chmod 777 /usr/bin/passwd 去掉s位
chmod 4755 /usr/bin/passwd 添加s位
<2>,/bin/touch这个命令是没有s位的,你可以尝试加上s位,然后用普通用户touch文件,观察效果。做完测试后,记得改回来也就是把s位去掉
chmod 4755 /bin/touch
<3>,普通用户能关机吗?怎么让普通用户关机
可以对关机命令加s位来让普通用户能关机,在rhel6下测试shutdown可以这样做,halt,init不能这样做
这只是一个理论讨论,实际情况不会这么做的
# shutdown -h now
2. 粘贴位t --只针对目录有效
特别用在/tmp目录
有t位的目录,任何用户在有权限的情况下是可以创建文件和目录,就算是有权限删除别人的文件或目录也不能删除
自己只能删除自己创建的目录,用于一些共享上传的文件服务器场合
会提示Operation not permitted --这是操作不允许,不是pemission denied
s位和t位注意的地方:
用数字表示
前三位上加s 4
中间三位加s 2
后三位加t 1
chmod 1777 /tmp
s位和t位大小写的区别
小写的话就表示 有x执行权限
大写的话就表示 没有x执行权限
3. 隐藏属性
lsattr --查看隐藏属性
chattr --修改隐藏属性
# lsattr 1.txt
-------------e- 1.txt
# chattr +A 1.txt --这个属性让文件的access time访问后也不会变化,节省了IO(IO优化);默认情况下rhel5,访问一次atime就会跟着变一次,rhel6下只有当atime等于或早于mtime和ctime之一时,才会访问跟着变,否则不会变。(原因我们在后面讲mount参数时再补充)
# lsattr 1.txt
-------A-----e- 1.txt
# stat 1.txt |tail -3 --用cat命令访问这个文件,再用此命令查看access time,会发现不再变化
Access: 2014-07-17 11:12:58.589838878 +0800
Modify: 2014-07-17 11:12:58.589838878 +0800
Change: 2014-07-17 11:13:15.405701371 +0800
# chattr +a 1.txt
一个文件加了a属性,重定向覆盖以前的内容不允许,也不可修改和删除,不可重命名,不可硬链接,可以软链接,但追加内容是可以的
# lsattr 1.txt
-----a-------e- 1.txt
# echo 456 > 1.txt
bash: 1.txt: Operation not permitted
# echo 456 >> 1.txt
# chattr -a 1.txt
# chattr +i 1.txt --加了i属性,此文件不可被修改,不可重命名,不可删除,不可做硬链接,可以软链接,只可以看内容
普通用户使用隐藏属性,可以添加A位,不能添加a和i位,也不能删除a和i位
售前咨询
售后咨询
备案咨询
二维码
TOP