[From] https://blog.csdn.net/davidsky11/article/details/25424615

一个文件(或目录)拥有若干个属性,包括(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权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限。例如,账号和密码的存放文件其实是/etc/passwd与/etc/shadow,它们的拥有者是root。在这个权限中,仅有root可以强制写入。一个普通用户webgod去更新自己的密码时,使用的就是/usr/bin/passwd程序,却可以更新成功,而/usr/bin/passwd的拥有者是root。那么,就是说webgod这个普通用户可以访问/etc/shadow密码文件。???这既是因为有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中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

  5. SecureCRT SSH Linux中不显示彩色 字体颜色、文件夹和文件显示的颜色区别开解决办法

    SecureCRT SSH Linux中不显示彩色 字体颜色.文件夹和文件显示的颜色区别开解决办法 实验环境: 刚开始我的情况是这样的:带颜色的显示不出来,然后还能看到,此处有内容,猜测是Secure ...

  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. 攻城狮在路上(叁)Linux(十五)--- 文件与目录的默认权限与隐藏权限

    一.文件默认权限:umask <==需要被减去的权限. 1.umask指的是当前用户在新建文件或者目录时的默认权限,如0022; 2.默认情况下,用户创建文件的最大权限为666; 创建目录的最大 ...

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

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

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

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

随机推荐

  1. jqgrid 单元格放超链接文本

    .前台 <%-- builed by manage.aspx.cmt [ver:] at // :: --%> <%@ Page Language="C#" Au ...

  2. javascript总结28 :匿名函数

    1 匿名函数 //匿名函数. // (function (){ // console.log(1); // }) 2  匿名函数作用 //1.直接调用 (function (){ console.lo ...

  3. Alpha冲刺 - (8/10)

    队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1(组长)柯奇豪 过去两天完成了哪些任务 进一步优化代码,结合自己负责的部分修改功能 代码规范完整 ...

  4. 团体程序设计天梯赛L1-027 出租 2017-03-23 23:16 40人阅读 评论(0) 收藏

    L1-027. 出租 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声, ...

  5. jQuery控制iframe框架内元素

    用jQuery在IFRAME里取得父窗口的某个元素的值只好用DOM方法与jquery方法结合的方式实现了 1.在父窗口中操作 选中IFRAME中的所有单选钮$(window.frames[" ...

  6. jmeter- 性能测试3:聚合报告(Aggregate Report )

    jmeter-监听器-聚合报告样例: 字段说明: label:请求名称,自己定义的 #Samples:这次测试中一共发出了多少个请求,如果模拟20个用户,每个用户迭代20次,那么就是400(未设置持续 ...

  7. Android-ListView-SimpleAdapter

    我在上一篇博客中Android-动态添加控件到ScrollView,写到可以用Java动态添加控件到Scrollview的孩子LinearLayout里面去,这种方式是不合理的,因为这种方式是一次性把 ...

  8. 介绍自己以及github注册流程

    我叫何季生,来自网络工程141,学号是1413042027,我喜欢看一些动漫和游戏,对于编程并不是很厉害希望今年能够有所突破. github注册流程:在刚开始注册github时,我用的是qq浏览器,却 ...

  9. Replication--将LSN转换成16进制

    在复制中经常会使用到16进制的LSN,但在日志fn_dblog中的LSN是数字形式,于是从网上找到以下转换函数CREATE FUNCTION dbo.fn_convertnumericlsntobin ...

  10. python下使用tesserocr遇到的一些坑

    我是在win7 64位系统下用的. 首先是安装tesseract,这个可以去官网下载,我使用的是3.05.1,安装时使用默认安装路径就行了,下载语言包速度很慢很慢,需要等 接下来就是安装tessero ...