linux中除了常见的读(r)、写(w)、执行(x)权限以外,还有3个特殊的权限,分别是setuid、setgid和stick bit
1、setuid、setgid
先看个实例,查看你的/usr/bin/passwd 与/etc/passwd文件的权限
[root@MyLinux ~]# ls -l /usr/bin/passwd /etc/passwd -rw-r--r--1 root root 154908-1913:54/etc/passwd -rwsr-xr-x 1 root root 229842007-01-07/usr/bin/passwd
众所周知,/etc/passwd文件存放的各个用户的账号与密码信息,/usr/bin/passwd是执行修改和查看此文件的程序,但从权限上看,/etc/passwd仅有root权限的写(w)权,可实际上每个用户都可以通过/usr/bin/passwd命令去修改这个文件,于是这里就涉及了linux里的特殊权限setuid,正如-rwsr-xr-x中的s
setuid就是:让普通用户拥有可以执行“只有root权限才能执行”的特殊权限,setgid同理指”组“
作为普通用户是没有权限修改/etc/passwd文件的,但给/usr/bin/passwd以setuid权限后,普通用户就可以通过执行passwd命令,临时的拥有root权限,去修改/etc/passwd文件了
2、stick bit (粘贴位)
再看个实例,查看你的/tmp目录的权限
[root@MyLinux ~]# ls -dl /tmp drwxrwxrwt 6 root root 409608-2211:37/tmp
tmp目录是所有用户共有的临时文件夹,所有用户都拥有读写权限,这就必然出现一个问题,A用户在/tmp里创建了文件a.file,此时B用户看了不爽,在/tmp里把它给删了(因为拥有读写权限),那肯定是不行的。实际上是不会发生这种情况,因为有特殊权限stick bit(粘贴位)权限,正如drwxrwxrwt中的最后一个t
stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。
也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。用途一般是把一个文件夹的的权限都打开,然后来共享文件,象/tmp目录一样。
3、如何设置以上特殊权限
setuid:chmod u+s xxx
setgid: chmod g+s xxx
stick bit : chmod o+t xxx
或者使用八进制方式,在原先的数字前加一个数字,三个权限所代表的进制数与一般权限的方式类似,如下:
suid guid stick bit
1 1 1
所以:suid的二进制串为:100,换算十进制为:4
guid的二进制串为:010,换算:2
stick bit 二进制串:001,换算:1
于是也可以这样设:setuid:chmod 4755 xxx
setgid:chmod 2755 xxx
stick bit:chmod 1755 xxx
最后,在一些文件设置了特殊权限后,字母不是小写的s或者t,而是大写的S和T,那代表此文件的特殊权限没有生效,是因为你尚未给它对应用户的x权限
相关推荐
【标题】"Linux基础课件文件权限设置chmod命令"涵盖了Linux操作系统中的基本概念,特别是关于文件权限管理和`chmod`命令的使用。在Linux系统中,理解文件权限是至关重要的,因为它们控制着用户对文件和目录的操作...
Linux 文件权限设置技巧 Linux 操作系统中的文件权限设置是非常重要的安全机制之一。正确的文件权限设置可以有效地防止未经授权的访问和修改,从而保护系统和数据的安全。在 Linux 中,每个文件都有一个所有者和一...
在这个"Linux系统权限管理文件特殊权限学习教案"中,主要介绍了Linux中的ACL(Access Control List)权限、文件特殊权限、文件系统属性chattr以及系统命令sudo的相关知识。 8.1 ACL权限:在传统的Linux文件权限系统...
### Linux 文件特殊权限 SGID/SUID/Sticky Bit 详析 #### 一、引言 在 Linux 操作系统中,为了实现更为灵活和安全的权限管理机制,除了基本的读(r)、写(w)、执行(x)权限外,还引入了一些特殊的权限控制方式,包括 ...
本文将深入讲解一个重要的特殊权限机制——SetGID(Set Group ID),这对于理解和优化系统级的协作与数据共享至关重要。SetGID允许用户以文件或目录的所属组身份执行某些操作,而不是他们自己的默认组。这种机制尤其...
### Linux 下为目录和文件设置权限,包括子目录的循环递归设置 #### 知识点一:Linux 文件权限概述 在 Linux 操作系统中,文件权限...无论是简单的文件权限调整还是复杂的递归权限设置,都能够通过 `chmod` 命令实现。
【文件特殊权限】在Linux操作系统中,权限管理是至关重要的,尤其是一些涉及安全性的特殊权限。这些特殊权限包括setuid、setgid和粘滞位(sticky),它们都是12位权限模式的一部分,除了常见的读(r)、写(w)和...
权限设置在这些操作系统中至关重要,因为它们控制了用户如何访问和操作文件和目录。理解 `chmod` 的使用方法可以帮助你更好地管理和保护系统资源。 **基本概念** 1. **权限等级**:Linux/Unix 文件调用权限分为三类...
- **设置文件具有特殊权限位 SUID**: ```bash chmod 4755 filename ``` #### chown命令简介 `chown` 是另一个重要的 Linux/Unix 命令,用于更改文件或目录的所有者或所属组。通常,这个命令只有 root 用户才...
【Linux 文件系统的特殊权限设置与应用】 Linux操作系统以其强大的稳定性和安全性著称,其中关键的一环就是完善的文件权限管理系统。这个系统包括基本权限、特殊权限以及访问控制列表,确保了多用户环境下的资源...
了解和熟练掌握这些特殊权限的设置和用途,对于Linux系统的管理和维护至关重要,尤其在企业环境中,能够有效地提高系统的安全性和管理效率。在进行实践时,可以通过创建用户、用户组,以及创建和管理文件、目录,来...
Linux采用了一种基于用户和组的权限模型,每个文件或目录都有特定的权限设置,这些权限可以分为三类:用户(user)、组(group)和其他(other)。每类权限又分为读(read)、写(write)和执行(execute)三种操作。`chmod`命令...
本教程聚焦于Linux中的特殊权限,包括ACL(Access Control Lists)、文件特殊权限(如SetUID、SetGID和Sticky Bit)以及系统命令sudo的权限管理。 1. **SetUID**(设置用户ID) SetUID权限允许一个文件(通常是二...
除了基本的读、写、执行权限外,`chmod`还支持特殊权限位,这些权限对文件行为有更复杂的影响: - `s`(SetUID或SetGID):当用于可执行文件时,此权限使得文件执行时,其有效用户ID或组ID被设置为文件所有者或文件...
本文将详细介绍 `chmod` 命令的使用方法、参数以及具体的权限设置方式。 #### 二、基本概念 在 Linux/Unix 中,文件或目录的访问权限主要分为三类:文件所有者(Owner)、所属组(Group)和其他用户(Others)。每...
本篇课件聚焦于Linux中的特殊权限——SUID(Set-User-ID)权限,通过10页的内容深入解析这一关键概念。 SUID权限是Linux权限系统中的一个独特特性,允许用户临时获得执行文件所属者的权限。这种权限通常用于提供...
这篇文章将深入探讨特殊权限位的设置及其对用户权限的影响。 1. **基本权限位** - **r(Read)**:允许读取文件内容或浏览目录。 - **w(Write)**:允许修改文件内容或在目录中创建、删除、移动文件或子目录。 ...
Linux 文件权限设置 Linux 操作系统中,文件权限是非常重要的一个概念。文件权限决定了用户对文件的访问权限,包括读、写、执行等权限。在 Linux 中,每个文件都有其所属的用户和组,并且每个用户和组都有其对应的...
了解了这三个特殊权限后,我们可以通过`chmod`命令来设置它们。在八进制模式下,SUID用4表示,SGID用2表示,SBIT在目录上用1表示。例如,如果我们想给一个文件设置SUID和SGID,命令会是`chmod 4755 文件名`;若要给...