Linux 用户权限管理
Ubuntu 用户系统
Ubuntu 是一个多用户系统,我们可以给不同的使用者创建不同的用户账户,每个账户的使用各自的账号登陆,使用用户账号的目的一是方便系统管理员管理,控制不同账户对系统的访问权限,另一方面是为用户提供安全性保护。
我们前面在安装 Ubuntu 系统的时候被要求创建一个账户,当我们创建好帐号以后,系统会在目录 /home 下创建一个文件夹,所有与该用户有关的文件都会被存储在这个文件夹中。同样的,创建其他账户的时候也会在目录 /home 下生成一个文件夹来存储该用户的文件
Ubuntu 下的用户类型分为以下 3 类:
- 初次创建的用户,此用户可完成比普通用户更多的功能
- root 用户,系统管理员,系统中的玉皇大帝,拥有至高无上的权利
- 普通用户,安装完操作系统以后被创建的用户
以上三种用户,每个用户都有一个 ID 号,称为 UID ,操作系统通过 UID 来识别是哪个用户,用户相关信息可以在文件 /etc/passwd 中查看
cat /etc/passwd
在最下方找到我们的账户 mp157 后面 1000:1000 第一个数字是用户的 ID,另一个使用户的 GID 也就是用户组 ID。 Ubuntu 里面每个用户都属于一个用户组里面,用户组就是一组有相同属性的用户集合。
查看文件权限
ls -l
一个文件通常有三种权限:读( r )、写( w )和执行( x )
-rw-rw-r–”表示文件权限与用户和用户组之间的关系,第一位表示文件类型。剩下的 9 位以 3 位为一组,分别表示文件拥有者的权限、文件拥有者所在用户组的权限、其它用户权限
开头那三个 rw- 代表的是所有者(user)
中间那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
权限修改命令 chmod
命令“chmod”用于修改文件或者文件夹的权限,权限可以使用前面讲的数字表示也可以使用字母表示
命令格式
chmod [参数] [文件名/目录名]
主要参数
- -c : 效果类似“-v”参数,但仅回显更改的部分。
- -f : 不显示错误信息。
- -R : 递归处理,指定目录下的所有文件及其子文件目录一起处理。
- -v : 显示指令的执行过程。
示例
修改 test 文件权限
chmod 777 test
给 test.c 的归属用户添加可执行权限(上述第一个表)
chmod u+x test.c
修改 test 文件夹中所有文件权限
chmod -R 777 test
文件归属者修改命令 chown
命令 chown 用来修改某个文件或者目录的归属者用户或者用户组
命令格式
chown [参数] [用户名.<组名>] [文件名/目录]
主要参数
- -c : 效果同-v 类似,但仅回报更改的部分。
- -f : 不显示错误信息。
- -h : 只对符号连接的文件做修改,不改动其它任何相关的文件。
- -R : 递归处理,将指定的目录下的所有文件和子目录一起处理。
- -v : 显示处理过程。
示例
修改 test 归属用户及所属用户组
sudo chown root.root test
|
|
|
|
一个学 Linux 的新手
欢迎大家一起学习或留言补充
笔记来源于正点原子-STM32MP1 嵌入式 Linux 驱动开发指南