95

特殊权限 set_uid、set_gid、stick_bit,软链接文件,硬链接文件-handsome灿的博客-51...

 6 years ago
source link: http://blog.51cto.com/13589255/2067896
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

特殊权限 set_uid、set_gid、stick_bit,软链接文件,硬链接文件

        特殊权限 set_uid

set_uid:

blob.png

这里的s 就是set_uid 权限

 linux 下的passwd文件是允许普通用户修改自己的密码的 (/etc/shadow :密码文件)

set_uid 是让普通用户在执行此命令的时候,赋予普通用户临时 root权限,给一个文件设置uid,首先这个文件是二进制文件、可执行文件

怎么给一个文件授权set_uid权限

如:给ls 命令设置该权限

chmod u+s /usr/bin/ls

blob.png

此时查看 ls -l /usr/bin/ls 可以看到 /usr/bin/ls 变成红色。同时在权限那里也有s权限

删除这个权限 chmod u+s /usr/bin/ls

chmod u+s /usr/bin/ls

一个普通能执行一个命令 主要还是要这个这个命令在其他用户那里拥有 x 执行权限,最后才能使用 set_uid来赋予临时root权限

        特殊权限 set_gid

set_gid 使文件执行阶段具有文件所有组的权限 ,使普通用户拥有所属组权限

chmod g+s/usr/bin

blob.png

此时在所属组的那里,权限就有了s 权限

set_gid 不仅可以作用在文件上,也可以作用在目录上

blob.png

当我们给我们的目录 设置了set_gid 后,在这个目录下创建子目录和文件的时候,创建的子目录和文件的所属组就会随着我们父级目录所属组

(设置了set_gid的目录)保持一致

如:将目录234 (chmod g+s 234)设置set_gid后,我们再修改我们的所属组,chown :user 234 此时我们的所属组变成了user

当我们再次在 这个目录下创建子目录和文件的时候,创建的子目录和文件的所属组就会变成了user

blob.png

特殊权限 stick_bit

文件是否可以被某个用户删除,主要取决于该文件在这个目录是否对该用户具有写权限。有写功能即可删除,否则反之!

stick_bit 防止别人删除我们自己的文件

blob.png

rwt 也是具有x权限的

当我们的目录添加了一个 stick_bit权限,则我们在其他用户 的时候就不能删除这个文件和目录,但是可以修改。

          软链接文件

什么样的文件属于软连接?(window下的相当于快捷方式)

blob.png

这里的bin 就是软连接文件 但是真时的bin 时/usr/bin

blob.png

ls也一样

软连接:在文件中存了一个另外一个文件的路径或者目录的路径,链接文件的大小和路径有关,路径越长文件越大

软连接文件有什么用?

1.可以节省空间

blob.png

如:把/root/123/1.txt 放在/tmp/123/12/1.txt 如果复制的话 则会占据大空间,当我们原文件变化时需要再次复制

如果做成软链接则节省空间且同步

做成软链接格式:

ln -s 源文件 目标文件 (以绝对路径写全)

blob.png

目录也可以做成软链接

blob.png

上面的都是相对路径的软连接

做软链接尽量用绝对路径

软链接实际应用

假如有一个目录/分区 ,空间快用完。如果一个进程、服务仍在这个目录/分区执行,则系统容易出问题

当我们磁盘/分区快满了,我们可以要写的文件放在一个磁盘空间大的分区。(但是这个文件的路径不能改变)

1.首先我们可以把 一直操作的文件[(在原磁盘数据量很大)->(源文件)] 先拷贝(cp)到另一个空间大的文件(目标文件)

2.删除源文件

3.立马做软链接  ln -s 目标文件(绝对路径) 源文件 

最后继续写内容只是写在目标文件下

这就是软链接的好处

硬链接文件

硬连接只针对文件操作,不能给目录做硬链接

ln 2.txt 2_heart.txt

含义:创建了一个文件,这个文件的ino号和另一个文件的ino 号一样,那么这两个文件互为硬链接文件

这两个不分彼此

因为我们硬链接的ino 是一样的,所有我们存储的数据是不会存储两份的。

当我们删除了硬链接的一个,它是不会出问题的,但是软链接不行,会失去指向。

硬链接的两个特性

文件不能跨分区做以链接

目录不能硬链接

©著作权归作者所有:来自51CTO博客作者handsome灿生的原创作品,如需转载,请注明出处,否则将追究法律责任

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK