Linux文件权限管理
注: 文章仅为作者学习笔记,不足之处请多指教
一、权限概述
㈠ 什么是权限
权限: 在计算机系统中,权限是指某个计算机用户具有使用软件资源的权利。
计算机资源分为两部分:
**硬件资源 **
硬盘、CPU、内存、网卡等物理硬件资源
软件资源
软件: 操作系统(特殊的软件)、应用程序。只要不启动,这些软件就是一堆静态的文件,并且静静的躺在我们计
算机的磁盘中。
软件资源: Linux系统中,一切皆文件!SO,这里的软件资源就是文件资源。
本章所诉的权限,指的就是:文件资源所拥有的相关权限,即文件权限。
㈡ 权限设置目的
文件权限的设置目的:是想让某个用户(Linux操作系统中的用户)有权利操作文件
㈢ 文件权限的分类
普通权限
用户正常情况去操作文件所具有的权限
高级权限
用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限
默认权限
用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的
注意:
权限是设置在文件上的,而不是用户;设置权限目的是让相应的人(用户)去操作相应的文件
二、普通权限
㈠ 理解普通权限rwx含义
1、读权限—r(read)
- 针对目录
一个目录拥有r权限,说明可以查看该目录里的内容(ls命令列出) - 针对普通文件
一个普通文件拥有r权限,说明可以查看该文件的内容(cat/head/tail/less/more等命令查看) - 读权限r(read)用数字表示是4
2、写权限—w(write)
- 针对目录
一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等) - 针对普通文件
一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件) - 写权限w(write)用数字表示是2
3、执行权限—x(execute)
- 针对目录
一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令) - 针对普通文件
一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限) - 执行权限x(execute)用数字表示是1
4、没有权限—横杠
- 没有任何权限用横杠-表示,数字表示是0
(二)理解UGO的含义
1、UGO指的是什么
UGO,指的是用户身份,每个字母代表不同的用户身份。
- U(the user who owns it)
文件的拥有者(owner)或者创建者 - G(other users in the file’s group)
在文件的所属组(默认是创建文件的用户的主组)里的用户 - O(other users not in the file’s group)
既不是文件的创建者,也不在文件属组里的用户,称为其他人
注意:
除了ugo以外,还有一个字母a(all users),表示所有用户,包含ugo
2、如何判断不同身份的用户对文件的权限
(三)修改文件普通权限(chmod)
1、chmod 命令用法
chmod [选项] 模式 文件名
常见选项:
-R --recursive 递归更改目录和目录里文件的权限
2、举个例子
①通过字母形式更改文件权限
u:表示文件拥有者
g:表示文件属组里的用户
o:表示其他人,即不是文件的创建者,也不在文件属组里
a:表示所有人
- 环境准备
mkdir /tmp/dir1
touch /tmp/dir1/file{1..5}
touch /tmp/test{1..3}
ll -R /tmp/
- 使用字母形式修改文件权限
cd /tmp
ll test1 #修改前查看
chmod u+x test1 #给拥有者添加执行权限
ll test1 #修改后查看
chmod g+w test1 #给组成员添加写权限
ll test1
chmod o-r test1 #限制其他人去掉读权限
ll test1
chmod a+x test2 #给所有人添加执行权限
ll test2
chmod u+x,g+w,o-r test3 #同时给拥有者添加执行权限、给组成员添加写权限、限制其他人去掉读权限
ll test3
chmod u=rw,g=rw,o+r test3 #使拥有者具有读写权限、组成员拥有读写权限、其他人天剑读权限
#修改目录权限:
ll -d dir1/ #查看dir1目录
ll dir1/ #查看dir1目录下的文件
#1、只修改目录本身的权限
chmod g+w dir1/
ll -d dir1/ #查看
ll dir1/ #查看
#说明:目录下面的文件权限并未修改
#2、修改目录以及目录里所有文件的权限(递归修改),使用-R参数
chmod -R o+w dir1
ll -d dir1/
ll dir1/
②通过数字新式更改文件权限
- 数字表示权限
字母和数字对应关系:
r——4
w——2
x——1
-——0
rw- r-x r-- 用数字表示就是654
rwx rw- --- 用数字表示就是760
755 用字母表示就是rwx r-x r-x
644 用字母表示就是rw- r-- r--
- 示例:
chmod 644 file1 #rw-r--r--
chmod 700 file2 #rwx------
chmod -R 755 dir1 #rwxr-xr-x
三、文件的属主和属组
㈠ 如何查看文件的属主和属组
红色为文件属主
蓝色为文件数组
㈡ 如何修改文件的属主和属组
1、chown命令修改
chown 命令既可以修改文件的属主,也可以修改文件的属组。
只修改文件的属主
chown 用户名 文件名
修改文件的属主和属组
chown 用户名.组名 文件名
chown 用户名:组名 文件名
chown 用户名. 文件名 #没有指定组名,默认是用户的主组
只修改文件的属组
chown .组名 文件名
chown :组名 文件名 可以加-R选项,表示递归修改
2、chgrp命令修改
chgrp 命令只能修改文件的属组。
chgrp 组名 文件名