特殊权限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用户是超级用户他有至高无上的权利,就算shadow没有任何权限他一样可以使用的。普通用户就不可以。

但是普通用户有想要改密码咋办?这个时候我们的linux程序员就给passwd一个特殊的权限set_uid,set_uid权限会让普通用户使用带set_uid权限的命令的时候在他执行命令的一瞬间就会临时给普通用户一个所属主的身份。

设置set_uid权限必须一个可执行的二进制可执行文件,给普通文件设置set_uid权限是没有任何意义的

[[email protected] ~]# su - GYB

【进入一个普通用户】

[[email protected] ~]$ whoami

GYB

【查看当前是在什么用户下】

[[email protected] ~]$ ls /root/

ls: 无法打开目录/root/: 权限不够

[[email protected] ~]$ ls -ld !$

ls -ld /root/

dr-xr-x---. 4 root root 228 12月 20 13:33 /root/

【可以看到虽然ls有普通用户的执行权限,但是/root/没有普通用户执行的权限,下面我们让ls临时拥有所属者权限】

[[email protected] ~]# chmod u+s /usr/bin/ls

【给一个可执行的二级制文件加上set_uid权限】

[[email protected] ~]$ ls /root/

2  2.txt  3.txt  3.txt~  anaconda-ks.cfg

【这样普通用户就可以使用ls所属主身份了】

[[email protected] ~]# chmod u-s /usr/bin/ls

【删除掉set_uid权限】

[[email protected] ~]# ls -ld !$

ls -ld /usr/bin/ls

-rwxr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

[[email protected] ~]# chmod u=rws !$

【加上set_uid权限】

chmod u=rws /usr/bin/ls

[[email protected] ~]# ls -ld /usr/bin/ls

-rwSr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

【这里怎么会变成大写的S了,是因为你这样设置权限没有了x权限了】

[[email protected] ~]# chmod u+x /usr/bin/ls

[[email protected] ~]# ls -ld /usr/bin/ls

-rwsr-xr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

【当我们在加上x权限时他是不是就变成小s了,其实大S或者小s都不受印象】

[[email protected] ~]$ ls /root/

2  2.txt  3.txt  3.txt~  anaconda-ks.cfg

注意:目录我们也可以设置set_uid但是没有任何的意义。

2.19set_gid

set_gid这个权限和set_uid权限比较像,只不过他是作用在所属组上的。

[[email protected] ~]# chmod g+s /usr/bin/ls

[[email protected] ~]# ls -ld /usr/bin/ls

-rwxr-sr-x. 1 root root 117656 11月  6 2016 /usr/bin/ls

可以看见他是×××,也可以看到他的权限是rwxr-sr-x,set_gid权限会让普通用户使用带set_gid权限的命令的时候在他执行命令的一瞬间就会临时给普通用户一个所属组的身份。

[[email protected] ~]$ ls /root/

2  2.txt  3.txt  3.txt~  anaconda-ks.cfg

[[email protected] ~]$ ls -ld /root/

dr-xr-x---. 4 root root 228 12月 20 13:33 /root/

【为什么也可以用那,以为/root/的所属组有读和执行权限,如果我们关掉/root/的所属组的读和执行权限还可以用吗?】

[[email protected] ~]# chmod g= /root/

[[email protected] ~]# ls -ld /root/

dr-x------. 4 root root 228 12月 20 13:33 /root/

[[email protected] ~]$ ls /root/

ls: 无法打开目录/root/: 权限不够

【看来是不可以的】

[[email protected] ~]# chown :gyb 2

[[email protected] ~]# ls -ld 2

drwxr--r-x. 2 root gyb 6 12月 21 17:03 2

[[email protected] ~]# mkdir 2/3

[[email protected] ~]# touch 2/3.txt

[[email protected] ~]# ls -l 2

总用量 0

drwxr-xr-x. 2 root root 6 12月 21 17:03 3

-rw-r--r--. 1 root root 0 12月 21 17:04 3.txt

[[email protected] ~]# chmod g+s 2

[[email protected] ~]# ls -ld 2

drwxr-Sr-x. 3 root gyb 28 12月 21 17:04 2

[[email protected] ~]# mkdir 2/4

[[email protected] ~]# touch 2/4.txt

[[email protected] ~]# ls -l 2

总用量 0

drwxr-xr-x. 2 root root 6 12月 21 17:03 3

-rw-r--r--. 1 root root 0 12月 21 17:04 3.txt

drwxr-sr-x. 2 root gyb  6 12月 21 17:05 4

-rw-r--r--. 1 root gyb  0 12月 21 17:05 4.txt

【当我们没有set_gid一个目录的时候我们在父目录下创建的子目录或者子文件他们的所属组不会和父目录一样,当我们set_gid的时候我们再创建的时候他就会和父目录一样了】

2.20stick_bit

2.21软连接文件

2.22硬连接文件

时间: 2024-11-05 20:45:35

特殊权限set_uid\set_gid\stick_bit\软连接文件\硬连接文件的相关文章

特殊权限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

特殊权限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] ~]$

第二周第四节、特殊权限(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--也是就是说,该文件对文件所有者是有读写权限的,而用户组成员和其他成员只有读的权限,我们知道,在系统中我们要修改一个用户

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

2.18 特殊权限set_uid 2.19 特殊权限set_gid 2.20 特殊权限stick_bit 2.21 软链接文件 2.22 硬连接文件 2.18 特殊权限set_uid passwd 有setuid 权限 s 是set_uid的权限 更改密码的文件 即使是000权限,root 也可以更改这个文件 passwd 有setuid 权限  当普通用户执行该命令的时候,就会临时拥有root用户的身份 给用户设置uid 前提是 这个文件是 二进制文件 ,而且是一个可执行文件 怎么给一个文件

Linux学习笔记(九)set_uid、set_gid、stick_bit、软链接文件、硬连接文件

一. 特殊权限set_uid 只能作用于二进制可执行文件,可以使用户暂时拥有文件所有者的权限例如:普通没有root权限,但是修改密码的命令passwd又需要root权限,所以,passwd命令被赋予set_uid权限,使普通用户修改密码时可以暂时获取root权限去修改密码: 用法为 chmod u+s /usr/bin/passwd 二. 特殊权限set_gid 与set_uid用法类似作用于文件时,可以使用户暂时拥有文件所属组的权限,作用于文件夹时,在文件夹内新建文件或者文件夹时,新建文件或文

linux下的连接文件——软连接和硬连接的区别

软连接可以理解为,源文件的快捷方式,软连接文件记录的是源文件的路径,占用空间非常小.当把源文件删除后,那么软连接文件也就变成一个坏文件了,不能使用了. 硬连接和源文件的inode信息是一模一样的,可以说硬链接文件只是复制了一份源文件的inode信息,在我们看来硬链接文件和源文件没有什么区别,删除任何一个文件对方都不受影响,唯一的是少了一份inode,硬链接只能在同一个分区下创建,而软连接不受限制.硬链接文件和源文件虽然看起来像是两个文件,但是只占用一个文件的磁盘空间. 软连接  ln -s  

Linux软连接和硬连接

软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 4.所有软连接文件的权限是777,而真正的权限是由指向的那个文件决定的 5.原文件丢失,软连接无法访问,会报找不到的错误 6.ls -al以后,软连接后面箭头指向的是原文件 硬连接 命令: ln 原文件 目标文件 特征: 1.原文件和连接文件的属性完全一样 2.连接文件和原文件的关系类似于:复制+

软连接和硬连接

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).