标签:特殊权限软硬链接
2.18 特殊权限set_uid2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬连接文件
2.18 特殊权限set_uid
了解就好
更改root密码时,使用过passwd命令,看一下passwd在哪还有权限。
是一个红色的文件,并且权限位前三位不是rwx而是rws第一次见。
rwx分别是可读可写可执行。这个s是set_uid的权限。
再linux下passwd支持普通用户自己改密码,改密码就意味着要改密码的文件。/etc/shadow就是这个文件
权限-----,这样的文件普通用户为什么能改?root自己都没权限。root用户必定是super管理员(有改权限的权限),就算---也能改。
现在又想让普通用户能改密码,文件又不能让他写。所有就有了这个特殊权限set_uid(除了所有者,其他用户当他去执行带set_uid权限的这个命令时,执行的那一瞬间就会被赋予这个命令的所有者的权限)也就是普通用户执行set.就临时拥有root身份的意思。
要给一个文件设置setuid前提是二进制文件。
昨天讲的权限中 9位分3段,u=user g=group o=ohter,分成了这三组。
首先我切换到wt用户(普通用户)
su - **切换用户。ls一下/root/目录
显然不行,普通用户权限不够。
可以看到普通用户是---,不可写不可读不可执行。那先回到root给ls设置一个sd权限,用chmod u+s//u就是user /usr/bin/ls (可以理解为临时变身root用户)
再来看 这个也变红色了,s也有了。再回到wt用户看一下,果然能看了,单权限依旧没变 还是---。
也就是ls临时拥有了root用户的权限,要去掉他-s就ok
换一种方法附加sd权限,chomd u=rws /usr/bin/ls
s变大S了,是因为这样没有x权限了,所以加上就ok
又变成小s了。实际上大写的S也不受影响(因为加了S本身就又执行的内容,所以就算没x也没问题)。
sd也可以加目录上,不过没什么意义,目录不用去执行。
总的来说set_uid就是给一个临时root的权限,比较方便,像普通用户也可以去修改root密码这类的权限。
2.19 特殊权限set_gid
先把上面的ls还原成原来的rwx
然后chmod g+s /usr/bin/ls
看一下文件变成了×××的背景,其实set_gid的功能和setuid挺像的,只不过是换了个角色。
原来是普通用户拥有所有者的身份,现在的普通用户临时拥有所属组的身份。
r-s可以看到所属组上又个s。
对于root 所有者和所属组都是r-x,所以set_gid也能使wt查看root。
那也可以对目录设置这个权限。
当给一个目录设置setgid那这个子文件的子目录和所属组,会与刚才创建目录的所属组保持一致。
2.20 特殊权限stick_bit
系统又一个目录有这个权限
这个权限最后一个rwt,这个t就是stick_bit。
谁的文件谁做主,防删除权限,靠他的副级目录决定。(比如tmp下有wt sxx都再用 防止其他人删除文件)
很简单 比如
user1可以修改aming的文件,但不能删除。 所以这个权限就是防删除位,只有有权限的人才可以删除。(这个权限就是防删除,root用户除外)
把目录权限改成rwxrwxrwx 777。 那就可以被其他用户删除了。
这三个权限大致理解一下就可以了不用深究。
2.21 软链接文件
类似于windows的快捷方式
这个bin就是软连接 其实就是一个软链接,比如/bin/ls 和ls一样的一个文件。
再文件本身存了另外一个路径。路径越长就越大。
lib64里软链接特别多,绿色的。
软链接比较节省空间比拷贝方便。
ln -s 要做的链接 目标地 这个格式做软链接。 例:ln -s /tmp/yum.log /root/wt/yum.log
软连接 还可以连接目录,同样的操作格式。相对路径的做法只会再当前目录下,移动时可会除出错红色闪烁警告。
还可以划分区。
2.22 硬连接文件
硬链接不支持对目录做硬链接,只支持对文件。
两个文件inode号一样,相互为硬链接,而软链接只是一个快捷方式找不到源时候就会问题,硬链接就没问题相当于多了一个文件。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:
文件有相同的 inode 及 data block;
只能对已存在的文件进行创建;
不能交叉文件系统进行硬链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同 inode 号的文件。
标签:特殊权限软硬链接
原文地址:http://blog.51cto.com/13646170/2092764