第二周第四节、特殊权限(set_uid、set_gid、stick_bit)/软连接及硬连接

特殊权限

文件权限的机制是Linux系统中的一大特色,除了我们现在所熟知的读(r)、写(w)、执行(x)权限外,还有三个比较特殊的权限,分别为:setuid、setgid和stick bit(粘滞位)
1、setuid与setgid讲解:
查看系统中常用到它的地方,以/etc/passwd和/usr/bin/passwd为例:

分析,/etc/passwd的权限为-rw-r--r--也是就是说,该文件对文件所有者是有读写权限的,而用户组成员和其他成员只有读的权限,我们知道,在系统中我们要修改一个用户 的密码,root用户和普通用户都可以使用/usr/bin/passwd这个命令来修改密码(/etc/passwd),root用户本身就拥有对/etc/passwd这个文件有写权限,不容置疑,一定就可以修改了;那么普通用户呢?这里就用到了setuid/setgid,他们的作用就是“让执行该命令的用户以该命令拥有这的权限去执行”,就是普通用户执行passwd时就会拥有root的权限。这样就可以修改/etc/passwd这个文件了,它的标识是:s;会出现在x的地方,如图示:-rwsr-xr-x。而setgid意思和setuid类似,就是让执行该文件的用户以该文件所属组的权限去执行;
2、stick bit(粘滞位)
查看系统中常用到的地方,以/tmp目录为例:

大家都是在Linux系统中/tmp目录是系统存放临时文件的目录,所有的用户在该目录下都拥有所有 的权限,也就是任何用户在该目录西都可以增删改查任何文件目录。比如a用户创建了一个文件,为了防止b用户给删了怎么办,为了解决这个问题,就出现了stick_bit(粘滞位)的概念。它是针对目录来说的,如果该目录甚至了stick_bit,则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的文件,别的用户都不可以动别人的东西,这就是stick_bit(粘滞位)作用;
3、如何设置上述特殊权限
chmod u+s xxx # 设置setuid权限
chmod g+s xxx # 设置setgid权限
chmod o+t xxx # 设置stick bit权限,针对目录

软连接及硬连接

软链接: 也称为符号链接
1.类似windows快捷方式
2.可以跨文件系统创建
3.占用新的inode号
4.占用少量的磁盘空间
5.删除源文件后,软链接文件无效
优点:软链接(即快捷方式)可以方便快捷的访问路径很深的文件或文件夹。
创建软链接
ln -s 源文件 目标文件
例如:
[[email protected] ~]# ln -s /tmp/222.txt 222.txt

注:源文件最好写绝对路径
硬链接:
0.给同一个inode号指定多个文件名
1.对主要数据文件备份 防止误删除
2.不可以跨文件系统创建(即不能跨分区)。如ln /boot/grub2/grub.cfg /tmp/grub.cfg 会报错
3.不占用新的inode
4.不占用任何新的空间
5.任意删除一个文件名,文件都不会损坏
创建硬链接
ln 源文件 目标文件
例如:
[[email protected] ~]# ln /tmp/333.txt 333.txt

[[email protected] ~]# ll -i 333.txt /tmp/333.txt
发现这两个文件名的inode号相同;
技巧:用硬链接可以实现文件备份,这样比用cp复制来备份更节省磁盘空间。
软链接和硬链接的区别:
1.软链接可以跨文件系统,硬连接不行
2.文件类型不一样
3.软链接可以给目录做,硬连接不可以给目录做
4.删除源文件,软链接无法使用,硬连接可以继续使用
5.软链接创建新的inode,硬连接不能创建新的inode

原文地址:http://blog.51cto.com/12020239/2092522

时间: 2024-10-10 03:00:32

第二周第四节、特殊权限(set_uid、set_gid、stick_bit)/软连接及硬连接的相关文章

特殊权限set_uid\set_gid\stick_bit\软连接文件\硬连接文件

2.18特殊权限set_uid 我们之前有用过passwd这个文件这个文件是什么权限那.我们用which看一下. 可以看到他是红色的,也可以看到他的权限是rwsr-xr-x平时我们看到的都是rwx没有s的这个权限,其实他就是set_uid权限 set_uid的作用: 我们Linux系统是一个比较安全的系统,普通用户改密码不可能只让root超级用户帮他们改.改密码就是改密码的配置文件(shadow)从下图我们可以看到这个文件的权限有多严禁,就连root用户都是000权限,不过root用户是超级用户

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

一.特殊权限set_uidset_uid:作用是保证普通用户临时拥有该命令所有者的身份,它就会临时拥有root用户的身份(给一个文件设置set_uid的前提是保证该文件是一个二进制.可执行的文件)[[email protected] ~]# which passwd/usr/bin/passwd[[email protected] ~]# ls -l /usr/bin/passwd-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd

2.18-2.20特殊权限set_uid/set_gid/stick_bit;20.21/2软硬链接

2.18 特殊权限set_uid set_uid作用:普通用户,临时拥有:该命令所有者(用户)身份. 给一个命令,设置set_uid,前提:这个文件必须是一个可执行的二进制文件. 1. 切换到普通用户下:su - 普通用户 [[email protected] ~]# su - haojiabin 2. 查看当前登录用户:whoami [[email protected] ~]$ whoami 3. 在普通用户下,使用ls命令查看root用户下内容: [[email protected] ~]$

第二周 第四节pyc是什么

编译:将程序转变为机器语言,直接和CPU交互翻译:对程序进行解释在运行,边解释边执行python也是先编译后解释,先编译,然后交给解释器执行,编译的过程使程序快速加载,pyc,第二次运行时加载PYC,不用在重新编译如果改了源代码,就重新编译,看源代码和pyc哪个更新,谁新执行谁 pyc存的是预编译后的字节码文件 原文地址:https://www.cnblogs.com/googlewang/p/10704521.html

Git帮助文档阅读笔记----第二章-第四--节远程仓库的使用

管理这些远程仓库,以便推送或拉取数据 添加远程库 移除废弃的远程库 管理各式远程库分支 定义是否跟踪分支 查看当前的远程库 可以用 git remote 命令,它会列出每个远程库的简短名字 也可以加上 -v 选项(译注:此为 --verbose 的简写,取首字母),显示对应的克隆地址: 如果有多个远程仓库,此命令将全部列出.比如在我的 Grit 项目中,可以看到: 添加远程仓库 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname

Linux学习笔记第二周第四次课(2月1日)

2.18 特殊权限set_uid 权限s,set_uid,除了所有者之外的用户,执行的一瞬间临时拥有所有者权限: 文件要满足是二进制可执行文件: 用户密码文件/etc/shadow 文件加set_uid权限#chmod u+s /usr/bin/ls ls -l查看权限可以看到,rws权限:红色显示文件 文件减set_uid权限#chmod u-s /usr/bin/ls 文件加set_uid权限,另外一个方法#chmod u=rws /usr/bin/ls ls -l查看权限可以看到,rwS权

第二周第四天课程

2.18 特殊权限set_uid 2.19特殊权限 set_gid 2.20 特殊权限 stick_bit 2.21软链接 2.22硬链接 2.18  set_uid:作用保证普通用户临时拥有所属者权限 使用方法: chmod u+s 路径 权限  chmod u-s 路径 作用于用户 s代表 权限赋予 2.19 特殊权限 set_git 作用于组 用法:chmod g+s 路径 取消  chmod g-s 路径 给组设置临时所属组的权限 2.20 特殊权限stick_bit 作用于 :谁的文件

第九课 特殊权限set_uid、stick_bit,软链接,硬链接

一.特殊权限set_uid 1. ls -l /usr/bin/passwd 看见这个文件有一个s(s=set_uid)权限.它可以让普通用户临时拥有该命令所有者的身份.前提文件是可执行的二进制文件. 2.如何设置chmod u+s /usr/bin/ls 可以让普通用户临时可以用ls查看/root/目录, 对于目录我们也可以给予它特殊s权限,但没有实际意义. 二.特殊权限set_git1.set_git可以作用在目录和文件上,当作用在文件上的时候,和set_uid类似,让执行文件的用户临时拥有

特殊权限set_uid /特殊权限set_gid/特殊权限stick_bit/软链接文件/硬连接文件

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 特殊权限set_uid(s权限用户user权限) [[email protected]_1 ~]# ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd 权限中的s 就是特殊权限 set_uid psswd 命令支持普通用户改自己的密码 [[e