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:可执行;
权限与数字转换关系列表:
权限码 | 等值 | 权限 |
---|---|---|
000 | 0 | — |
001 | 1 | –x |
010 | 2 | -w- |
011 | 3 | -wx |
100 | 4 | r– |
101 | 5 | r-x |
110 | 6 | rw- |
111 | 7 | rwx |
所属用户/组
- 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中的某位 | 文件权限 | 目录权限 |
---|---|---|
0 | 6 | 7 |
1 | 6 | 6 |
2 | 4 | 5 |
3 | 4 | 4 |
4 | 2 | 3 |
5 | 2 | 2 |
6 | 0 | 1 |
7 | 0 | 0 |
只需要记住一点即可: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 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段