一.Linux权限管理是什么?
Linux权限管理:主要是指对Linux系统中的文件和目录进行权限设置和管理,以确保系统的安全性和稳定性。Linux系统中的权限管理涉及到对用户权限的控制,包括但不限于读取(读权限 r)、写入(写权限 w)和执行(执行权限 x)操作。这些权限可以针对文件和目录的所有者、所有者所在的组以及其他用户进行设置.
二.权限位的含义
查看文件和目录的权限 可以使用带 l 参数的 ls 命令查看文件或目录的权限 ls -l
编辑
1.文件类型(最开头的)
1)普通文件(-):这是Linux中最常见的文件类型,用于存储数据,例如文本文件、图片、视频等。
2)目录(d):这是用于存储文件和其他目录列表的特殊文件。
3)链接(l):这是一个指向其他文件的引用,类似于Windows系统中的快捷方式。
4)块特殊文件(b):这种类型的文件提供对设备文件的按块访问。
5)字符特殊文件(c):这种类型的文件提供对设备文件的按字符访问。
6)套接字(s):这是用于进程间通信的特殊文件。
7)管道(p):这是提供进程间通信的特殊文件。
2.权限类型
Linux系统中的权限管理主要涉及到文件和目录的权限。这些权限可以分为三种类型:
1)所有者权限(owner permissions)
2)组权限(group permissions)
3)其他人权限(others permissions)
每种权限又简称分为读(r)、写(w)、执行(x),代表对文件的不同操作能力:
- 读(r):允许文件可以读取。
- 写(w):允许文件可以编辑或修改。
- 执行(x):允许文件可以被系统执行。
例子:
编辑
在这个例子中:
第一个字符表示文件类型(-表示普通文件) ↓
接下来的三个字符是所有者权限(user). ↓
接下来的三个字符是组权限(group). ↓
最后三个字符是其他人权限(other).
所有者权限是rw-,表示所有者有读、写权限。
组权限是r--,表示组成员有读权限。
其他人权限是r--,表示其他人只有读权限。
三.修改权限命令
语法:chmod [选项] 权限模式 文件名
1)选项:
- -R:递归地对目录及其子目录中的文件进行权限修改。
- -v:显示修改的文件权限。
- -c:仅显示修改了权限的文件。
2)权限模式:
- 数字模式:使用数字来表示权限,如755表示所有者具有读、写和执行权限,组用户和其他用户具有读和执行权限。(下面会细讲)
- 符号模式:使用符号(如+、-)和用户类型(如u、g、o)来添加或移除权限。例如,chmod u+x file将给文件所有者添加执行权限。
数字模式:基本权限数字(八进制)
4 代表r权限
2 代表w权限
1 代表x权限
0 代表没有任何权限
w+x 2+1 :3
r+x 4+1 :5
r+w 4+2 :6
r+w+x 4+2+1 :7
例如,如果我们想要将文件sheng.txt设置为所有者有读写权限,所属组有读权限,其他用户有写权限,可以使用以下命令:
chmod 640 sheng.txt
符号模式 :
+ 增加权限
– 删除权限
= 设置权限为给定值
例如,如果我们想要给文件sheng.txt添加执行权限,可以使用以下命令:
chmod +x sheng.txt
如果我们想要将文件sheng.txt的全部权限设置为读写执行,可以使用以下命令:
chmod ugo=rwx sheng.txt
chmod 777 sheng.txt
四.修改所有者
chown [选项] [新的所有者][:新的组] 文件/目录
下面是一些常用的选项:
-R:递归地修改指定目录及其所有子目录和文件的所有者
-f:不显示错误消息
-v:显示详细的操作信息
示例:
修改文件所有者:chown 用户名 文件名
编辑
修改目录所有者:chown 用户名 目录名
编辑
修改文件所有者和组:chown 用户名:组名 文件名
编辑
递归修改目录及其所有子目录和文件的所有者:普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行 普通用户可以修改所有者是自己的文件权限
chown -R 用户名 目录名
编辑
编辑
四.修改文件所属用户组
语法:chgrp [-R] 用户组名称 文件或目录
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录 都更新成为这个用户组。常常用在更改某一目录的情况。
编辑