切换语言
EN CN
树莓派开发者 / 操作系统 / 用户与权限

用户与权限

上海晶珩发布于 2023-02-23
4025 浏览

Linux 允许不同的用户同时登录主机,同时使用主机的资源。Linux通过规划不同类型、不同层级的用户,并公平地分配系统资源与工作环境。

用户 & 用户组

不同用户对不同文件所拥有的权限应该不尽相同。Linux以 “用户与用户组” 的概念,建立用户与文件权限关系,保障 Linux 作为多用户系统的可行性。

从文件权限考虑,引申出三个对象: 文件所有者、用户组成员、其他人。三类对象对文件权限是不同的。

文件所有者

创建文件的用户,对该文件有最高权限。
拥有者可以开发权限给其他人。

用户组成员

文件有归属组,如果需要将文件权限开发给部分用户,可以将这些用户加入文件归属组,对组赋权限。 对其他无关用户保持私有。

一个用户可加入多个组

其他人

与文件没有任何关系的用户。

ROOT 用户

Linux 中root(0号)是最高权限者,是超级管理员。从安全考虑,不推荐使用root用户进行日常操作。

示例

pi@raspberrypi:~ $ ls -la .bashrc
-rw-r--r-- 1 pi pi 3523 Sep 22 03:51 .bashrc

文件权限: -rw-r--r--
第一个字符 '-' 标识普通文件, 如果是'd' 标识文件夹
后面9个字符,3个字符一组表示不同用户的权限,分别对应读,写,可执行.
第2~4字符表示所有者权限:'rw-' 有读、写权限,没有执行权限
第5~7字符表示所有者权限:'r--' 有读权限,没有写、执行权限
第8~10字符表示所有者权限:'r--' 有读权限,没有写、执行权限

用户 & 用户组

用户管理

  1. 创建用户sudo adduser -s /bin/bash -m
  2. 将新用户加入用户组 sudo usermod -a -G
  3. 修改口令 sudo passwd
  4. 禁用用户 sudo passwd -l
  5. 启用用户 sudo passwd -u
  6. 删除用户 sudo userdel -r

用户组管理

  1. 新增组-g GID 指定新用户组的组标识号(GID)。
    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
  2. 删除组

权限管理

权限与数值对应关系

文件的基本权限由 9 个字符组成,我们可以使用数字来代表各个权限,各个权限与数字的对应关系如下:

r --> 4(二进制:100)
w --> 2(二进制:10)
x --> 1(二进制:1)

将 3 个权限对应的数字累加,最终得到的值即可作为每种用户所具有的权限.
例如: rwxrw-r-x

所有者 = rwx = 4 + 2 + 1 = 7
所属组 = rw- = 4 + 2 + 0 = 6
其他人 = r-x = 4 + 0 + 1 = 5

所以,此权限值为: 765

修改权限

sudo chmod [-R] 权限值 文件名

-R(注意是大写)选项表示连同子目录中的所有文件,也都修改设定的权限。
例如:

pi@raspberrypi:~ $ ls -la test.py
-rw-r--r-- 1 pi pi 207 Feb 10 03:48 test.py

pi@raspberrypi:~ $ sudo chmod 666 test.py

pi@raspberrypi:~ $ ls -la test.py
-rw-rw-rw- 1 pi pi 207 Feb 10 03:48 test.py

也可以通过字母修改权限

  1. 3 种权限(rwx)
  2. u、g、o 分别代表 3 种身份,还用 a 表示全部的身份
  3. 操作 +(添加) / -(删除) / =(赋予)
ls -la test.py
-rw-rw-rw- 1 pi pi 207 Feb 10 03:48 test.py

pi@raspberrypi:~ $ sudo chmod o-w test.py #删除其他人写权限

pi@raspberrypi:~ $ ls -la test.py
-rw-rw-r-- 1 pi pi 207 Feb 10 03:48 test.py

pi@raspberrypi:~ $ sudo chmod a+x test.py # 所有人添加执行权限

pi@raspberrypi:~ $ ls -la test.py
-rwxr-xr-x 1 pi pi 207 Feb 10 03:48 test.py

pi@raspberrypi:~ $ sudo chmod a=rw test.py #所有人设置读写权限

pi@raspberrypi:~ $ ls -la test.py
-rw-rw-rw- 1 pi pi 207 Feb 10 03:48 test.py 


上海晶珩

上海晶珩是树莓派官方设计合作伙伴和官方代理商,专注于推广树莓派技术在多个行业中的应用,并提供专业技术服务,以加速客户产品研发进程。上海晶珩为物联网(IoT)、工业自动化、人工智能(AI)、工业控制等领域提供全面的工业树莓派解决方案和可靠的工业计算机产品。

  • 上海市嘉罗公路1661号盛创企业家园29号楼
  • +86-159 2148 3028
  • sales@edatec.cn
提交您的留言

提示

提交即表示您同意 EDATEC 的隐私政策

请输入验证码

captcha