权限,特殊权限,FACL

用ls -l filename 可以查看文件或者目录的详细信息,具体分析一下

在第一个空格前,有10个字段,第一个“-”表示文件类型,后边“rw-r–r–”表示权限

文件类型     “-”  普通文件

“d”  目录

“b”  块设备文件

“c”  字符设备文件

“l”   字符链接文件(软链接)

“p”   管道文件

“s”   套接字文件

文件(目录)权限   共9位,每3位一组,每一组都有r(读)w(写)x(执行)三个权

限,第一个3位表示属主的权限,第二个3位表示属组的权限,第三

个3位表示other权限

以上图为例,第一个“-”表示是个普通文件,后边3位“rw-”表示属主权限,有读写权限,执行位位“-”说明没有执行权限,“r–”表示属组有只读权限,other和属组一样都是只读文件的权限主要针三类对象进行定义

owner:属主   u

group:属组    g

other   其他   o

all    所有   a    修改所有

文件权限

r:可读,可以使用cat等命令来查看文件内容

w:可写,可以编辑或者删除此文件

x:可执行,可以在命令提示符下当做命令提交给内核执行

目录权限

r:可读,可以对目录执行ls列出内部的所有内容

w:可写,可以在此目录创建或删除文件(需要x权限)

x:可执行,可以用cd命令切换进此目录,也可以使用ls -l查看详细的信息

X:该权限只能对目录使用,给目录下的子目录加x权限,但是如果文件本身有x权限,那么也不会去管,如果文件没有x权限也不会加x

数字法表示权限

读 r=4    写 w=2    执行 x=1

例: rwxrw–w-    用数字法就是,(4+2+1)(4+2+0)(0+2+0)=762

权限管理命令

chown    修改属主

-R:递归 (作用于目录,修改该目录下的所有子目录和文件)

例:chown  username:groupname   filename(directory) (该命令既可以修改属主也可以修改属组,命令中的:可以用.代替)

chgrp     修改属组

-R:递归 (作用于目录,修改该目录下的所有子目录和文件)

chmod    修改权限(该命令也可以用数字法来设置权限,例:chmod  632  filename)

用法:chmod [OPTION]… OCTAL-MODE FILE…

-R: 递归修改权限

chmod [OPTION]… MODE[,MODE]… FILE… MODE: 修改一类用户的所有权          限: u= g= o= ug= a= u=,g= 修改一类用户某位或某些位权限 u+ u- g+ g- o+ o- a+ a- + –

例:chmod u=rwx,g=r,o= file1  该命令就把文件file1的权限修改为:属主有读写执行权限,属组有只读权限,其他没有权限

chmod [OPTION]… –reference=RFILE FILE…

参考RFILE文件的权限,将FILE的修改为同RFILE

例 : chmod  –reference=file1 file2  参照file1的权限的设置file2的权限

umask值:遮罩码

root默认umask值为022

普通用户的umask默认值为002

umask:可以查看用户的umask值

umask #:可以设定为#的umask值

例:umask  145,那么通过umask命令可以看到显示为145,

那么新建文件的权限就为:666-umask        666-145

新建目录的权健就为:777-umask        777-145

如果umask为默认,那么root创建文件或目录的权限就是777或666减去默认值022

其他用户创建的权健就是777或666减去默认值002

有相减的方法来设置目录的权限时,算出来的结果是多少,那么权限就是多少。但是对文件来说,文件默认是么有x权限,如果相减算出来的结果有x权限的话,则将其权限+1

umask -S:用模式法来显示

例: [root@centos7 app]#umask -S

显示结果:      u=rwx,g=rx,o=rx

umask -P :输出的结果可以被直接调用

特殊权限:SUID  SGID  Sticky

SUID: 运行某程序时,相应进程的属主是程序文件自身的属性,而不启动者(只要该程序有SUID权限,那么不管访问该程序的用户是属组还是other,都在访问的时候临时拥有属主的权限,用属主的身份进行访问)

SGID:运行某程序时,相应进程的属组是程序文件自身的属性,而不启动者所属的基本组(只要该程序有SGID权限,那么不管访问该程序的用户是属组还是other,都在访问的时候临时拥有属组的权限,用属组的权限进行访问)

Sticky:创建一个公共目录,在该公共目录下,每个人都可以创建删除自己的文件,但是不能删除别人的文件

SUID()

1、 suid只能作用在二进制程序上,不能作用在script上

2 、执行suid权限的程序时,此用户将继承此程序的所有者权限

SGID

1 、作用在二进制程序上,执行sgid权限的程序时,此用户将继承此程序的所属组权限

2 、作用在目录上:在此目录新的文件的所属组,将自动继承目录的所属组

Sticky:

1 、只能作用在目录

2 、具有sticky权限的目录,普通用户只能自已删除自已的文件,不能删除别人的文件

特殊权限的设置命令

chmod  u+s |u-s filename

chmod  g+s |g-s filename(directory)

chmod  o+t |o-t directory

如果属主,属组和other没有相应的x权限,那么特殊权限设置以后显示为大写(S,S,T)

特殊权限单独用数字法来表示SUID(4)、SGID(2) 、Sticky(1)

例:chmod  4743 | 2654 |1400  filename

chattr  +i  不能删除,修改,改名,所有用户都不可以,包括root

+a  只能进行追加内容,不能删除,不能清空

+A  不更新atime

-i   去除i特殊属性,恢复原来的权限

-a

-A

lsattr :i和a、A特殊属性设置成功后,可以用lsattr进行查看

例:[root@centos7 app]#chattr +i file1

[root@centos7 app]#lsattr file1

i属性显示结果   —-i———– file1

a属性显示结果   —–a———- file1

ACL  访问控制列表

(ls -l查看文件目录时,9位权限之后的点变为“+”,表示该文件目录设置了ACL)

ACL:Access Control List,实现灵活的权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设 置权限

CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

CentOS6系统安装完成后,新建分区默认不支持ACL

setfacl   -m:设置,附加acl权限

格式:setfacl -m u:username:perm  filename  例:setfacl -m u:yan:rw  file

setfacl -m g:groupname:perm  filename  例:setfacl -m g:opts:rwx  file

-x:取消acl权限,用法同-m

-k:清空默认的acl权限

-R:递归(对目录下新建文件不生效,如果要对新建文件生效需要加d(d表示默认)(例:d:username:rw))

-b:清空所有的ACL

getfacl:获取(查看)ACL权限

getfacl file1 | setfacl –set-file=- file2 复制file1 的acl权限给file2

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

getfacl 获取ACL时,有一个mask,这个mask的值,就是ACL文件(目录)上的group的权限,并不是传统的组权限。

mask的作用范围是(自定义用户,自定义组,所属组),起到一个限制最大权限的作用。这三类用户的最大权限不能超过mask的权限(mask最大权限需要与用户的权限进行逻辑与运算后才能得到).

用户或组的设置必须存在于mask权限设定范围内才会生效

修改 mask值:

setfacl  -m  mask::(rwx)  filename

备份和恢复ACL

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p 参数。但是tar等常见的备份工具是不会保留目录 和文件的ACL信息

例:1、getfacl -R  filename > acl.txt

setfacl -R –set-file=acl.txt  filename2

2、setfacl –restore  acl.txt(该命令要在相对路径下执行)

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88605

linux中的acl权限,linux中的权限和ACL相关推荐

  1. 关于Linux中权限列中的加号及点的深度探索

    一.综述 Linux中,ls -l命令可谓是最常用不过了.命令显示结果中的第一列也是我们比较关注的地方,一般说法是表示权限的字符占10个位置.可是,我们也经常看到在这一列中第十一个位置也有内容显示,最 ...

  2. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...

    文件系统的权限管理(DAC体系:自主访问控制体系): 普通权限 特殊权限 文件的扩展属性 FACL(文件系统访问控制列表) 安全上下文: 任何在计算机中执行的任务都是由进程来实现的,所以进程就有必要访 ...

  3. linux 权限中加号,关于Linux中权限列中的加号及点的深度探索

    一.综述 Linux中,ls -l命令可谓是最常用不过了.命令显示结果中的第一列也是我们比较关注的地方,一般说法是表示权限的字符占10个位置.可是,我们也经常看到在这一列中第十一个位置也有内容显示,最 ...

  4. Linux使用笔记: 设置Samba服务器中新建文件/目录的权限

    From: http://easwy.com/blog/archives/set-file-directory-attribute-for-linux-samba/ 通过Samba服务器实现windo ...

  5. linux限制root用户访问权限,Linux中限制用户访问权限的3种方法

    现在需要限定某个用户对特定目录/文件的访问权限,或者把某个用户的访问范围限制在某个目录/文件中.现实情况下,还是能遇到这样的需求的,比如说ubuntu下有多个可登录用户,默认情况下,用户A的工作目录( ...

  6. centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国

    Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...

  7. linux文件系统中文件基本权限,Linux文件权限基本属性图文详解

    [概述] 在 Linux 系统中,不同的用户处于不同的地位,拥有不同的权限,为保护系统安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. Linux 系统的每一个文 ...

  8. linux中的用户、群组和权限

    linux中的用户.群组和权限  linux中的用户.群组和权限 新建用户natasha,uid为1000,gid为555,备注信息为"master" groupadd -g 55 ...

  9. Linux中samba的权限详解,活用三种权限 理解Samba的权限控制

    在企业内网开发环境方面,文件服务器是一个非常重要的环节.在这当中,Samba服务器由于其权限控制的高度灵活性,在这里抚琴煮酒会进行一些列详细的说明.之前我们已经介绍了Samba服务器一些入门和基本的更 ...

最新文章

  1. python游戏编程入门书籍推荐-游戏编程入门书籍推荐:想要游戏编程尽快入门这些书不要错过...
  2. Windows Phone 7 不温不火学习之《ListBox 数据与Android ListView 数据绑定》
  3. Spring Cloud生态的构建
  4. [LeetCode] 4Sum II 四数之和之二
  5. python画图配色_python matplotlib包图像配色方案分享
  6. python怎么画图片 wafer map_Python wafer_map包_程序模块 - PyPI - Python中文网
  7. Apache Qpid 认证绕过漏洞
  8. 记一次简单的破解程序(逆向)
  9. 贝塞尔方程与贝塞尔函数学习笔记
  10. 闪信霸屏短信USSD是什么?
  11. 经典语音降噪方法-谱减法
  12. 解决 :No active profile set, falling back to default profiles: default 问题
  13. OpenGauss/MogDB调用C FUNCTION 范例
  14. Altium Designer 19 安装方法
  15. 质量控制新七工具:亲和图、过程决策程序图、关联图、树形图、优先矩阵、活动网络图和矩阵图
  16. Firefly的Gevent重要迭代版本alpha0.1.2推出!
  17. CSS语法与CSS选择器
  18. 如何引用阿里巴巴矢量图标库的图标
  19. 牛客小白月赛63->GCPC总决赛,递归方法求解
  20. 真Unity3d_立个Flag_PBR学习路径

热门文章

  1. 微信小程序 - 基本学习资源
  2. 如何将QVTKWidget嵌入到QT窗体,实现点云的显示?
  3. vm的红帽linux怎样安装教程,vmware10怎么安装linux_redhat7系统安装教程
  4. matlab table中的文字转string_el-table 滚动条美化
  5. camvid数据集介绍_语义分割的数据集
  6. runtime批处理mysql导出_【原】使用批处理BAT文件处理Mysql数据库 | 学步园
  7. tensorflow 里metrics_深入理解TensorFlow中的tf.metrics算子
  8. CentOS7安装 MySQL主从集群
  9. fckeditor 上传图片 php_fckeditor 上传图片乱码的解决方法_PHP教程
  10. hp服务器修改bios设置,HP服务器BIOS详解.pdf