代码改变世界

Linux 用户权限管理

2022-04-05 15:16  jym蒟蒻  阅读(247)  评论(0编辑  收藏  举报

Ubuntu用户系统

多用户系统,每个用户使用各自账号登录。

创建用户账号的时候,会在目录/home下生成一个文件夹,存储所有与该用户有关的文件。

用户类型:

  • 初次创建的用户,用户权限比普通用户大一点。

  • root用户,系统管理员,权限最大。

  • 普通用户。

每个用户都有一个ID号,称为UID,操作系统通过UID识别用户。

文件/etc/passwd中有用户相关信息。

下面jym用户后面有1000:1000,分别是用户的ID和用户的GID(用户组ID)。用户组,一组有相同属性的用户集合。

在这里插入图片描述

权限管理:

用户权限,用户使用系统资源时的限制。根目录/下的文件,只有root用户有权限修改。

文件权限,读r、写w、执行x。

可读,可查看文件内容。可写,可对文件修改。可执行,可运行此文件。

对于文件夹,可读,用ls能查看文件夹内容。可执行,进入文件夹内部。

如下面所示,ls -l可以查看某目录下所有文件的权限信息。

在这里插入图片描述

其中jj.txt文件:

-rw-rw-r-- 

第1个-,表示文件类型是普通文件。

剩下9个,3位一组,表示文件拥有者的权限、文件拥有者所在用户组的权限、其它用户权限。

后面1 jym jym,第一个jym是文件拥有者(用户),第二个jym是该用户所在的用户组。

jj.txt拥有者是用户jym,对文件具有读和写权限。

用户jym所在用户组,也叫jym。jym组内的用户,对文件具有读和写权限。

其他用户对jj.txt权限是只读。


用户权限不够,可以用sudo命令暂时切换到root用户。如下图所示。

在这里插入图片描述


用数字表示权限:

文件权限,读r、写w、执行x。还可以用3位二进制表示三种权限。

字母二进制八进制
r 100 4
w 010 2
x 001 1

下面八进制数字是,每个权限对应位相加。

权限二进制八进制
000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7

下面权限的十进制表示就是664。

rw-rw-r--

用字母表示权限:

字母含义
r 可读权限
w 可写权限
x 可执行权限
a 所有用户
u 归属用户
g 归属组
o 其他用户
= 具备权限
+ 增加某权限
- 减去某权限

chmod

权限修改命令。

修改文件或者文件夹的权限,可以用数字表示也可以用字母表示。

chmod [参数] [文件名/目录名]

参数:

-c 效果类似-v参数,但仅回显更改的部分。

-f 不显示错误信息。

-R 递归处理,指定目录下的所有文件及其子文件目录一起处理。

-v 显示指令的执行过程。

例子:

通过数字修改权限:将jj.txt文件权限从rw-rw-r–更改为rwxrw-rw,对应数字766。

在这里插入图片描述

使用字母修改权限:

chmod u+x j.c

在这里插入图片描述

修改文件夹权限:

用到了参数-R。

在这里插入图片描述

chown

文件归属者修改命令。

修改某个文件或目录的归属者用户或用户组。

chown [参数] [用户名.<组名>] [文件名/目录]

参数:

-c 效果同-v 类似,但仅显示更改的部分。

-f 不显示错误信息。

-h 只对符号连接的文件做修改,不改动其它任何相关的文件。

-R 递归处理,将指定的目录下的所有文件和子目录一起处理。

-v 显示处理过程。

例子如下:

在这里插入图片描述