文件的从属权限和特殊权限

基础权限

  rwx

    经过今天的洗礼,了解了文件的权限位(rwx),而权限对于目录和文件有着不同的意义

    使用ls -l 命令后可以看到

    -rw-r–r–. 1 root root 10033 8月   2 03:44 install.log.syslog

    横线部分是十个位置,-代表文件类型,剩余九位,每三位为一组,从左到右分别是文件的属主

    (u)rwx,文件的属组(g)rwx,其他用户(o)rwx,

    rwx:读,写,执行

    rwx对文件

    r,如果一个用户对一个文件拥有“读”权限后,代表此用户可以浏览这个文件的内容

    w,如果一个用户对一个文件拥有“写”权限后,代表此用户可以修改和删除这个文件的内容,但是不能删除这个文件本身

    x,如果一个用户对一个文件拥有“执行”权限后,代表此用户可以运行此文件(这个相当危险的,不建议随便给用户x权限)

    rwx对目录

    r,如果一个用户对一个目录拥有“读”权限后,代表此用户可以浏览这个目录中的文件列表

    w,也不可以修改这个目录中的文件内容

    x,如果一个用户对一个目录拥有“写”权限后,代表此用户可以在这个目录中创建新的文件与目录;删除已经存在的文件与目录(不论该文

    件的权限为何!)将已存在的文件或目录进行更名;搬移该目录内的文件、目录位置。对目录来讲不建议随便给一个用户用于w的权限

    如果一个用户对一个目录拥有“执行”权限后,代表此用户可以进入这个目录中,并且在拥有读,写权限的情况下可以浏览目录中的文件列

    表,也可以在目录中创建新文件,如果一个用户对一个目录没有执行权限的话,那么这个用户就无法cd进此目录,而且也无法执行读,写,

    即使是在对此目录拥有读写权限的情况下也罢,对目录来讲建议给用户x权限

   

  相关操作命令:

    赋权

    chmod u=rwx,g=rw,o=x file

    授权

    chmod u+rwx,g+rwx,o+rwx file

    八进制

     每个权限组的r=4,每个权限组的w=2,每个权限组的x=1

    chmod 660 file

默认权限

 umask

    umask是新建文件的默认权限,

   umask

    对文件来将666-umask(默认002)=文件的权限(普通用户),666-umask(默认022)=文件的权限(管理员)

    对目录来讲777-umask(默认002)=目录的权限(普通用户),777-umask(默认022)=目录的权限(管理员)

    相关操作命令

    直接键入 umask 可以查看umask值    

    umask -S 模式方式显示

    [root@ali ~]# umask -S

    u=rwx,g=rx,o=rx

    umask -p 输出,可被调用

    [root@ali ~]# umask -p

    umask 0022

    修改方法

    umask 数值(八进制)

    umask u=rw,g=r,o=

    全局设置:/etc/bashrc,用户设置:~/.bashrc

    如果所得结果某位存在执行权限(奇数),则将其权限加1

三种特殊权限

    

  SUID

    每个程序运行成进程时,这个进程以发起者身份运行,就是发起这个进程的用户,而不是这个程序的属主,应用在文件上,如果一个程序拥

    有了suid权限,那么每个用户运行此程序时都是以这个文件的属主的身份运行的但是如果这个程序拥有SUID特权的时候,这个进程运行的身

    份就不是发起这个进程的用户了,而是这个程序文件的属主。

   相关命令:

     chmod u+s file 增加suid

    chmod u-s file 撤销suid

    占位在属主的x权限位,如果属主原来没有x权限则表现为大写S

  SGID

    用在目录的属组权限上,如果此目录拥有SGID权限之后,用户在此目录下新创建的文件的属组将会是这个目录的属组,而不是创建这个文件

    的用户的私有组,如果一个目录拥有了sgid权限,那么每一个用户进入到此目录创建文件的属组会是这个目录的属组,而不是创建文件的用

    户的属组组

   相关命令:

    chmod g+s file 增加sgid

    chmod g-s  file 撤销sgid

    占位在属组的x权限位,如果属组原来没有x权限则表现为大写S

  STICKY

    也用在目录上,如果此目录拥有STICKY权限的话,用户在此目录只能删除自己创建(自己为属主)的文件,而不能删除其他用户创建的文

    件,即便是用户对此目录有写的权限也不行。

   相关命令:

    chmod o+t dir 增加sticky

    chmod o-t  dir 撤销sticky

    占位在其他用户的x权限位,如果其他用户原来没有x权限则表现为大写T

    特殊权限的数字赋权法

    chmod 4777 ,可以把每一个特殊权限位再看成rwx(及suid,sgid,sticky),操作在原有的传统数字权限位前

    

mask和facl

    mask是创建文件后修改文件的权限的高压线,所有通过facl修改的文件的权限除了文件所有者和other以外,所有人都不能超过mask的权限

  facl :访问控制列表

    如果文件的属主,属组,其他权限设置不能满足你,假如你只想针对某一个或者多个用户设定文件权限的话,facl可以满足你,当一旦设置

    facl权限后 属组的权限将会变成mask的权限,但是mask不会给用户添加原来没有的权限(当文件的属主的权限是读,写,而mask的权限是

    读,写,执行,这种情况下mask不会给用户添加执行权限的)

   facl相关操作命令

    facl

    getfacl file 查看文件的facl列表

    赋权给用户

    setfacl -m u:username:mode file

    setfacl -M acl.txt file(批量添加)

    赋权给组

    setfacl -m g:groupname:mode file

    撤销赋权

    setfacl -x u:username file

    setfacl -x g:groupname file

    setfacl -X acl.txt file(批量删除)

     setacl  -b file 彻底清空所有facl信息

    占位在其他用户的x权限后,以+号表示

    facl生效顺序:所有者,自定义用户,自定义组,其他人

    facl的备份和恢复命令

    先使用getfacl -R file|dir读去列表然后>重定向保存到文件a.txt

    然后setfacl -k 删除原文件facl列表

    再然后setfacl -R –set-file=a.txt读会facl列表,完整命令示例如下

    [root@ali /]# getfacl -R testdir/ > acl.txt

    [root@ali /]# setfacl -k /testdir/

    [root@ali /]# setfacl -R –set-file=acl.txt /testdir/

   mask对facl的高压控制

    [root@ali ~]# getfacl /testdir/testdir

    getfacl: Removing leading '/' from absolute path names

    # file: testdir/testdir

    # owner: root

    # group: root

    user::rw-

    user:user1:rwx #effective:r–

    group::r–

    group:g1:rw- #effective:r–

    mask::r–

     other::—      此部分往上表示针对此目录执行的ACL权限  ,操作命令setfacl -m m::rwx dir

    default:user::rwx

    default:user:user1:rw-

    default:group::r-x

    default:group:g1:—

    default:mask::rwx

    default:other::r-x   此部分表示默认针对此目录下将要新建的文件执行ACL权限,操作命令 setfacl -m d:u:user1:rwx dir  

文件的特定特殊属性

    chattr:功用是让你的文件避免被误操作

    chattr +A file 锁定文件的时间戳

    +i file 不能删除,更改,改名

    +a file 只能增加

    lsattr 可以查看文件被添加的特殊属性

    我们说的权限是有针对文件系统的,比如在vfat分区文件下,不支持linux的权限,很多命令对其不起作用

原创文章,作者:M20-1马星,如若转载,请注明出处:http://www.178linux.com/28562

(0)
上一篇 2016-08-04 14:25
下一篇 2016-08-04 14:39

相关推荐

  • 编译安装lamp框架

    一、 先说说啥叫lamp     1. lamp简介: Linux Apache Mysql PHP(Python, Perl)的简称,下面说说他们之间的关系         Linux:系统运行平台    &…

    Linux干货 2015-06-18
  • 虚拟机的三种网络模式

    前言     虚拟机的网络模式,是环境部署时的重要环节。不同的运行环境对网络的要求也是不用的,本章节重点介绍虚拟机的三种网络模式、以及他们之间的区别 虚拟机网络模式      无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2…

    2017-07-11
  • Linux文本处理工具grep,egrep

    简介:     grep即(Global search REgular expression and Print out the line)全局的搜索正则表达式并且打印显示出来。     通俗点讲:根据用户指定的文本模式(搜索条件)对目标文件进行逐行搜索,显示能匹配到的行。 &n…

    Linux干货 2015-05-11
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • 大话命令之–ss

    大话命令之—ss ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。 优势: (1)显示更多更详细的有关TCP和连接状态的信息,(2)比netstat更快速更高效。 1 格式 格式:ss    [option]… &nbs…

    Linux干货 2017-05-15
  • 搭建基于http的本地yum源服务器

    概述 yum相较于rpm,能够更好地解决安装软件时的依赖包问题,使用yum安装更简单更方便。搭建本地YUM源服务器,可以避免升级安装软件时占用公网带宽;有了本地YUM源服务器,可以解决无法连接Internet的其他YUM客户端的软件升级和安装。 本文主要介绍了以下内容: 通过编译Apache源码包安装httpd服务; 搭建基于HTTP的yum源服务器; 将I…

    Linux干货 2016-08-24