9.29 Linux 权限相关(读、写、执行)
权限类型
- 分为两种:root 权限 和 非 root 权限
- 权限字符串、文件用户、文件用户组
权限说明
- root 具有所有文件的所有权限。
常用命令
ls -l
或ll
:观察详细信息,例如-rw-r--r-- root root
id 用户
:查看某用户的用户名和用户组groups
:查看当前登录的用户组whoami
:查看当前登录的用户
确认某个文件的操作权限
- 当前登录用户名
- 文件用户名
- 文件用户组
- 权限字符串
权限结构
- 分为三组权限:u (user)、g (group)、o (other)
- 权限符号:r (read)、w (write)、x (execute)
权限值 | 权限符号 |
---|---|
0 | --- |
1 | --x |
2 | -w- |
3 | -wx |
4 | r-- |
5 | r-x |
6 | rw- |
7 | rwx |
- 对于某个文件的权限:
- 最小:
---------
(000) - 最高:
rwxrwxrwx
(777)
- 最小:
用户创建文件和目录的默认权限
-
root 用户
- 创建文件:
644
(rw-r--r--
) - 创建目录:
755
(rwxr-xr-x
)
- 创建文件:
-
普通用户
- 创建文件:
664
- 创建目录:
775
- 创建文件:
当用户无法执行操作时
- 修改文件用户和用户组
- 切换用户
- 修改文件的权限字符:
chmod
修改权限
-R
:递归授权
常用命令
-
chown:修改文件的所属用户及用户组
chown -R 用户:用户组 文件或目录
- 例如:将
1.txt
的用户修改为user1
:chown user1 1.txt
- 同时将用户组修改为
user2
:chown user1:user2 1.txt
-
chgrp:修改文件的所属用户组
- 例如:将
1.txt
的用户组修改为user3
:chgrp user3 1.txt
- 例如:将
-
chmod:修改文件的权限字符串
- 例如:
chmod g+w 1.txt
:给组加写权限chmod a+x 1.txt
:给所有用户加执行权限chmod 777 1.txt
:设置权限为rwxrwxrwx
- 例如:
搜索查找类命令
-
find:查找文件
- 语法:
find [路径] [参数]
(不加路径则查找当前目录) - 示例:
find ~ -empty -exec rm -rf {} \;
:删除主目录下所有空文件和空目录find ~ -group user2 -exec rm -rf {} \;
:删除用户组为user2
的文件
- 语法:
-
locate:文件快速查找
- 安装:
yum -y install mlocate
- 使用步骤:
updatedb
(更新 locate 数据库)
- 安装:
-
which:检索系统指令脚本的位置
- 示例:
which ifconfig
,which cd
(在 PATH 中查找)
- 示例:
-
whereis:查找命令的可执行文件、源代码和手册页
ACL 权限管理
setfacl -m u:username:rwx filename
:给指定用户设置权限setfacl -m g:groupname:rx filename
:给指定组设置权限setfacl -x u:username filename
:移除指定用户的 ACL 权限getfacl filename
:查看文件的 ACL
文件属性管理
chattr +i filename
:设置文件为不可更改chattr -i filename
:取消不可更改属性lsattr filename
:查看文件的属性
系统目录结构
- /etc:系统配置文件
- /bin:系统命令,所有用户可用
- /sbin:管理命令,仅 root 使用
- /home:普通用户的主目录
- /root:超级管理员的主用户目录
- /usr:默认安装路径,包含 RPM 包和 EXE 文件
- /opt:自定义安装路径,如 tar.gz 和 zip 文件
- pwd:显示当前目录的完整路径
Copy Code
[root@localhost ~]# user1 登录的用户 主机名 / 目录的名字