文件默认权限:umask

  umask就是指定“目前用户在新建文件或目录时候的权限默认值”。查询umask有以下两种方式:

  

  目录与文件的默认权限是不一样的:

  - 文件,默认没有可执行(x)权限,只有r、w这两项。也就是最大为666。默认为:-rw-rw-rw

  - 目录,默认所有权限,即为777分,默认权限:drwxrwxrwx

  umask的分数指的是“该默认值需要减掉的权限”,如,umask为022,

  - 创建文件时:(-rw-rw-rw) - (-----w--w)==>-rw-r--r--

  - 创建目录时:(drwxrwxrwx) - (d-----w--w-)==>drwxr-xr-x

  umask对于新建文件的默认权限是很有关系的。如果umask设置为022,那么新建的数据只有用户自己具有w权限,用户组的人只有r这个可读权限而已。

  那如何设置umask呢,直接在umask后边输入002就好了:

  

文件的隐藏属性 chattr,lsattr

  chattr(设置文件的隐藏属性)

  chattr命令只能在Ext2/Ext3的文件系统上生效。

  

  这个命令是很重要的,尤其在系统的数据安全上面。+i可以让一个文件无法被改动,对于需要强烈的系统安全的人来说,真是相当重要的。

  Isattr(显示文件隐藏属性)

  

文件特殊权限:SUID, SGID,SBIT

  -SetUID

  

    当s这个标记出现在文件所有者的x权限上时,此时被称为Set UID,简称SUID的特殊权限。SUID有这样的限制与功能:

  - SUID权限仅对二进制程序有效

  - 执行者对于该程序需要具有x的可执行权限

  - 本权限仅在执行该程序的过程中有效

  - 执行过程种,执行者“暂时”将具有该程序所有者的权限。

  

  另外,SUID仅可用在二进制程序上,不能够用在shell script 上面。这是因为shell script只是将很多的二进制执行文件调进来执行而已。

  Set GID

  当s标志在文件所有者x项目为SUID,那s在用户组的x时则成为Set  GID,SGID。SGID可以针对文件或者目录来设置。如果是对文件来说,有如下功能:

    - SGID对二进制程序有用;

    - 程序执行者对于该程序来说,需具备x的权限

    - 执行者在执行的过程中将会“暂时”获得该程序用户组的支持。

  当一个目录设置了SGID的权限后,它将具有如下的功能:

    - 用户若对于此目录具有r与x权限时,该用户能进入此目录;

    - 用户在此目录下的有效用户组将会变成该目录的用户组;

    - 若用户在此目录下具有w的权限(可以新建文件),则用户所创建的新文件的用户组与此目录的用户组相同。

  Sticky Bit

    这个Sticky Bit(SBIT)目前只针对目录有效,对于文件已经没有效果了。SBIT对于目录的作用:

    - 当用户对于此目录具有w,x权限,即具有写入的权限时;

    - 当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件。

    - 当甲这个用户与A目录是具有用户组或其他人的身份,并且拥有该目录的w的权限,这表示甲用户对该目录内任何人新建的目录或文件均可进行删除、重命名、

      移动等操作。不过如果A目录加上SBIT的权限项目时,则甲只能够针对自己创建的文件或目录进行删除、重名命名、移动等操作,而无法删除他人的文件。

  SUID/SGID/SBIT权限设置

    4为SUID

    2为SGID

    1为SBIT

    将一个文件权限改为“-rwsr-xr-x”由于s在用户权利中,所以是SUID,因此,在原先755之前加上4.“chmod 4755 filename”来设置。

    

    最后一个例子出现S和T,因为s和t都是替代x这个权限的,但是你有没有发现,我们执行7666。也就是说,user,group以及other都没有x这个权限,所以

    这个S,T代表的就是“空的”。SUID是表示这个文件在执行的时候有文件拥有者的权限,但是文件拥有者都无法执行了,哪里来的权限给其他人使用,当然是空的。

    除了数字法之外,可以用过符号法来处理,其中SUID为u+s,而SGID为g+s,SBIT则是o+t:

    

权限与命令间的关系 

  - 让用户进入某目录成为“可工作目录”的基本权限:

    可使用的命令:例如cd等切换工作目录的命令

    目录所需权限:用户对这个目录至少需要具有x的权限

    额外需求:如果用户想要在这个目录内利用ls查阅文件名,则用户对此目录还需要r的权限

  - 用户在某个目录内读取一个文件的基本权限是什么

    可使用的命令:cat ,more,less等

    目录所需权限:用户对这个目录至少需要具有x权限

    文件所需权限:用户对文件至少需要具有r的权限才行!

  - 用户可以修改一个文件的基本权限是什么

    可使用命令:nano或者vi编辑器等

    目录所需权限:用户对这个目录至少需要具有x权限

    文件所需权限:用户对该文件至少要有r,w权限

  - 让一个用户可以创建一个文件的基本权限是什么

    目录所需权限:用户在该目录要具有w,x的权限,重点在w

  - 让用户进入目录并执行该目录下的某个命令的基本权限是什么

    目录所需权限:用户在该目录至少要有x权限

    文件所需权限:用户在该文件至少需要有x的权限

Linux 文件与目录的权限的更多相关文章

  1. 15、linux文件、目录的权限及如何改变权限(root用户不受任何权限的限制)

    15.1.linux普通文件的读.写.执行权限说明: r:读,表示具有读取\阅读文件内容的权限: w:可写,表示具有新增,修改文件内容的权限: 如果没有r配合,那么vi编辑文件会提示无法编辑(但可以强 ...

  2. Linux文件和目录的权限笔记

    查看文件或者目录的权限命令:ls -al # -a 表示全部文件包含隐藏文件,-l 表示列出每个文件的详细信息 比如执行 ls -al total 115 drwxr--x--- 4 root roo ...

  3. Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)

    1. chmod 改变已有目录或文件的权限 chmod 设置已有目录或文件的权限.可以为指定范围的用户添加或删除权限. 权限范围的表示法如下: u:User,即文件或目录的拥有者: g:Group,即 ...

  4. linux文件及目录的权限管理

    一.文件的权限 1.文件权限的查看 命令:ls -l 可以使用ll命令代替 ls -l 2.ls -l 所包含的信息 (1)权限信息 (-rw-r--r-- ) 一共有10位 a.第一位:表示文件信息 ...

  5. Linux文件和目录的777、755、644权限解释

    Linux文件和目录的权限 1.文件权限 在linux系统中,文件或目录的权限可以分为3种: r:4 读 w:2 写 x:1  执行(运行)-:对应数值0 数字 4 .2 和 1表示读.写.执行权限 ...

  6. Linux文件和目录的属性及权限总结

    本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...

  7. Linux文件和目录权限实战讲解

    一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...

  8. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

  9. linux文件和目录权限

    linux系统文件和目录的权限说明 文件权限是Linux系统的第一道安全防线,基本的权限有读取(r).写入(w)和执行(x): 文件访问模式 读取:用户能够读取文件信息,查看文件内容. 写入:用户可以 ...

随机推荐

  1. Java 之 数据库连接池

    一.数据库连接池 1.连接池概念 连接池其实就是一个容器(集合),存放数据库连接的容器. 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问之 ...

  2. 在线生成二维码API接口

    1.http://s.jiathis.com/qrcode.php?url=kk 2.http://qr.liantu.com/api.php?text=kk 3.http://api.k780.co ...

  3. 在SQL查询结果中添加自增列的两种方法

    解决办法<一>:如果想查询出这个表的信息,并添加一列连续自增的ID,可用如下查询语句: SELECT Row_Number() over ( order by getdate() ) as ...

  4. Python学习日记(二十五) 接口类、抽象类、多态

    接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...

  5. 【转】简易剖析Hadoop作业工作机制

    原文地址:https://www.cnblogs.com/duma/p/10666269.html 建议:结合第四版Hadoop权威指南阅读,更有利于理解 运行机制 运行一个 MR 程序主要涉及以下 ...

  6. 小米5s plus刷机

    1. 先去这里解锁 .http://www.miui.com/unlock/done.html 2.再去开发者选项里面,将手机账号和解锁手机绑定. 3.使用解锁工具解锁 4.下载安装奇兔刷机 http ...

  7. docker镜像批量打包

    docker镜像批量打包 批量打包镜像: # docker save $(docker images | grep -v REPOSITORY | awk 'BEGIN{OFS=":&quo ...

  8. Type mismatch: cannot convert from element type Object to String 解决办法

    首先放上我的源码,看看你的代码是不是我这个类似的. @Test void predicateTest() throws Exception { List<String> languages ...

  9. SpringCloud2.0 Config 分布式配置中心 基础教程(十一)

    Spring Cloud Config 简介 Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的外 ...

  10. LabelEncoder save 离线使用

    For me the easiest way was exporting LabelEncoder as .pkl file for each column. You have to export t ...