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 [参数] [文件名/目录名]
参数:
-c 效果类似-v参数,但仅回显更改的部分。
-f 不显示错误信息。
-R 递归处理,指定目录下的所有文件及其子文件目录一起处理。
-v 显示指令的执行过程。
例子:
通过数字修改权限:将jj.txt文件权限从rw-rw-r–更改为rwxrw-rw,对应数字766。
使用字母修改权限:
chmod u+x j.c
修改文件夹权限:
用到了参数-R。
文件归属者修改命令。
修改某个文件或目录的归属者用户或用户组。
chown [参数] [用户名.<组名>] [文件名/目录]
参数:
-c 效果同-v 类似,但仅显示更改的部分。
-f 不显示错误信息。
-h 只对符号连接的文件做修改,不改动其它任何相关的文件。
-R 递归处理,将指定的目录下的所有文件和子目录一起处理。
-v 显示处理过程。
例子如下: