码迷,mamicode.com
首页 > 其他好文 > 详细

2017.12.21 2周4次课

时间:2017-12-21 20:47:20      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:linux   学习   

二周第四次课(12月21日)

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件

2.18 特殊权限set_uid

set uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限,即可以让普通用户执行时,临时拥有该命令所有者的身份。而对目录是没有任何意义的

比如, passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而可以更改密码。

技术分享图片

上图可以看到user用户多了【s】的权限,对应的【/usr/bin/passwd】是红色的

【s】就是【set uid】的权限

密码文件:【/etc/shadow】权限全为0

技术分享图片

root用户是超级管理员,即使全0权限也能更改权限。

用户目录aming,无法执行【/root/ls】命令,普通用户是没有权限的。

技术分享图片

给【ls】命令设置【set uid】,使其临时拥有root身份,这样可以在用户目录下执行。但root权限还是没有变。

技术分享图片

技术分享图片

如果去掉【s】的权限,【-s】就可以了

技术分享图片

另一种写法。变成大写S,因为是没有“x“的权限。但不受影响。也能执行。

技术分享图片

从大写S,变成小写的s,只要加上“x”的权限就可以了

技术分享图片

你可能会发现set uid上的权限为大写的s,而不是小写的s,比如rws,这是因为该文件没有×权限所致,不管是大写的s还是小写的s,都表示它存在set uid或者set_gid权限,同理sticky bit 也一样。

2.19 特殊权限set_gid

set gid:该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。

1.当作用在文件上时,其功能和set uid—样,它会使文件在执行阶段具有文件所属组的权限。即普通用户临时拥有所属组的身份。

技术分享图片

上图可以看到group组多了【s】的权限,对应的【/usr/bin/ls】是×××的

用户目录aming,无法执行【/root/ls】命令,普通用户是没有权限的

技术分享图片

给【ls】命令设置【set gid】,使其临时拥有root组身份,这样可以在root组身份下执行

技术分享图片

技术分享图片

root目录对于root组来讲,是有读和打开的权限

技术分享图片

2.目录被设置这个权限后,任何用户在此目录下创建的文件和目录都具有和该目录所属的组相同的组。

技术分享图片

技术分享图片

技术分享图片

2.20 特殊权限stick_bit

sticky bit:可以理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能删除,

同时也不能添加新的文件。 如果希望用户能够添加文件但不能删除该目录下其他用户的文件则可以对父目录增加该权限。 设置该权限后 , 就算用户对目录具有写权限, 也不能删除其他用户的文件。

系统tmp目录有这个权限

技术分享图片

上图的【t】,就是【sticky bit】

任何用户都可以在目录tmp里写文件,创建目录

技术分享图片

使用实例:

技术分享图片

所有者和所属组都是aming

技术分享图片

更改aming用户下创建的aming目录权限更改为777

技术分享图片

在user1用户下能更改aming,但不能删除(root用户能删除)

技术分享图片

把用户user1创建的user1目录更改为777,目录下也能创建文件和目录

技术分享图片

技术分享图片

技术分享图片

也可以删除文件和目录,即使文件和目录没有写的权限

技术分享图片

要看删除的文件和目录所在父目录有没有【w】的权限,而不是文件和目录本身的权限

技术分享图片

一旦加上了“stick_bit“,你就不能删除了,但能修改。

2.21 软链接文件

软链接:是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。不仅能软链接文件和目录还能跨分区。类似windows的快捷方式。

技术分享图片

“/bin/ls --> /user/bin/ls“

在文件本身里存了另外一个的路径或目录的路径,链接文件的大小跟你的路径有关。路径越长文件越大

In命令的格式为:In [-s] [来源文件] [目的文件],该命令常用的选项是-s。如果不加-s选项就是建立硬链接,加上- s选项就建立软链接。做软链接尽量使用绝对路径

1.链接文件

技术分享图片

2.链接目录

技术分享图片

3.链接文件在当前目录,显示的是绝对路径会有问题,尽量不要使用

技术分享图片

技术分享图片

不能移动或删除源文件,否则会出错时(会红色显示,并闪烁)

技术分享图片

4.工作中会遇到磁盘或分区快写满了,可以把日志文件放到其他空的分区下,但不能改路径。

方法:

把日志文件拷贝到空分区下,删除原来的日志文件,做个软链接

技术分享图片

2.22 硬连接文件

硬链接:当系统要读取一个文件时,会先读inode信息,然后再根据inode中的信息到块区域将数据取出来。而硬链接是直接再建立一个inode链接到文件放置的块区域 ,即进行硬链接时该文件内容没有任何变化,只是增加了一个指向这个文件的inode,并不会额外占用磁盘空间。

真正存文件的信息数据的在inode上,inode号代表的它是一个inode,inode是存在于文件系统里的一种特殊的东西,会记录文件的属性如时间,权限等,还有比如在磁盘上某分区某块记录着这个文件的数据;

技术分享图片

技术分享图片

硬链接的特性:

创建了1个文件,和另1个文件inode号一样。这2个文件相互为硬链接文件

删除源文件后,硬链接文件没有问题(红框),inode数量-1;而软链接出错了(黄框)

技术分享图片

硬链接有两个限制:

(1)不能跨文件系统,因为不同的文件系统有不同的inode table;

技术分享图片

(2)不能链接目录。

技术分享图片


2017.12.21 2周4次课

标签:linux   学习   

原文地址:http://blog.51cto.com/415326/2053070

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!