一个文件(或文件夹)拥有若干个属性。包含(r/w/x)等基本属性,以及是否为文件夹(d)与文件(-)或连接文件(l)等属性。此外,Linux还能够设置其它系统安全属性。使用chattr来设置。以lsattr来查看。最重要的是能够设置其不可改动的特性,即便是文件的拥有者都不能进行改动。

这个属性相当重要。尤其是在安全机制方面(security)。

文件默认权限:umask

当建立一个新的文件或文件夹时,它的默认属性是与umask有关的。

通常,umask就是指定当前用户在建立文件或文件夹时的属性默认值。那么,怎样获知和设置umask呢?

查看方式有两种,一种是直接输入umask,能够看到数字类型的权限设置分数。一种是增加-S(Symbolic)參数,救护以符号类型的方式显示权限。

在默认权限的属性上。文件夹与文件是不一样的。因为我们不希望文件具有可运行权限。默认情况下。文件是不具有可运行(x)权限的。因此:

1. 若用户建立的是“文件”,则默认没有可运行(x)权限,及仅仅有rw这两个权限,也就是最大为666,默认属性:-rw-rw-rw-;

2. 若用户建立的是“文件夹”,则因为x与能否够进入此文件夹有关。因此默认全部权限均开放。即777,默认属性:drwxrwxrwx。

umask指定的是该默认值须要减掉的权限。由于r/w/x各自是4/2/1,也就是说,当要去掉写权限时,就输入2。要去掉读权限时。就输入4,要去掉读和写的权限时,就输入6。所以,上图中0022。就是group与others的属性被去掉了2。那么当用户:

1. 建立文件时:(-rw-rw-rw-) - (-----w--w-) è-rw-r--r--

2. 建立文件夹时:(drwxrwxrwx) - (d----w--w-) èdrwxr-x-r-x

假设我们只想取消group的w权限,也就是说,我们希望编写出来的文件应该具有-rw-rw-r--权限,全部,umask应该是002才对。直接在umask后面输入002就可以。

在默认情况下。root的umask会去掉比較多的属性,root的umask默认是022。这是基于安全的考虑。一般身份用户通常的umask为002,及保留同用户组的写入权限。

 

文件隐藏属性

文件有隐藏属性,隐藏属性对系统有非常大的帮助。尤其是系统安全性(Security)方面。

1、chattr(设置文件隐藏属性)

         

这个属性设置上。比較常见的是a与i的设置值。并且狠毒设置值必需要root才干设置。

这个命令非常重要,尤其是在系统的安全性方面。因为这些属性是隐藏的,所以须要用lsattr才干查看。

最重要的是+i属性。它能够让一个文件无法被更改。假设是登陆文件,就更须要+a參数,使它能够添加但不能改动与删除原有数据。

2、lsattr(显示文件的隐藏属性)

         

使用chattr设置后,能够使用lsattr来查看隐藏属性。

文件特殊权限:SUID/SGID/StickyBit

1、Set UID

创建s与t权限,是为了让一般用户在运行某些程序的时候,能够临时具有该程序拥有者的权限。

比如,账号和password的存放文件事实上是/etc/passwd与/etc/shadow,它们的拥有者是root。

在这个权限中,仅有root能够强制写入。一个普通用户webgod去更新自己的password时,使用的就是/usr/bin/passwd程序,却能够更新成功,而/usr/bin/passwd的拥有者是root。

那么。就是说webgod这个普通用户能够訪问/etc/shadowpassword文件。???这既是由于有s权限的帮助。当s权限在user的x时(注意下图的/usr/bin/passwd的相关属性),此处是-rwsr-xr-x,称为Set
UID,简称SUID,这个UID表示User的ID,而User表示这个程序(/usr/bin/passwd)的拥有者(root)。

所以,当webgod用户运行/sur/bin/passwd时,他就临时获取文件拥有者root的权限。

         注:SUID仅可用在二进制文件(binary file)。并且对文件夹无效。

2、Set GID

假设s的权限是在用户组。那么就是Set GID,简称SGID。SGID能够用在两个方面:

1  文件:假设SGID设置在二进制文件上。不管用户是谁。在运行该程序的时候,它的有效用户组将会变成该程序的用户组全部者;

2  文件夹:假设SGID是设置在A文件夹上,则在该A文件夹内所建立的文件或文件夹的用户组。将会是此A文件夹的用户组。

3、Sticky Bit

SBit一般用于文件夹上,对文件的意义不大。SBit对文件夹的作用是:在具有SBit的文件夹下。用户若在该文件夹下具有w及x权限。则当用户在该文件夹下建立文件或文件夹时,仅仅有文件拥有者与root才有权利删除。SBit能够理解为防删除位。

假设希望用户能够加入文件但同一时候不能删除文件,则能够对文件使用SBit位。设置该位后,就算用户对该文件的父文件夹具有写权限,也不能删除文件。

4、SUID/SGID/SBIT权限设置

使用数字更改权限的方式为“3个数字”的组合,那么,假设在这3个数字之前加上一个数字,最前面的数字就表示这个几个属性的组合:4为SUID。2为SGID。1为Sticky Bit。

系统规定,假设本来在该位上有x。则这些特殊标志便是为小写字母(s/s/t),否则,显示为大写字母(S/S/T)。

Linux中的默认权限与隐藏权限(文件、文件夹)的更多相关文章

  1. Linux学习之CentOS(九)-----文件与目录的默认权限与隐藏权限

    文件与目录的默认权限与隐藏权限 一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略 ...

  2. Linux学习之CentOS(八)----文件与目录的默认权限与隐藏权限(转)

    文件与目录的默认权限与隐藏权限 一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略 ...

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

    文件默认权限 从Linux之用户组.文件权限详解了解到文件与目录的基本权限管理,文件在创建时如果不指定具体的权限,那么系统会给它分配一个默认的权限,这个默认权限就是umask. vbird@Ubunt ...

  4. Linux中生成Core Dump系统异常信息记录文件的教程

    Linux中生成Core Dump系统异常信息记录文件的教程 http://www.jb51.net/LINUXjishu/473351.html

  5. [转] Linux中的默认权限与隐藏权限(文件、目录)

    [From] https://blog.csdn.net/davidsky11/article/details/25424615 一个文件(或目录)拥有若干个属性,包括(r/w/x)等基本属性,以及是 ...

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

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

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

    一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略提过了(chgrp, chown ...

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

    基础知识 相信大家应该都知道linux的文件基本权限,使用ls -l命令可以显示文件的基本权限,"-rwxrwxrwx.",第一位表示文件的属性(是文件-  ,目录d等),后面每隔 ...

  9. 《linux就该这么学》课堂笔记08 用户权限、特殊权限、隐藏权限、su、sudo

    1.文件的读.写.执行权限可以简写为 r w x,亦可分别用数字4.2.1来表示 2.文件的特殊权限 2.1.SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限( ...

随机推荐

  1. windows系统下nodejs安装、环境配置及删除NPM全局配置

    nodejs安装及设置NPM全局路径 删除NPM全局路径配置 一.nodejs安装及设置NPM全局路径 第一步:下载安装文件 下载nodejs,官网:http://nodejs.org/downloa ...

  2. elasticearch 归并策略

    归并线程配置 segment 归并的过程,需要先读取 segment,归并计算,再写一遍 segment,最后还要保证刷到磁盘.可以说,这是一个非常消耗磁盘 IO 和 CPU 的任务.所以,ES 提供 ...

  3. 闲谈Spring-IOC容器

    闲聊 无论是做j2ee开发还是做j2se开发,spring都是一把大刀.当下流行的ssh三大框架中,spring是最不可替代的,如果不用hibernate和struts,我觉得都无关紧要,但是不能没有 ...

  4. buf.readInt16LE函数详解

    offset {Number} 0 noAssert {Boolean} 默认:false 返回:{Number} 从该 Buffer 指定的带有特定尾数格式(readInt16BE() 返回一个较大 ...

  5. Android 存储路径选择

    Android能用来存储的地方有两个,一个是手机内置的存储空间,一个是外置的SD卡,内置的存储空间一般比较小,所以应用的缓存建议存储在外置的SD卡中. 在Android系统中如何获得存储的路径呢? p ...

  6. ★Java语法(二)——————————数据类型常见问题

    1.用float型定义变量:float a = 3.14 :是否正确? 不正确.“=” 两边的精度类型不匹配,应为:float a =(float)3.14 或  float a =3.14F 或   ...

  7. 【C++】颜色的设置

    1.改变整个控制台的颜色用 system("color 0A"); 其中color后面的0是背景色代号,A是前景色代号.各颜色代码如下: 0=黑色 1=蓝色 2=绿色 3=湖蓝色  ...

  8. dispatch_sync

    dispatch_sync does two things: queue a block blocks the current thread until the block has finished ...

  9. cocos ios Label组件问题

    软件:cocos creator v1.9.0 开发的过程中,一直在web上预览,Label组件显示一直没问题.在打包到ios上时,出现问题了: Label组件: 当我们缩小字体,发现没问题了,当我们 ...

  10. BZOJ 1724: [Usaco2006 Nov]Fence Repair 切割木板 贪心 + 堆 + 反向思考

    Description Farmer John想修理牧场栅栏的某些小段.为此,他需要N(1<=N<=20,000)块特定长度的木板,第i块木板的长度为Li(1<=Li<=50, ...