Linux文件权限管理:chomd命令和chown命令
- 前言
- 介绍
- 文件类型
- 文件权限
- 文件所属
- 文件信息
- chomd命令
- chown命令
前言
在服务器部署项目、安装应用会经常涉及到文件权限的问题,在此记录chomd
命令和chown
命令它们的用法及区别。
介绍
以下图为例,进行介绍。
文件类型
当前目录有两个文件,文件信息第一个位置表示文件类型:
d
:表示文件夹。-
:表示普通文件。l
:表示链接文件。b
:表示块文件。块设备文件一般指硬盘、软盘等存储设备。c
:表示字符设备。以字节流的方式进行访问,由字符设备驱动程序来实现这种特性,这通常要用到 open、close、read、write 等系统调用。字符终端、串口和键盘等就是字符设备。另外,由于字符设备文件是以文件流的方式进行访问的,因此可以顺序读取,但通常不支持随机存取。p
:表示管道文件。管道文件主要用于进程间通信。s
:表示字节套文件。主要用于通信。
文件权限
Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
按照数字表示:可读(r)表示 4、可写(w)表示 2、可执行(x)表示 1和无权限(-)表示 0。
文件权限可分为三个不同角色:所有者、组成员、其他成员
- u:所有者,第2-4位表示所有者的权限。
- g:组成员,第5-7位表示所有者所属组成员的权限。
- o:其他成员,第8-10位表示所有者所属组之外的用户的权限。
- a:所有人, 2-10位的权限总和有时称为a权限。
文件所属
第一个root表示所属用户,第二个root表示所属组。
文件信息
后面紧跟着的是文件大小、最后一次修改文件时间 以及文件名。
整体的结构介绍如图:
chomd命令
chomd有两种方式:
- 使用数字权限修改
语法格式:chomd [参数] [[数字权限]]文件
前面我们介绍了rwx分别代表421,比如:我们将图中test文件夹的三个角色权限都改为777。
执行命令
chmod 777 test
可看到对应的文件权限都变成最高权限。
- 使用角色权限修改:
语法格式:chomd [参数] [[角色][赋值][权限],…]文件
参数说明如下:
参数 | 参数说明 |
---|---|
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
–help | 显示辅助说明 |
–version | 显示版本 |
角色 | u(文件所有者)、g(文件所有组)、o(其他角色)、a(全部) |
赋值 | =(指定角色重新制定权限)、 -(指定角色减少权限)、 +(指定角色增加权限) |
权限 | r(读)w(写)x(执行)-(无权限) |
比如:将图中test文件夹的文件所有者权限增加执行权限、文件组减去写、执行权限,其他角色设置为读权限
执行命令
chmod u+x,g-wx,o=r test
可以看到文件夹的权限变为了我们指定的。
chown命令
语法格式:chown [参数] user[:group] 文件
参数说明如下:
参数 | 参数说明 |
---|---|
user | 新的文件拥有者的使用者 ID |
group | 新的文件拥有者的使用者组(group) |
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
–help | 显示辅助说明 |
–version | 显示版本 |
比如:将图片中test文件夹的root角色修改为test角色,并打印修改信息。
执行命令
chown -cR test:test ./test