Linux权限详解(上)
一、Linux权限概念
1. 什么是权限
权限是指在一个系统或者一个组织中,根据角色或身份所具备的特定权力或许可,可以访问或操作某些资源或执行某些特定的行为。权限用于控制用户对系统或资源的访问和操作的范围和方式,以确保系统的安全性、保密性和完整性。特定权限的授予和管理通常由系统管理员或权限管理人员负责。
2. Linux权限简介
在Linux中有两种用户:超级用户[root]、普通用户
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
两者的命令提示符各不相同
- 超级用户提示符“#”
- 普通用户提示符“$”
3. Linux如何切换用户
命令名称:su 功能:切换用户 语法:su [用户名]
3.1 root用户转普通用户
要从root用户切换到普通用户user,则使用 su [用户名]
使用Ctrl+D退回本来用户
注意:root转其他用户不需要密码,因为是超级用户
3.2 普通用户转root用户
从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
使用Ctrl+D退回本来用户
注意:普通用户转root用户需要root的密码,才可以进入
3.3 普通用户转普通用户
要从普通用户user切换到普通用户user,则使用 su [用户名]
注意:普通用户转普通用户,需要有对方的密码才可以进入
二、Linux文件权限管理
1. 文件访问者的分类(简介)
- 文件和文件目录的所有者:u—User
- 文件和文件目录的所有者所在的组的用户:g—Group
- 其它用户:o—Others
2. 文件类型和访问权限(简介)
2.1 文件类型
文件符号 | 文件类型 |
d |
文件夹 |
- |
普通文件 |
l |
软链接(类似Windows的快捷方式) |
b |
块设备文件(例如硬盘、光驱等) |
p |
管道文件 |
c |
字符设备文件(例如屏幕等串口设备) |
s |
套接口文件 |
2.2 基本权限
- 读:Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写:Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行:execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- “—”表示不具有该项权限
3. 文件权限值表示方法
3.1 字符表示法
Linux表示 | 说明 |
r-- |
仅可读 |
-w- |
仅可写 |
--x |
仅可执行 |
rw- |
可读可写 |
-wx |
可写可执行 |
r-x |
可读可执行 |
rwx |
可读可写可执行 |
--- |
无任何权限 |
3.2 8进制数值表示法
权限符号 | 八进制 | 二进制 |
r-- (仅可读) |
4 | 100 |
-w- (仅可写) |
2 | 010 |
--x (仅可执行) |
1 | 001 |
rw- (可读可写) |
6 | 110 |
-wx (可写可执行) |
3 | 011 |
r-x (可读可执行) |
5 | 101 |
rwx (可读可写可执行) |
7 | 111 |
--- (无任何权限) |
0 | 000 |
4.文件访问权限的设置方法
4.1 修改访问权限指令:chmod
4.1.1 指令介绍
指令名称:chmod 执行权限:只有文件的拥有者和root才可以改变文件的权限 语法:chmod [参数] 权限 文件名 功能:设置文件的访问权限 常用选项:R :递归修改目录文件的权限
4.1.2 chmod命令权限值格式
- 用户表示符+/-=权限字符
权限字符:
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
示例 chmod u+w file.txt chmod o-x file.txt
- 三位8进制数字
示例 chmod 664 file.txt chmod 640 file.txt
4.2 修改文件拥有者指令:chown
4.2.1 指令介绍
指令名称:chown 执行权限:只有文件的拥有者和root才可以改变文件的权限 语法:chown [参数] 用户名 文件名 功能:修改文件的拥有者 常用选项:R :递归修改目录文件的权限
示例 chown -R user_001 file.txt
4.3 修改文件的所属组指令:chgrp
4.3.1 指令介绍
指令名称:chgrp 执行权限:只有文件的拥有者和root才可以改变文件的权限 语法:chgrp [参数] 用户组名 文件名 功能:修改文件或目录的所属组 常用选项:-R 递归修改文件或目录的所属组
示例 chown -R user_001 file.txt