【Linux】4、Linux 的用户、用户组和权限等

简介: 【Linux】4、Linux 的用户、用户组和权限等


一、Linux 的 root 用户

🔖 Windows、MacOS、Linux 等操作系统是采用多用户模式进行权限管理

🔖 Linux 中拥有最高权限的用户名是 root(超级管理员)

🔖 root 用户有系统的最高操作权限,普通用户在许多地方是有操作限制的(如:在根目录下创建文件夹)


🔖 普通用户的权限在其 HOME 目录内是不受限的

🔖 一旦不在 HOME 目录内,在大多地方,普通用户仅有执行的权限【没有修改权限】

二、切换用户相关命令

(1) su

🔖 su:Switch User【切换用户】

🔖 命令:su [-] 用户名

🔥 -:表示是否在切换用户后加载环境变量【建议带上】

🔥 参数:用户名(表示要切换的用户。若省略,表示切换到 root 用户)

🔥 切换用户后,可通过 exit 命令退回到上一个用户【也可用快捷键 CTRL + d

🔥 普通用户切换到其他用户需要输入密码(如:切换到 root 用户)

🔥 root 用户切换到其他用户是:无需密码,直接切换

(2) sudo

🔖 当得知 root 用户密码的时候,可通过 su 命令切换到 root 用户,进而获得最大权限

🔖 但此操作会导致系统损坏【不建议经常如此操作】

🔖 可使用 sudo 命令为普通用户授权,让普通用户临时拥有 root 用户的操作权限

✏️ 在其他命令之前带上 sudo 即可为这一命令临时赋予 root 权限

✏️ 并不是所有的用户都有权利使用 sudo【需要为普通用户配置 sudo 认证】


为普通用户配置 sudo 认证

✏️ ① 切换到 ROOT 用户

✏️ ② 执行 visudo 命令【会自动通过 vi 编辑器打开 /etc/sudoers 文件】

✏️ ③ 在该文件的末尾添加以下文字

zhangguoqing ALL=(ALL)        NOPASSWD: ALL
  • zhangguoqing 是普通用户账号
  • NOPASSWD: ALL 表示使用 sudo 命令无需输入密码

✏️ ④ 保存该文件

三、用户和用户组

🎹 Linux 中可以配置多个用户、配置多个用户组

🎹 用户可以加入到用户组中

🎹 Linux 关于权限管控有 2 个级别:

① 针对用户的权限管控

② 针对用户组的权限管控

🎹 eg:某个文件

① 可给某用户该文件的修改权限

② 可给某个用户组该文件的修改权限

③ 该用户组中全部的用户都有该文件的修改权限

(1) 用户组命令

创建和删除用户组的命令需要拥有 ROOT 权限

🔎 创建用户组:groupadd 用户组名

🔎 删除用户组:groupdel 用户组名

🔎 查看全部的用户组:cat /etc/group

(2) 用户相关命令

用户相关命令需要拥有 ROOT 权限

🎼 ① 创建用户

useradd -g -d 用户名

  • -g:用于指定用户被加入到哪个中。若不通过 -g 指定用户所属组【会创建同名组并把该用户加入其中】,使用 -g 必须保证该用户组存在;如已存在同名组,必须使用 -g 选项
  • -d:指定该用户的 HOME 路径。若不通过 -d 指定该用户的 HOME 目录【HOME 目录默认是:/home/用户名

🎼 ② 删除用户

userdel -r 用户名

  • -r:删除用户的 HOME 目录【若不指定:仅删除用户账号,不删除 HOME 目录;若指定:账号和 HOME 目录都被删除】

🎼 ③ 查看用户所属组

id 用户名

若不指定 用户名,则查看当前用户所属用户组

🎼 ④ 修改用户所属组

usermod -aG 用户组 用户名:将用户添加到用户组

(3) 查看当前系统中有哪些用户和用户组

getent passwd:查看系统中有哪些用户

输出的信息包括:用户:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bashe)


getent group:查看系统中有哪些用户组

输出的信息包括:组名称:组认证(默认为x):组ID

四、认识权限控制信息

⌚①:表示文件或文件夹的权限控制信息- 打头的是文件;d 打头的是文件夹;l 打头的是软链接】

⌚②:表示文件或文件夹所属的用户

⌚③:表示文件或文件夹所属的用户组


(1) 权限控制信息分析

⏰ 权限控制信息共有十个槽位

  • ①:所属用户权限
  • ②:所属用户组权限
  • ③: 其他用户权限
  • r:可读
  • w:可写
  • x:可执行

r

① 对文件:可查看文件内容

② 对文件夹:可查看文件夹内容(如 ls 命令)

w

① 对文件:可修改此文件

② 对文件夹:可在文件夹内执行创建、删除、改名等操作

x

① 对文件:可将文件作为程序执行

② 对文件夹:可将该文件夹作为工作目录(可 cd 到该文件夹)

(2) chmod 命令

🎈 chmod 命令用于修改文件或文件夹的权限

只有文件或文件夹的所属用户或 root 用户才可修改(才可执行该命令)

🎈 chmode [-R] 权限 文件或文件夹

-R:对文件夹中的全部内容应用同样的操作

chmod u=rwx,g=r,o=w good.txt

(3) 权限的数字序号

🎈 r 权限序号为 4

🎈 w 权限序号为 2

🎈 x 选项需要为 1

0 表示没有任何权限

(4) chown 命令

✒️ chown:用于修改文件或文件夹所属的用户和用户组

✒️ 语法:chown -[R] [用户][:][用户组] 文件或文件夹

✒️ 此命令只能 ROOT 用户执行

chown zhangguoqing good.txt 
chown :zhangguoqing handsom.html

相关文章
|
11天前
|
安全 Linux 数据安全/隐私保护
Linux权限详解
Linux权限详解
|
21天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
23天前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
27天前
|
Linux Shell C语言
【Shell 命令集合 系统管理 】Linux 删除Linux系统中的用户组 groupdel命令 使用指南
【Shell 命令集合 系统管理 】Linux 删除Linux系统中的用户组 groupdel命令 使用指南
15 0
|
22天前
|
Ubuntu 关系型数据库 MySQL
linux创建用户创建组删除用户以及组分配权限
linux创建用户创建组删除用户以及组分配权限
8 0
|
24天前
|
Shell Linux 开发工具
shell的介绍以及Linux权限的讲解
shell的介绍以及Linux权限的讲解
31 2
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 切换用户组 newgrp命令 使用指南
【Shell 命令集合 系统管理 】Linux 切换用户组 newgrp命令 使用指南
29 0
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户组的属性 groupmod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户组的属性 groupmod命令 使用指南
38 0
【Shell 命令集合 系统管理 】Linux 修改用户组的属性 groupmod命令 使用指南
|
27天前
|
Shell Linux 数据安全/隐私保护
【Shell 命令集合 系统管理 】Linux 创建一个新的用户组 groupadd 命令 使用指南
【Shell 命令集合 系统管理 】Linux 创建一个新的用户组 groupadd 命令 使用指南
32 0
|
27天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置终端机的写入权限 mesg 命令 使用指南
23 0