一个文件(或文件夹)拥有若干个属性。包含(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. RecastNavigation(3D场景建模、网格导航)

    一.RecastNavigation详解 RecastNavigation定义: RecastNavigation是一个导航寻路工具集,使用邻接的凸多边形集合描述一个3D场景,A*寻路算法使3D场景的 ...

  2. windbg将调试信息保存到文本文件

    在跟踪一些出现频率较低的问题时,有时候需要长时间调试,但是在在输出信息太多时可能前面的日志会被清空,为避免这种情况,可以将输出日志记录到文本文件以备查看. 1. 可以在启动时直接用带 -logo的命令 ...

  3. matplotlib之pyplot 知识点滴

    以下是一些常用地址链接,请参考 matplotlib 官方网址 plt.plot()函数细节 Matplotlib 中文用户指南 4.6 编写数学表达式 Python seaborn matplotl ...

  4. 《深入理解Android虚拟机内存管理》示例程序编译阶段生成的各种语法树完整版

    1.tokens "int"                   "int" <SPACES>                " &quo ...

  5. JAVA 构建使用 Native 库

    Java 使用Native文件,一般分解为下面几个步骤: 在Java代码中使用native关键字声明一个本地方法 运行javah,获得包含该方法声明的C语言头文件(使用jni编程中的C函数名通常是相关 ...

  6. 实现Android-JNI本地C++调试

    1.       原文链接:NDK单步调试方法 如有问题或者版权要求,请拜访原作者或者通知本人. 最近为了性能需求,开始搞JNI,白手起搞真心不容易.中间差点崩溃了好几次,最终总算得到一点心得. JN ...

  7. sql server 查询时间 格式化输出

    use test select * from vote insert into vote (contents) values(GETDATE()) insert into vote (contents ...

  8. Fedora Atomic Host 使用中的几个坑

    做成U盘启动:必须用配套工具写U盘,否则安装时各种timeout Cockpit中文页面会导致登录后页面空白的bug,解决办法是更改浏览器首选语言 没有yum,无法下载网页浏览器w3m,Pydio c ...

  9. Python这些问题你会吗?

    inal作用域的代码一定会被执行吗? 正常的情况下,finally作用域的代码一定会被执行的,不管是否发生异常.哪怕是调用了sys.exit函数,finally也是会被执行的,那怎么样才能让final ...

  10. 用电销机器人让电销企业迈入AI智能时代

    2019年是AI智能快速发展的一年,有非常多的企业已经用AI智能代替原有的传统员工做重复性高的工作,就拿销售行业来说,为了让电销员工提升工作效率,拥有更多的成单,大部分有电销岗位的公司都会把重复率较高 ...