Linux ❀ 系统文件权限汇总梳理

Posted 国家级干饭型选手°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux ❀ 系统文件权限汇总梳理相关的知识,希望对你有一定的参考价值。

Linux中文件权限相关的配置整合汇总梳理结果如下,主要分为以下几点:

  • ls命令的使用与常见参数
  • 目录/文件权限赋予解析
  • 简单别名设置
  • 修改文件权限
  • 特殊权限
  • ACL-访问控制列表

1、ls命令的使用与常见参数


[root@localhost ~]# ls [目标操作目录路径,默认为当前操作目录]
anaconda-ks.cfg  Documents  Music            Pictures  Templates
Desktop          Downloads  original-ks.cfg  Public    Videos
  • -l:长列表列出当前目录下的文件信息;
  • -h:单位转换,默认单位字节;
  • -a:显示隐藏文件,隐藏文件以 . 开头,. 为当前目录信息,… 为上级目录信息;
  • -A:显示隐藏文件,不显示 . 与 … 目录信息;
  • -d:显示目录本身属性;
  • -i:显示索引节点号,一个索引节点号代表一个文件;
  • -r:逆序列出目录信息;
  • -Z:显示文件安全上下文,适用于SELinux服务-

2、目录/文件权限赋予解析


[root@localhost ~]# ll				/ll = ls -l;
d rwx r-x r-x . 2 root root    6 Dec 24 19:35 Desktop
  • 文件类型
  • 所属用户权限
  • 所属组权限
  • 其他用户权限
  • ACL
  • 硬链接连接次数
  • 所属用户
  • 所属组
  • 文件大小,单位为字节
  • 文件最后一次修改时间
  • 文件名称

3、简单别名设置


[root@localhost ~]# alias lz="ls -dlZ"	/关于Linux中引号的使用方法,规定双引号中夹杂单引号,若只有一处,双引号等同于单引号;
[root@localhost ~]# alias | grep lz
alias lz='ls -dlZ'
[root@localhost ~]# lz .
dr-xr-x---. 14 root root system_u:object_r:admin_home_t:s0 4096 Aug 17 19:27 .

4、修改文件权限


[root@localhost ~]# ls -l / | grep -w bin
lrwxrwxrwx.   1 root root    7 Aug 12  2018 bin -> usr/bin

权限说明

  • r:可读;
  • w:可写;
  • x:可执行;

权限与数字转换关系列表:

权限码等值权限
0000
0011–x
0102-w-
0113-wx
1004r–
1015r-x
1106rw-
1117rwx

所属用户/组

  • u:所属用户;
  • g:所属组;
  • o:其他用户;

chmod u/g/o =/+/- = chmod 000/777:修改文件的权限所属者,所属组与其他用户权限;

  • chown 所属者:所属组
[root@localhost zxc]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 17 19:32 aaa.txt
[root@localhost zxc]# chown redhat:redhat aaa.txt 
[root@localhost zxc]# ll
total 0
-rw-r--r--. 1 redhat redhat 0 Aug 17 19:32 aaa.txt
  • chgrp 所属组
[root@localhost zxc]# ll
total 0
-rw-r--r--. 1 redhat redhat 0 Aug 17 19:32 aaa.txt
[root@localhost zxc]# chgrp test aaa.txt 
[root@localhost zxc]# ll
total 0
-rw-r--r--. 1 redhat test 0 Aug 17 19:32 aaa.txt

5、特殊权限


  • 强制位suid:set uid,使进程的属主属程序文件本身u+s;
[root@localhost zxc]# ll /usr/bin/passwd 
-rwsr-xr-x. 1 root root 33544 Dec 13  2019 /usr/bin/passwd

普通用户可以通过获取属主权限来达到实现修改文件的目的,从而进行的权限操作;

[root@localhost zxc]# ll /etc/shadow
----------. 1 root root 1269 Aug 17 19:34 /etc/shadow

普通用户修改其密码执行passwd命令,其实是修改shadow文件,但是shadow文件权限为000,因此普通用户即获取root用户权限进行密码修改,

  • 强制位sgid:set gid,使进程的属组为程序文件本身,在目录下创建的文件的属组为该目录的属组g+s;

  • 冒险位:只有该用户可以删除自己的文件,其他人无法删除(root用户除外) o+t;

  • umask:查看权限掩码:umask是chmod配套的,总共为4位(gid/uid、属主、组权、其它用户的权限),不过通常用到的是后3个
    默认情况下的umask值是022(可以用umask命令查看),此时Linux系统建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),umask是为了控制默认权限,不要使默认的文件和目录具有全权而设的;
    普通文件本身的权限:666 rw-rw-rw-(需要注意的是,系统不能直接创建文件就赋予执行权限,必须通过chmod来赋予此权限)
    目录文件本身的权限:777 rwxrwxrwx

umask中的某位文件权限目录权限
067
166
245
344
423
522
601
700

只需要记住一点即可:umask是从权限中拿走的相应的权限数值即可计算得到;

6、ACL - 访问控制列表


setfacl -m u/g:用户名/组名:权限 文件路径:设置ACL
getfacl:查看ACL;

[root@localhost ~]# setfacl -m u:redhat:rwx /tmp/test/aaa/
[root@localhost ~]# ll /tmp/test/
drwxrwxr-x+ 2 root root 60 Dec 28 00:44  aaa			/存在ACL,显示为+;
-rw-r--r--. 1 root root 12 Dec 27 21:35  aaa111.txt			/无ACL,显示为 . ;

[root@localhost ~]# getfacl /tmp/test/						/查看ACL信息;
getfacl: Removing leading '/' from absolute path names
# file: tmp/test/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

以上是关于Linux ❀ 系统文件权限汇总梳理的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux系统下的权限知识梳理

linux系统下的权限知识梳理

FPGA知识大梳理FPGA中的复位系统大汇总

Linux企业运维人员最常用150个命令汇总

Linux学习汇总——Linux用户组管理,文件权限管理,文本处理工具grep及egrep