linux文件的特殊权限及隐藏权限

  

  基础知识

  相信大家应该都知道linux的文件基本权限,使用ls -l命令可以显示文件的基本权限,"-rwxrwxrwx.",第一位表示文件的属性(是文件-  ,目录d等),后面每隔三位为属主、属组、其他用户 对应的读写执行权限。这个比较简单很容易理解。

  文件特殊权限

  单纯的读写执行权限无法满足我们的基本要求,因此对应有了特殊权限位(SUID、SGID、SBIT),这些权限 位用来弥补一般权限不能实现的功能,帮助没有权限的用户执行需要root权限的工作。下面我们就详细了解一下这三个特殊权限位的功能和用法。

  1、SUID

  SUID可以让普通用户对某个可执行命令拥有属主的权限,比如普通用户可以用passwd命令,然而passwd的权限为:

[[email protected] cron]# ll /bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 30  2014 /bin/passwd

  可以看到passwd的属主权限是rws,即x被赋予了特殊权限,其他用户执行该命令的时候也会拥有属主的权限。我们就拿rm命令举一个例子(生产环境中不建议使用):

[[email protected] cron]# ll /bin/rm
-rwxr-xr-x. 1 root root 62808 Jan 25  2014 /bin/rm
[[email protected] cron]# chmod u+s /bin/rm
[[email protected] cron]# ll /bin/rm
-rwsr-xr-x. 1 root root 62808 Jan 25  2014 /bin/rm
[[email protected] cron]# touch /data/test
[[email protected] cron]# ll /data/test
-rw-r--r-- 1 root root 0 Jan 10 17:52 /data/test
[[email protected] cron]# su bing
[[email protected] cron]$ rm -f /data/test

  通过上面的例子可以看出,当我们赋予rm特殊权限后,即使普通用户对文件没有写入权限,也可以使用特殊权限对其操作。

  2、SGID

  SGID可以让其他用户对某个可执行命令拥有属组权限,原理同SUID,只是这个是属组中x被赋予特殊权限,具体不再详解,请看例子:

[[email protected] cron]$ ll /usr/bin/wall
-r-xr-sr-x. 1 root tty 15344 Jan 27  2014 /usr/bin/wall

  删除SGID特殊权限:chmod g-s /usr/bin/wall,关于chmod的命令这里就不解释了。

  3、SBIT

  SBIT是针对others来设置的,和上面两个一样,只是功能不同而已。

  SBIT目前只针对目录有效,对于目录的作用是:当用户在该目录下建立文件或目录时,仅自己与root用户才有权限删除。

  像/tmp目录(drwxrwxrwt.),任何人可以在/tmp内增加、修改文件,但是这个目录只有root和自己才能够删除文件。举例说明:

[[email protected] ~]$ cd /data/
[[email protected] data]$ touch test1
[[email protected] data]$ chmod o+t test1
[[email protected] data]$ ll test1
-rw-rw-r-T 1 bing bing  0 Jan 10 18:20 test1

上面的例子是错误示范,别的用户赋予w权限是可以删除的,这个特殊权限建议对目录操作,目录下的文件会生效哦。  

这里我就不演示切换到其他用户删除该文件了,感兴趣的自己测试。

  文件隐藏权限

  linux中有些文件,虽然我们对这个文件有权限,却没有办法编辑和删除,或者仅能对这个文件追加等操作,这个就涉及到了linux的隐藏权限。

  1、chattr命令用于设置文件的隐藏权限,用法“chattr [参数] [文件]”。

  参数:

 1 A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
 2 S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
 3 a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
 4 b:不更新文件或目录的最后存取时间。
 5 c:将文件或目录压缩后存放。
 6 d:当dump程序执行时,该文件或目录不会被dump备份。
 7 D:检查压缩文件中的错误。
 8 i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
 9 s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
10 u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
11 t:文件系统支持尾部合并(tail-merging)。
12 X:可以直接访问压缩文件的内容。

  2、lattr 查看隐藏权限,用法:“lattr [文件]”。

原文地址:https://www.cnblogs.com/zhanbing/p/10251736.html

时间: 2024-08-24 22:42:49

linux文件的特殊权限及隐藏权限的相关文章

攻城狮在路上(叁)Linux(十五)--- 文件与目录的默认权限与隐藏权限

一.文件默认权限:umask <==需要被减去的权限. 1.umask指的是当前用户在新建文件或者目录时的默认权限,如0022; 2.默认情况下,用户创建文件的最大权限为666; 创建目录的最大权限为777. 3.最终权限 = 最大权限 - umask; <== 此处注意并非是数值直接相减. 4.设置umask: umask 002; 5.由上述条件,自己判断用户新建文件或目录的最终权限. 二.文件的隐藏属性: chattr.lsattr , 隐藏属性对于系统安全有很大的帮助. chattr

Linux中的默认权限与隐藏权限(文件、目录)

一个文件(或目录)拥有若干个属性,包括(r/w/x)等基本属性,以及是否为目录(d)与文件(-)或连接文件(l)等属性.此外,Linux还可以设置其他系统安全属性,使用chattr来设置,以lsattr来查看,最重要的是可以设置其不可修改的特性,即便是文件的拥有者都不能进行修改.这个属性相当重要,尤其是在安全机制方面(security). 文件默认权限:umask 当建立一个新的文件或目录时,它的默认属性是与umask有关的.通常,umask就是指定当前用户在建立文件或目录时的属性默认值.那么,

Linux之文件(目录)默认权限、特殊权限与隐藏权限

文件默认权限 从Linux之用户组.文件权限详解了解到文件与目录的基本权限管理,文件在创建时如果不指定具体的权限,那么系统会给它分配一个默认的权限,这个默认权限就是umask. [email protected]:~$ umask //我们可以使用umask命令来查看默认权限 0002 第1个0是特殊默认权限,可以先不用管.后面002就是我们创建文件/目录的默认权限.由于普通文件默认没有可执行权限,即只有r.w权限,所以权限最大为666(-rw-rw-rw-).目录需要进入访问权限,需要有r.w

linux之权限之隐藏权限

linux权限之隐藏权限 大家都知道,在Linux系统中root用户是超级大"Boss",这样说的原因是没有他删除不了的文件,感觉"无法无天"那么今天我要跟大家分享的一个权限可以限制root用户删除指定权限. 首先说说,隐藏权限有什么作用,什么场景需要使用.隐藏权限的作用主要有: 1)任何用户不可以删除用户创建的指定文件,只可以查看 2)任何用户不可以删除用户创建的指定文件,可以查看且可以编辑指定文件. 有些人说哪里会用到此权限呢?/etc/resolv.conf

[权限管理]——一般权限、特殊权限、隐藏权限

Linux下的文件/目录有三类权限:一般权限.特殊权限.隐藏权限 关于权限与归属的认识(三张图) 访问权限/一般权限:r w x 1.对目录而言rwx的意义是? r:意味着具有读取目录结构列表的权限.即能够使用ls命令 $ ll dr--------. 2 lyj01 lyj01 4096 7月 7 09:59 test1 $ cd test1/ ------>#只有r权限是没有办法cd进入目录的 bash: cd: test1/: 权限不够 $ ls test1/ ls: 无法访问test1/

Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

文件默认权限:umask [[email protected] ~]# umask 0022 <==与一般权限有关的是后面三个数字! [[email protected] ~]# umask -S u=rwx,g=rx,o=rx 默认的情况如下: 若使用者创建为『文件』则默认『没有可运行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,默认权限如下: -rw-rw-rw- 若使用者创建为『目录』,则由於 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777

文件与文件夹的默认权限与隐藏权限

除了基本r, w, x权限外,在Linux的Ext2/Ext3文件系统下,我们还能够配置其它的系统隐藏属性, 这部份可使用 chattr来配置,而以 lsattr 来查看. 文件默认权限:umask umask 就是指定眼下使用者在创建文件或文件夹时候的权限默认值. # umask 0022 <==与一般权限有关的是后面三个数字! # umask -S u=rwx,g=rx,o=rx 查阅的方式有两种.一种能够直接输入 umask ,就能够看到数字型态的权限配置分数,一种则是增加 -S (Sym

文件与目录的默认权限与隐藏权限【转vbird】

一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略提过了(chgrp, chown, chmod) ,本小节会再加强补充一下! 除了基本r, w, x权限外,在Linux的Ext2/Ext3文件系统下,我们还可以配置其他的系统隐藏属性, 这部份可使用 chattr 来配置,而以 lsattr 来查看,最重要的属性就是可以配置其不可修改的特性!让连文件的拥有者都不能进行修改! 这个

文件与目录的默认权限与隐藏权限

除了基本r, w, x权限外,在Linux的Ext2/Ext3文件系统下,我们还可以配置其他的系统隐藏属性, 这部份可使用 chattr来配置,而以 lsattr 来查看. 文件默认权限:umask umask 就是指定目前使用者在创建文件或目录时候的权限默认值. # umask 0022 <==与一般权限有关的是后面三个数字! # umask -S u=rwx,g=rx,o=rx 查阅的方式有两种,一种可以直接输入 umask ,就可以看到数字型态的权限配置分数,一种则是加入 -S (Symb