linux权限说明

简介

        Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。

我们可以通过设置用户权限、组权限、其他人权限、特殊权限、ACL来实现不同的访问机制。

一、安全上下文

关系:用户、命令和文件 
使用命令查看文件:(1)用户(2)/bin/cat(3)/root/.bashrc

        用户使用cat 打开.bashrc文件需要2次判定。用户分别对cat和.bashrc文件进行权限判定,先判定所属人是否存在权限,再判定所属组的权限。所属人判定没有权限将不再进行后续判断

        

二、权限的说明

        

权限分为所属人、所属组、其他人,linux中文件与目录是由r读、w写、x执行来构建整个系统。

        

 

 二、文件与目录的权限 

对于文件的权限说明

1.当仅r权限作用在文件上的时候,表示用户可以读取该文件的内容。

2.当仅w权限作用在文件上的时候,表示用户可以修改该文件的内容。

3.当仅x权限作用在文件上的时候,没有意义。

4.当rw同时作用在文件上的时候,表示用户可以读写文件。

5.当rx同时作用在文件上的时候,表示用户可以读且可以执行该文件。

6.当wx同时作用在文件上的时候,权限与仅w相同。

7.当rwx同时作用在文件上的时候,用户可以读写执行。

   普通用户不能更改文件所属人,更改文件的组需要用户在相应的组才能更改组,二进制文件读写无意义。 
对于 目录的文件说明
1.当仅r权限作用在目录上的时候,表示用户可以短列出查看目录下的文件名。
2.当仅w权限作用在目录上的时候,没有意义。
3.当仅x权限作用在目录上的时候,表示用户可以进入且可以访问目录下的文件,但不能列出文件名。
4.当仅rw权限同时作用在目录上的时候,权限等同于仅r权限作用在目录。
5.当仅rx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,同时可以长列出文件。
6.当仅wx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,可以创建及删除,但不能列出。
7.当rwx权限同时作用在目录上的时候,表示用户有完整权限。
   普通用户对于目录没有执行权限是不能进入,也不能查看文件的详细属性和内容,即使有读权限,有写权限就可删除目录内文件内容。
   文件能不能删不由文件决定,由目录决定 。

   X对于批量增加x权限时,可以跳过文件而只对目录加x。

三、权限的修改方式

chmod  [OPTION]... OCTAL-MODE FILE...

修改方法: 

chmod who(对谁操作) opt(做什么操作) per(给什么权限) file
who : owner group other u g o
opt : + - = a(all或不写ugo 也是全部)增加 减少 赋予
per : r w x X s ,t
chmod u+x,g-w,o=  | file  =等号后是空 权限就是空的 
删除文件权限是由目录决定的,读权限对二进制程序是不受影响的。

root用户可以无视读写权限,root用户无执行权限也是无法执行,但自身可以加上权限 。

 

四、新建文件与目录默认权限

umask掩码是用于取消新建文件与目录对应的权限。
linux下目录最高权限777,文件最高权限666,为保证系统安全umask码的默认数值为022。
umask 查看umask
umask n(数字权限)设置umask
umask -S 显示创建目录的默认权限
   全局设置: /etc/bashrc 用户设置:~/.bashrc
   文件权限对位相减遇到奇数+1

        

 五、特殊权限位 

suid: 对于可执行的二进制文件作用了suid权限之后,任何人在执行该文件时,可临时拥有其所属人的权限。
启动为进程之后,其进程的属主为原程序文件的属主。
SUID只对二进制可执行程序有效。
SUID设置在目录上无意义。
    权限设定:
chmod u+s FILE...
chmod u-s FILE...

sgid: 对于可执行的二进制文件作用了sgid权限之后,任何人在执行该文件时,可临时拥有其所属组的权限。
启动为进程之后,其进程的属组为原程序文件的属组
   权限设定:
chmod g+s FILE...
chmod g-s FILE...
        对于目录作用了sgid权限之后,任何人在该目录下创建的文件的所属继承目录的所属组。
一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件
所属的组为此目录的属组
通常用于创建一个协作目录
   权限设定:
chmod g+s DIR...
chmod g-s DIR...

sticky:对于目录作用了sticky之后,该目录下的文件及子目录,仅其所属人和目录的所属人及root才能删除。
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
sticky 设置在文件上无意义
   权限设定:
chmod o+t DIR...
chmod o-t DIR...

 

六、ACL 的使用方法

ACL用于复杂的权限环境。
加用户acl权限到文件 setfacl -m u:用户名:rw 文件名
加组acl权限到文件  setfacl -m g:用户组:rw 文件名
查看acl权限 getfacl f1
启用acl权限 group=mask
按getfacl 内的权限顺序排列
owner > acl user > group  acl group 谁权限多谁优先 > other
用户属于文件多个组权限互补
删除acl权限 setfacl -x u:用户名 或 g:用户组
设定acl最高权限 setfacl -m mask:r 用户名 比mask高的权限全削减为mask相应的最高权限
清空所有acl权限 setfacl -b 文件名

~/.bashrc 将umask设定保存以让下次登录时仍然有效

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值