文档章节

9.特殊权限 软连接 硬链接

oschina130111
 oschina130111
发布于 09/17 11:48
字数 1730
阅读 11
收藏 0

6月7日任务

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件

 

 

2.18 特殊权限set_uid

会发现有些文件的前三位并不是rwx而是rws,而s就代表的set_uid的权限

要更改passwd,就要更改系统文件,而这个系统文件就是/etc/shadow,而shadow是---权限无法更改,所以就用到了set_uid这个权限,他可以让普通用户临时拥有root的权限,来修改passwd

所以set_uid的意思就是:他可以让普通用户临时拥有该命令所有者的身份(u=所有者),有了这个的权限,就可以修改这个带s的文件

那么给一个文件设置set_uid的前提是这个文件必须是二进制文件、可执行文件

(二进制文件比如ls命令,.txt就不是二进制文件)

su - 可切换用户

那么如何给一个文件加上set_uid权限呢,写法如下:

chmod u+s /user/bin/passwd

-s可取消set_uid权限

chmod u-s /user/bin/passwd

实例:

我们先用su - 切换到普通用户下,并查看/root/,发现查看不了,因为没有权限

我们把ls加上set_uid权限,然后在查看ls,会发现ls已经变成了rws

 

我们再回到普通用户下,再查看/root,就会发现可以打开了

注意:目录页可以加set_uid,但是没意义,我们不执行目录

总结:

set_uid是可以让普通用户临时拥有这个文件所有者身份的权限

对一个文件加set_uid的写法是:

chmod u+s

chmod u-s 可取消set_uid权限

---------------------------------------------------------------------------------------------------------------------------------------

 

2.19 特殊权限set_gid:

 

set_gid是作用在所属组者个权限位上的

set _gid是可以让这个文件临时拥有所属组的身份(g=所属组)

写法为 chmod g+s

set_gid加在文件上的时候是跟set_uid是一样的,但是他是可以加在目录上的

 

实例:

我们新建一个叫111的目录,给他增加set_gidde quanxian ,更改他的所属组,我们发现在里面新建的子目录和子文件就都是wangxin了

然后我们在取消掉set_gid,再给他增加子文件和子目录,就会发现这时候就都是root了

总结:

作用在文件上时用set_uid类似,可以让执行这个文件的普通用户临时拥有这个所属组的权限

作用在目录上时,当你创建子目录或者子文件,子目录和子文件的所属组和该目录的所属组保持一致

写法也是 chmod g+a

取消为 chmod g-a

---------------------------------------------------------------------------------------------------------------------------------------

 

2.20 特殊权限stick_bit:

stick_bit防止别人删除自己的文件(root用户除外)

stick_bit通常用在/tmp/下

在一个用户/tmp/建了一个文件,在另一个用户/tmp/下是可以看到的,但是不能删

[root@afeilinux-01 test1]# chmod o+t 1.sh
[root@afeilinux-01 test1]# ls -l
总用量 4
-rwxr-sr-t. 1 user1 aming 288 9月   3 16:53 1.sh
-rw-r--r--. 1 root  aming   0 9月  17 11:30 test3
-rw-r--r--. 1 root  aming   0 9月  17 11:30 test4
[root@afeilinux-01 test1]# chmod o-t 1.sh
[root@afeilinux-01 test1]# ls -l
总用量 4
-rwxr-sr-x. 1 user1 aming 288 9月   3 16:53 1.sh
-rw-r--r--. 1 root  aming   0 9月  17 11:30 test3
-rw-r--r--. 1 root  aming   0 9月  17 11:30 test4

---------------------------------------------------------------------------------------------------------------------------------------

 

2.21 软链接文件:

 

软连接相当于Windows的快捷方式,把一个文件的路径放到另一个目录下,就可以执行这个目录的名字,比较节省空间

如图:

ls就是在bin下的,所以我们执行哪个都可以

那么给一个目录做软连接的写法是:

ln -s /root/123/12/1.txt /tmp/456/45/6.txt

源文件路径 目的地文件路径

软连接不仅可以做文件也可以做目录,但是最好使用绝对路径

实例:

假如有一个叫aming的服务一直在往/boot下写日志(.log),而/boot已经快满了,再写就满了,我们可以这样做

cp /boot/aming.log /aming.log 先把这个服务的日志复制到根下

rm /boot/aming.log 再把原有这个服务的日志删掉,让他往根下面写,那现在这个服务的原路径就在跟下了

ln -s /aming.log /boot/aming.log 再把现在这个的源文件路径软连接给/boot下就好了

 

---------------------------------------------------------------------------------------------------------------------------------------

 

2.22 硬连接文件:

写法为ln (源文件绝对路径) (目的地绝对路径)

ln [-s] 软连接

[root@afeilinux-01 4_9]# mkdir 456
[root@afeilinux-01 4_9]# cp 456
cp: 在"456" 后缺少了要操作的目标文件
Try 'cp --help' for more information.
[root@afeilinux-01 4_9]# cd 456
[root@afeilinux-01 456]# cp /etc/passwd ./
[root@afeilinux-01 456]# ln -s passwd passwd-soft
[root@afeilinux-01 456]# ll
总用量 4
-rw-------. 1 root root 1583 9月  17 14:37 passwd
lrwxrwxrwx. 1 root root    6 9月  17 14:38 passwd-soft -> passwd
[root@afeilinux-01 456]# head -n1 passwd-soft
root:x:0:0:root:/root:/bin/bash
[root@afeilinux-01 456]# head -n1 passwd
root:x:0:0:root:/root:/bin/bash
[root@afeilinux-01 456]# rm -f passwd
[root@afeilinux-01 456]# head -n1 passwd-soft
head: 无法打开"passwd-soft" 读取数据: 没有那个文件或目录
[root@afeilinux-01 456]# ll
总用量 0
lrwxrwxrwx. 1 root root 6 9月  17 14:38 passwd-soft -> passwd
[root@afeilinux-01 456]# mkdir 456
[root@afeilinux-01 456]# ln 123 456
ln: failed to access "123": 没有那个文件或目录

不支持对目录做硬链接,硬链接只能对文件做硬链接

[root@afeilinux-01 ~]# mkdir /tmp/4_9
[root@afeilinux-01 ~]# cd /tmp/4_9
[root@afeilinux-01 4_9]# cp /etc/passwd ./
[root@afeilinux-01 4_9]# ll
总用量 4
-rw-------. 1 root root 1583 9月  17 14:25 passwd
[root@afeilinux-01 4_9]# du -sk
4	.
[root@afeilinux-01 4_9]# ln passwd passwd-hard
[root@afeilinux-01 4_9]# ll
总用量 8
-rw-------. 2 root root 1583 9月  17 14:25 passwd
-rw-------. 2 root root 1583 9月  17 14:25 passwd-hard
[root@afeilinux-01 4_9]# du -sk
4
[root@afeilinux-01 4_9]# rm -f passwd
[root@afeilinux-01 4_9]# ll
总用量 4
-rw-------. 1 root root 1583 9月  17 14:25 passwd-hard
[root@afeilinux-01 4_9]# du -sk
4	

上例中删除源文件paaswd后,文件大小不变。硬链接文件并不会复制数据块,额外占用磁盘空间。

不能跨分区做硬链接

硬链接可以删除,因为还有其他iNode使用了这个硬链接,

比如创建了一个文件,他跟一个文件有一样的iNode号,那这两个文件相互为硬链接

硬链接相当于是一个文件多了一张皮,我可以删掉其中一个,或者哪个都无所谓,真正储存该信息的是inode

相当于备份

 

© 著作权归作者所有

oschina130111
粉丝 3
博文 147
码字总数 240567
作品 0
朝阳
系统管理员
私信 提问
2.18-2.20特殊权限set_uid/set_gid/stick_bit;20.21/2软硬链接

2.18 特殊权限set_uid set_uid作用:普通用户,临时拥有:该命令所有者(用户)身份。 给一个命令,设置set_uid,前提:这个文件必须是一个可执行的二进制文件。 1. 切换到普通用户下:su - 普...

主内安详
2017/12/21
0
0
2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_b

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.18 特殊权限set_uid 1、set_uid 特殊权限set_uid S位; passwd支持用户修改自己的密...

wb_rambo123
2017/12/26
0
0
2.18-2.20 特殊权限和软硬链接

2.18-2.22特殊权限和软硬链接 2.18-2.20 特殊权限 一、特殊权限之suid set uid权限使普通用户临时拥有root赋予某个命令的特殊权限。即这个命令在普通用户用起来和root用户用起来效果是一样的...

熊猫头先生
2017/12/22
0
0
set_uid、set_gid、stick_bit、软链接和硬连接文件

9月17日任务 2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 特殊权限 set_uid 设置了setuid的二进制文件,其他用户执行时,将临时拥有...

robertt15
2018/09/16
13
0
day09-linux特殊权限及软连接

上次整理了关于linux系统的文件及目录权限,其实为了系统的安全性: linux还有一些特殊权限: setuid:(主) setgid:(组) stick_bit:(其他) 1、set_uid: 授权普通用户临时拥有文件/目录所有者的权...

芬野
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
3
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
3
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
4
0
Django的ChoiceField和MultipleChoiceField错误提示,选择一个有效的选项

在表单验证时提示错误:选择一个有效的选项 例如有这样一个表单: class ProductForm(Form): category = fields.MultipleChoiceField( widget=widgets.SelectMultiple(), ...

编程老陆
昨天
6
0
Vue核心概念及特性 (一)

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。 > 特点: 易用,灵活,高效,渐进式框架。 > 可以随意组合需要用到的模块 vue + components + vue-router + vuex + v...

前端优选
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部