Linux文件权限详解

Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

一、文件权限

1.文件的权限针对三类对象进行定义

owner      属主,缩写u

group       属组,缩写g

other        其他,缩写o

 

2.每个文件针对每类访问者定义了三种主要权限

r:Read      读

w:Write      写

x:eXecute      执行

另 X:针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)

注意:root账户不受文件权限的读写限制,执行权限受限制

 

 

3.对于文件和目录来说,r,w,x有着不同的作用和含义:

针对文件:

r:读取文件内容

w:修改文件内容

x:执行权限对除二进制程序以外的文件没什么意义

 

针对目录:

目录本质可看做是存放文件列表、节点号等内容的文件

r:查看目录下的文件列表

w:删除和创建目录下的文件

x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

 

权限

 

4.用户获取文件权限的顺序:首先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

 

二、修改文件访问权限的方法

chmod              修改权限 change mode

 

方法1:mode法

格式:chmod who opt per file

who:u g o a(all)

opt:+ – =

per:r w x X

 

方法2:数字法

格式:chmod XXX file

 

rwx rw- r–

111 110 100

7   6   4

 

r:4

w:2

x:1

 

例:chmod 764 file        给file文件添加 rwxrw-r– 权限

chmod -R +X dir               给dir目录添加X执行权限,dir目录下文件不添加执行权限

(如果dir目录下有文件已具备执行权限,则添加该文件执行权限)

 

三、UMASK值

作用:取消对应的权限,影响创建文件和目录的默认权限

对目录:

umask+default=777(dir)

对文件:

666-umask:观察结果,如果有奇数,奇数位+1,偶数不变

 

 

四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)

1.suid

作用:给一个用户继承二进制程序所有者拥有的权限

suid权限位 位于所有者的执行权限位上,如果一个文件具有suid权限,则所有者执行位为s,文件表现为红色背景

例:ll /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd

红色suid

给file文件增加suid权限

chmod u+s file

chmod 4755 file               suid数字法表示为4

suid只适合作用在二进制程序上

 

2.sgid

作用1:给一个用户继承二进制程序所有组拥有的权限

sgid权限位 位于所有组的执行权限位,如果一个文件具有suid权限,则所有组的执行位为s,文件表现为黄色背景

例:ll `which cat`

-rwxr-sr-x. 1 root root 48568 Mar 23  2017 /bin/cat

黄色sgid

给file文件增加sgid权限

chmod g+s file

chmod 2755 file               sgid数字法表示为2

 

作用2:作用在目录上时,使一个目录下的新建的文件继承目录的所属组

 

3.sticky

作用:作用于目录上,此目录的文件只能被所有者删除

sticky权限位 位于其他的执行权限位上,如果一个文件具有sticky权限,则其他的执行位为t,目录表现为绿色背景

如:ll -d /tmp

drwxrwxrwt. 17 root root 4096 Apr  4 10:02 /tmp

绿色sticky

给dir目录添加sticky权限

chmod o+t dir

chmod 1777 dir                sticky数字法表示为1

 

五、ACL访问控制列表

作用:实现更加灵活的权限管理,打破了三类用户的权限管理

1.添加ACL权限

setfacl -m u:wang:0 file 使wang账户对指定file文件无权限

setfacl -m u:mage:rw file       使mage账户对指定file文件有读写权限

setfacl -m g:g1:rw file 使g1组对指定file文件有读写权限

getfacl     file                     查看指定file文件的ACL权限

ACL权限执行顺序类似于用户获取文件权限的顺序,getfacl顺序从上到下执行,一旦生效,下面的将不再生效(如果属于多个组,权限累加)

 

2.删除ACL权限

setfacl -x u:wang file      删除wang账户对指定file文件的ACL权限

setfacl -x g:g1 file   删除g1组对指定file文件的ACL权限

 

3.ACL权限下的mask

设置用户对指定文件所能拥有的最大权限(限高作用)

setfacl -m mask::r file             使指定文件file所拥有的最大权限位读r

setfacl -x mask::r file               取消指定文件file的最大权限限制mask

setfacl -b f1                      取消f1文件所有的ACL权限

 

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

 

4.备份和恢复ACL权限

getfacl -R /tmp/dir1>acl.txt           将dir1目录下ACL权限备份

setfacl -R –set-file=acl.txt /tem/dir      恢复dir1目录下ACL权限

 

六、文件权限操作的常用命令

chown              设置文件所有者(普通用户无法修改文件所有者)

-R     递归

user:group   同时修改所有者,所有组

chgrp                设置文件所属组(普通用户要想该所属组,前提是文件所有者为自己,自己在所属组中)

-R     递归

 

chmod              设置指定文件权限

-R     递归

–reference=f1 f2 f3        参考f1文件权限设置f2,f3文件

 

chattr               给指定文件添加保护,避免root账户误操作

+i      锁定文件,不能删除,不能改名,不能更改内容

-i      解锁+i

-a     锁定文件,不能删除,不能改名,但可追加内容(追加重定向)

-a     解锁+a

+A    指定文件读时间atime不再更改

 

lsattr                 查看指定文件是否有锁定状态

 

setfacl              设置文件ACL权限

-m mask::r file          使指定文件file所拥有的最大权限位读r

-x mask::r file            取消指定文件file的最大权限限制mask

-b f1                   取消f1文件所有的ACL权限

-R –set-file=acl.txt /tem/dir   恢复dir1目录下ACL权限

 

getfacl              查看文件ACL权限

 

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

(0)
wangxczwangxcz
上一篇 2018-04-04 18:58
下一篇 2018-04-04 20:19

相关推荐

  • awk

    使用方法 awk ‘{pattern + action}’ {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用…

    2018-05-20
  • linux运维学习的常用命令总结以及需要注意的地方(2)

    少壮不努力,老大徒伤悲,努力加油!
    5.设置时区,日期,时间的相应命令以及用法
    6 如何获得帮助,这个能力决定了你的技术能力!
    7.简单的挂载光盘,安装应用程序的方法,以screen为例(包含了screen防止大文件备份失败的技巧)
    8.反向单引号,双引号,以及单引号对于命令和变量的识别
    9.bc计算器,date命令,history命令,passwd修改密码,$pwd变量,父/子目录,basename,dirname
    10.windows和linux互传文件的方法,普通用户非图形界面下挂载光盘

    2018-04-02
  • 小白加薪升职记第一次笔记

    选择了马哥,你就站在了技术的前端。

    2018-05-12
  • 运维之ansible

    运维工作:系统安装(物理机、虚拟机)–> 程序包安装、配置、服务启动 –> 批量操作 –> 程序发布  –> 监控 稳定可用     ——-      标准化            ———        自动化 系统安装: 1、…

    2018-07-16
  • Linux的哲学思想

    Linux的哲学思想 1、一切皆文件(硬件设备亦如此): 所有资源在Linux上都已以文件方式存在,包括硬件设备(设备文件)通信接口。 linux 系统中所有的设备都是作为文件系统的一个节点来挂载和使用的,比如光驱,一般挂载在 /mnt/ cdrom 里,cpu挂载在/dev/cpu. 2、 由众多功能单一的小程序组成: 且每一个小程序只做一件事情,并且只做…

    Linux笔记 2018-08-04