九、特殊权限set_uid、set_gid、stick_bit;软链接文件;硬链接文件

(一)特殊权限set_uid(针对文件)

set_uid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。比如,passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而更改密码。通俗的来说,就是普通用户在编辑这个文件的时候才会获得root用户的改文件的权力。

设置这个命令的前提是这个文件需要是二进制文件,且须为可执行文件。

二进制文件:如ls命令,passwd命令这些命令的文件就是二进制文件。

更改密码的文件:/etc/shadow

# ls -l /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

红色背景文件,s权限,代表set_uid权限。

如何给文件授权s权限:u代表uid

# chmod u+s /usr/bin/ls

# ls -l /usr/bin/ls

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

此时的s为小写。

去掉这个权限:

# chmod u-s /usr/bin/ls

将命令改u-s即可。

另外一种写法:

# chmod u=rws /usr/bin/ls

# ls -l /usr/bin/ls

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

此时的s权限为大写S,这是因为没有root没有了x权限,再命令:

# chmod u+x /usr/bin/ls

即可。大写的S变为小写的s。

目录也可以加s权限,但是目录不是可执行的文件,因此加s权限无意义。

(二)特殊权限set_gid(可作用文件,也可作用目录)

set_gid:该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。当作用在文件上时,其功能和set uid一样,会使文件在执行阶段具有文件所属组的权限。目录被设置这个权限后,任何用户在此目录下创建的文件都具有和该目录所属组相同的组。

如何设置这个权限,命令:

# chmod g+s /usr/bin/ls

# ls -l /usr/bin/ls

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

×××背景文件,s权限在组权限的位置段。

# mkdir 123

# chmod g+s 123

# chown :user1 123

# touch 123/678

# ls -l 123/

总用量 0

-rw-r--r--. 1 root user1 0 1月  31 20:28 678

此处,123目录下新建的678文件所属组自动改为了user1。

(三)特殊权限stick_bit(sticky bit)

stick_bit:可理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。若没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新文件。若希望用户能添加文件但不能删除目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,用户对目录具有了写权限,但不能删除其他用户的文件。防止别人删除自己的文件,root用户除外。

当有特殊权限时,第一位数字可以是0、1(--t)、2(-s-)、3(-st)、4(s--)、5(s-t)、6(ss-)、或7(sst)。

# ls -l /usr/bin/passwd

-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

# ls -ld /tmp/

drwxrwxrwt. 14 root root 4096 1月  31 20:45 /tmp/

回顾passwd,它是s--,所以是4;而/tmp/是--t,所以是1 。

passwd用数字表示为4755;/tmp/用数字表示为1777。

格式和set_uid和set_gid同理;chmod o+t dirname。

(四)软链接文件(类似于Windows的快捷方式)

软链接文件:与硬链接不同,软链接是建立一个独立的文件,当读取这个链接文件时,它会把读取的行为转发到该文件所链接的文件上。可以节省空间,既可以链接文件,也可以链接目录。做软链接尽量使用绝对路径。可以软链接文件,也可以目录,也可以跨分区。

制作软链接的命令:

# ln -s   [源文件]    [软链接文件]

ln命令格式:ln [-n] [源文件] [目的文件]

常用选项是-s。若不加-s就是建立硬链接,加上-s就是建立软链接。

经验:若有一个服务A会一直写数据到B文件中,快把这个B文件的分区写满了,可以把B文件复制一份到根分区里,这里复制后的文件称为B1,然后再删除B文件,再建立一个软链接,将B1软链接到B来。

(五)硬链接文件

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

格式同软链接格式一样。

两个限制:(仅支持文件)

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

2)不能链接目录。

原文地址:http://blog.51cto.com/13576245/2067539

时间: 2024-10-13 04:20:26

九、特殊权限set_uid、set_gid、stick_bit;软链接文件;硬链接文件的相关文章

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

特殊权限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用户是超级用户

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] ~]$

Linux下如何查看一个文件是否拥有软链接或硬链接文件?

问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办? 思路: 查找文件可以利用find命令. 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找 硬链接文件和源文件具有相同的inode号,可以利用find的-inum参数和-samefile参数来查找. -inum参数表示按照inode号去查找,首先要查看文件的inode号 -samefile参数表示查找和某个文件相同的inode的文件,不用查看文件的inode号 [[email protected] oldbo

Linux软链接和硬链接文件

下面是Linux系统软件底层的存储结构,我们将从底层上来去解释Linux系统下的软硬连接文件 <一>: 解释(底层) 硬链接,其实从底层数据上来看, 硬链接其实就是增加了一个目录项.底层对应的inode table.数据区中的值是不变的, 也不会重新创建. 软链接, 其实从底层接上看, 软链接其实就是相当于重新创建了一个文件,, 无论是目录项,inode table,以及数据区都是重新重建的,而这个文件功能比较特殊, 它是用来指向另外一个文件的. <二>:命令的使用 硬链接命令:

tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件

一.tar命令 1.将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [[email protected]  /] #  cat  /etc/passwd  /etc/group  >  1.txt 2.将用户信息数据库文件和用户密码数据库文件纵向合并为一个文件/2.txt(追加) [[email protected]  /] #  cat  /etc/passwd  /etc/shadow  >>  2.txt 3.将/1.txt./2.txt两个文件打包为

linux中软链接和硬链接的区别与小结

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

软链接与硬链接的区别

使用ln命令创建的是硬链接,ln -s 创建的是软链接. 硬链接文件iNode节点与源文件节点号相同,软链接节点号与源文件不同,它只是源文件的一个快捷方式. 不能对目录创建硬链接,但是可以创建软链接,对目录的软链接会经常用到. 软链接可以跨文件系统,硬链接不能跨越文件系统. 删除软链接对源文件和硬链接无任何影响. 删除硬链接对源文件和软链接无影响 删除源文件对硬链接无影响,但是软链接会失效.(红字闪烁) 同时删除源文件和硬链接,文件才会真正的删除.

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

        特殊权限 set_uid set_uid: 这里的s 就是set_uid 权限 linux 下的passwd文件是允许普通用户修改自己的密码的 (/etc/shadow :密码文件) set_uid 是让普通用户在执行此命令的时候,赋予普通用户临时 root权限,给一个文件设置uid,首先这个文件是二进制文件.可执行文件 怎么给一个文件授权set_uid权限 如:给ls 命令设置该权限 chmod u+s /usr/bin/ls 此时查看 ls -l /usr/bin/ls 可以