【Linux】掌握权限从这开始
上期回顾【Linux】基本指令3
下一篇 【Linux】冯诺依曼—操作系统
文章目录
权限概念
Linux有两种用户:超级用户(root)、普通用户
- 超级用户:可以再linux系统下做任何事情,不受限制
- 普通用户:在linux下做有限的事情
- 超级用户的命令提⽰符是“#”
- 普通用户的命令提⽰符是“$”
命令: su [用户名]
功能: 切换用户
要从root⽤⼾切换到普通⽤⼾user,则使⽤ su user
要从普通⽤⼾user切换到root⽤⼾则使⽤ su root(root可以省略),此时系统会提⽰输⼊root⽤⼾的⼝令
普通用户
用su切换用户:su root
超级用户(root)
权限的相关操作
使用root创建普通用户
命令: adduser [选项] 用户名
常用选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名: 新账号的登录名
示例
[root@VM-0-9-centos test]# cd ~
[root@VM-0-9-centos ~]# adduser qianyv //用root创建一个普通用户(qianyv)
[root@VM-0-9-centos ~]# passwd qianyv //给普通用户设置密码
Changing password for user qianyv.
New password: //输入密码时是不回显的,不要乱输
Retype new password:
passwd: all authentication tokens updated successfully. //密码设置成功
补充: 其他指令
| 指令 | 功能 | 语法 |
|---|---|---|
| adduser | 创建用户 | adduser [用户名] |
| passwd | 设置用户密码 | passwd [用户名] |
| groupadd | 创建用户组 | groupadd [用户组名] |
| usermod | 修改用户账号设定 | 由具体功能决定 |
| userdel | 喊出用户 | userdel [用户名] |
使用su 命令切换用户
//超级用户切换成普通用户:不需要输入密码
[root@VM-0-9-centos ~]# su dyy
[dyy@VM-0-9-centos root]$
//普通用户切换成超级用户:需要输入密码
[dyy@VM-0-9-centos root]$ su - root
Password: //密码不回显
Last login: Sun Apr 19 15:38:38 CST 2026 on pts/1
[root@VM-0-9-centos ~]#
权限的管理
文件访问者的分类(人)
- 文件和文件目录的所有者:u——User
- 文件和文件目录的所有者所在的组的用户:g——Group
- 其它用户:o——Others
文件类型和访问权限(事物属性)
- ⽂件类型:
- d:⽂件夹
- -:普通⽂件
- l:软链接(类似Windows的快捷⽅式)
- b:块设备⽂件(例如硬盘、光驱等)
- p:管道⽂件
- c:字符设备⽂件(例如屏幕等串⼝设备)
- s:套接⼝⽂件
- 基本权限:
- 读(r/4):Read对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览该⽬录信息的权限
- 可写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 可执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
- 2-10位,每三个为一组,分别代表拥有者、所属组、其他人的权限
文件权限的表示方法
文字表示法
| Linux | 解析 |
|---|---|
| r - - | 仅可读 |
| - w - | 仅可写 |
| - - x | 仅可执行 |
| r w - | 可读可写 |
| - w x | 可写可执行 |
| r - x | 可读可执行 |
| r w x | 可读可写可执行 |
| - - - | 无任何权限 |
8进制数值表示法
| 权限符号 | r - - | - w - | - - x | r w - | r - x | - w x | r w x | - - - |
|---|---|---|---|---|---|---|---|---|
| 二进制 | 1 0 0 | 0 1 0 | 0 0 1 | 1 1 0 | 1 0 1 | 0 1 1 | 1 1 1 | 0 0 0 |
| 八进制 | 4 | 2 | 1 | 6 | 5 | 3 | 7 | 0 |
| 说明 | 仅可读 | 仅可写 | 仅可执行 | 可读可写 | 可写可执行 | 可读可执行 | 可读可写可执行 | 无任何权限 |
文件访问权限的相关设置方法
1. chmod指令
chmod: 设置文件的访问权限
语法: chmod [参数] 权限 文件名
常用选项:
- R->: 递归修改文件目录的权限
- 说明: 只有文件的拥有者和root才能够改变文件的权限
chomd命令权限值的格式:
1.用户表示符 + / - / = 权限字符(r,w,x)
| 用户表示符 | 含义 | 操作符 | 含义 |
|---|---|---|---|
| u | 拥有者 | + | 向权限范围 “增加” 权限代号所表⽰的权限 |
| g | 拥有者所属组 | - | 向权限范围 “取消” 权限代号所表⽰的权限 |
| o | 其他用户 | = | 向权限范围 “赋予” 权限代号所表⽰的权限 |
| a | 所有用户 |
示例
1.将文件 a 的拥有者的 rwx 权限 “全部取消”
//取消前
//取消后
2.给文件 a 的拥有者 “加上” wx 权限
//加上前
//加上后
3.给test.txt文件的所有用户 “加上” rwx 权限
//加上前
//加上后
2.三位八进制数字
| 权限符号 | r - - | - w - | - - x | r w - | r - x | - w x | r w x | - - - |
|---|---|---|---|---|---|---|---|---|
| 二进制 | 1 0 0 | 0 1 0 | 0 0 1 | 1 1 0 | 1 0 1 | 0 1 1 | 1 1 1 | 0 0 0 |
| 八进制 | 4 | 2 | 1 | 6 | 5 | 3 | 7 | 0 |
| 说明 | 仅可读 | 仅可写 | 仅可执行 | 可读可写 | 可写可执行 | 可读可执行 | 可读可写可执行 | 无任何权限 |
注意:三个二进制分别表示三个权限的有无(1表示有,0表示无)
示例
1.将a.txt文件所有人的所有权限都 “取消” :000
2.给a.txt文件拥有者和其所属的组赋予 “可写可执行” 的权限,给其他用户赋予"读"的权限: 556
2. chown指令
chown: 修改文件的拥有者
语法: chown [参数】 用户名 文件名
示例
将 temp.txt 的拥有者从 root 改成 qianyv(该用户名要已创建)
3. chgrp指令
chgrp: 修改文件或目录的所属组
语法: chgrp [参数] 用户组名 文件名
常用选项:
- -R : 递归修改文件或目录的所属组
示例
将 temp.txt 的所属组从 root 改成 qinayv
4. umask指令
umask: 查看或修改文件掩码 - - - 用来控制新建文件、新建目录的默认权限
语法: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产⽣建⽴⽂件时预设权限。超级⽤⼾默认掩码值为0022,普通⽤⼾默认为0002。
核心原理:
- 目录默认最大权限:0777(rwxrwxrwx)
- 文件默认最大权限:0666(rw-rw-rw-),默认无执行权限
- 实际权限 = 最大权限 - umask值
超级⽤⼾默认掩码值为0022,普通⽤⼾默认为0002
怎么理解呢?
1.我们在创建一个目录时,按道理来说我们的权限值是 0777,但是他会受到umask影响,导致我们的实际权限值不等于0777(1)umask = 0002时,实际权限值 = 最大权限 - umask = 0777 - 0002 = 0775
(2)umask = 0022时,实际权限值 = 最大权限 - umask = 0777 - 0022 = 07552.在创建文件时也一样
示例
1.常规情况
超级用户(root): umask =0022,目录最大权限值是 0777,文件是 0666
普通用户(dyy): umask = 0002,目录最大权限值是 0777,文件是 0666
2.特殊情况:我们手动改 umask 的值
将超级用户(root)的 umask改为 0111
将普通用户 (dyy) 的 umask 改为 0123
5. file指令
file : 辨识文件类型
语法: file [选项] 文件或目录…
常用选项:
- -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
- -z 尝试去解读压缩文件的内容。
6. sudo 指令
sudo: 以系统管理者的身份执行指令,等价于 root
语法: sudo [选项] 命令
常用选项: -u 用户名 : 以指定用户执行使用权限: 在/etc/sudoers 中出现的使用者
示例
当使用sudo的用户不是root白名单用户时, 是无权执行sudo的, 下面我们学习一下如何将用户账户添加到root白名单中:
改好之后我们按[ Esc ]键退出插入模式,再按[ Shift ] + [ ; ]进入底行模式,在底行模式输入" wq! ":
目的权限
- r : 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- w : 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件
- x : 可执行权限: 如果目录没有可执行权限, 则无法cd(进入)到目录中
更多推荐


























所有评论(0)