2.18 特殊权限set_uid
set_uid权限既然说是临时获取root权限的,那么给予了普通用户ls /root的权限有使用时间长短限制和使用次数限制吗 sudo好像也可以临时给予管理员权限,这两个哪个更常用呢
没有限制。 sudo和suid有本质的不同。 不能对比。 sudo更加方便,权限控制上也更加精细,使用自然也就更加广泛。
chmod u=rws file_name 和 chmod u=rwxs file_name 两个的效果是一样的,可以这么理解么? 最后显示出来的效果不一样。 一个是S 一个是s
特殊权限是只有root用户才能ls看到吗? 普通用户也可以看的
因为aming用户不在root的所属组里面,而是其他人(others)的原因 所以权限不够吗 那么将aming用户移动到root的所属组里面 那么他是否就会拥有权限呢 先看这文件或者目录的权限。 即使加到root组里,在属组权限位上没有权限的话,它也是没有权限。
passwd命令是让所有用户都有权限修改密码
修改密码文件[root@ys-210 ~]# ls /etc/shadow
root是超级管理员权限,即使没有权限也可以读写执行,也可以临时有权限做修改,有修改权限的权限,而普通用户是无法做到
-rwsr-xr-x. s表示set_uid权限 让所有者以外的所属组或者其他普通用户,当执行带有set_uid权限时就会被赋予这个命令所有者的身份
设置set_uid权限必须是二进制文件,并且是可执行权限(系统中只有/usr/bin/passwd有此权限)
普通用户无权限查看/root/目录
增加set_uid权限
[root@ys-210 ~]# chmod u+s /usr/bin/ls
普通用户拥有了临时查看/root/目录的权限
去除set_uid权限
[root@ys-210 ~]# chmod u-s /usr/bin/ls
变为S权限,原因是少了x权限(执行权限)
[root@ys-210 ~]# chmod u=rws /usr/bin/ls
无x权限无影响,都能执行,无论是root用户还是普通用户都有可执行权限,因为s本身就有执行权限,普通用户看第三位是否有执行权限
2.19 特殊权限set_gid
请问添加s权限和修改o的x权限是不是一回事? 不是一回事。 x权限是可执行权限。 不是一回事。 x权限是可执行权限。应该是: 执行该文件的用户,临时拥有了该文件属组的身份。 例如: ls 属组为root,给ls赋予一个sgid权限,那么执行ls的普通用户就临时以root的身份去列文件或目录了。
一个文件 1.txt,所属组为users,g权限为rw- 而user1和user2都属于users组,那么user1和user2对1.txt的权限就是rw-
设置set_gid权限 普通用户临时拥有所属组的身份,所属组下面的用户的权限
[root@ys-210 ~]# chmod g+s /usr/bin/ls
此普通用户就临时拥有和所属组一样的权限去查看去执行/root/目录
给目录创建set_gid权限 此时目录下面创建所有文件和目录的所属组与目录一致
[root@ys-210 ~]# chmod g+s 1
去除set_gid权限 则在目录下创建的文件和目录都是与当前用户一致
[root@ys-210 ~]# chmod g-s 1
2.20 特殊权限stick_bit
drwxrwxrwt t为stick_bit权限 防删除位,作用于目录
/tmp目录是777权限所有用户都有创建和删除文件的权限,stick_bit权限 用户只能删除自己创建文件,其他用户的无权限删除,其余权限修改和追加可行,这个权限是由父级目录决定
普通用户在/tmp下创建文件,并且将权限该为777权限
其他用户无权限删除这个文件,但是可以修改
普通用户创建目录,并且改为777权限
其他用户来创建文件和目录
创建的文件和目录是否可以删,主要看父级目录的所有者,但是如果有防删除位权限就不能删除
2.21 软链接文件
软连接:类似于Windows的快捷方式,文件中存了另一个文件的路径或者目录的路径,文件大小与路径相关,路径越长文件大小越大,当一个命令需要一个库文件但是又需要其他名称或者需要这个库文件需要在指定的路径,而软连接就能实现,又能节约空间,不需要拷贝过来
做软连接文件:ln -s 源文件路径及名称 目标文件路径及名称
[root@ys-210 tmp]# ln -s /tmp/yum.log /root/1/yum2.log
软连接目录:
[root@ys-210 tmp]# ln -s /tmp/123/ /root/456
同一目录下做软连接(相对路径):有弊端,假设把文件拷贝到另一台机器,或者文件改名字会产生链接失效
[root@ys-210 tmp]# ln -s 1.txt 5.txt
相对路径的软连接
绝对路径软连接
软连接的用法
当一个分区空间不足,由于一个日志不断增大,但是有个服务需要这个分区中日志,通过软连接来实现,首先将大文件日志cp至大分区下,rm删除小分区中源文件日志;并且将文件软连接至小分区中,这样写入依然至这个文件中,但是实际软连接至大分区下
[root@ys-210 ~]# rm /boot/ys.log ;ln -s /ys.log /boot/ys.log
优化: cp /boot/aming.log /aming.log;rm /boot/aming.log;ln -s /aming.log /boot/aming.log
2.22 硬链接文件
硬链接有什么用途
1 删除一个,还有一个,相对来说安全,但靠硬链接备份文件,不合适。
2 硬链接本质上还是一个文件,所以你建立多个硬链接文件,空间占用还是一份。所以说,它可以节省空间。
3 其实,我在工作中并没有用到过硬链接。
硬连接核心的地方,就是两个文件使用了同一个inode。
硬链接比较大的用处是,作为文件备份吧,其中一个被删除,还有另外一个。
一个分区格式化的时候就会创建inode,inode号是从1开始的。 所以每个独立分区自然是有相同的inode号的。
硬链接只对文件做,不对目录做(目录有多个使用同一个iNode(.和..串联起来子目录、子文件))
硬链接 [root@ys-210 ~]# ln 1.txt 2.txt
使用了同一个inode
硬链接可以删除源文件,相当于多了一个文件使用了同一个iNode,真正存文件信息的是iNode中
硬链接不占用多余空间因为他们使用同一个iNode
不能跨分区做硬链接