第八章用户与组的管理(视频)

用户分类

root 用户:超级管理员,拥有最高权限 uid = 0
普通用户: > = 1000
系统用户: 1 -999
权限:一般情况下 root>普通>系统

组分类

基本组:一个用户有且仅有一个基本组, 用户一定有基本组 先天 只有一个
附加组:一个用户可以有多个附加组,用户可以没有附加组 后天 可以有多个

用户账户信息的配置文件 /etc/passwd / etc/passwd 存储用户账户信息的位置

root :x: 0: 0: root: /root: /bin/bash
用户名称:密码占位符: UID :基本组:描述信息:家目录:用户登录的 shell
UID: 类似于身份证号(用户)

用户账户密码相关信息的配置文件 /etc/shadow(下面是描述每个字段所表达的内容)

root:6H34Ma4oWso8TwbqC$kddAhMFdwmHro18cjsWichF8W.ElRxkaDp6IxKsc1FHWL4PYPHsxnn/j7HQeRh2lIiIeRswJClI8pmOhg/fEy0::0:99999:7:::

root:
6i48yaR6zdNIe6lj / $g6ezD0QwdidSZ3toEeqo6i /Kvsh33P36PXUKuAzzm1D7TeFbrnycopUuXPll V9vOr/Vpjj4QA.2q5obHTHEET/:
空:
0:
99999:
7:
空:
空:

用户名称:
加密后的密码:
密码的创建时间(从1970年1月1日开始算) :
至少在多少天后才能改密码:
到了这一天 必须改密码(否则密码失效):
提前七天提醒改密码:
宽限天数:
密码失效时间(从1970 年 1 月 1 日开始算):
标志
加密后的密码是通过特定的算法得出的结论,且不能被倒推,所以我们一般都找不回自己忘记的密码,都是直接重置密码,当然这样也保证了我们账户密码的安全性,不会被别人获取。
最小时间间隔 0 表示不限制 密码多少天不能被修改
最大时间间隔 999999 表示不进行限制 密码多少天必须被修改
警告时间 0 表示不提供警告 提前多少天警告用户密码即将过期
一般默认是7天
对于这些时间天数,可以通过vim进入相应的文件位置 vim /etc/shadow 进行修改

组账户信息配置文件 /etc/group

root :x: 0 : 空
tss :x: 59 : clevis
组名:组密码占位符: GID 组账号:以该组为附加组的用户

组密码配置文件 /etc/gshadow

root: 空 : 空: 空
tss: ! :空: clevis
组名:组密码:组管理员:以该组为附加组的用户
!代表没有设置密码
失效期 没写或0都是代表永久保存(目前学的是这样,或者表示默认值)
内容了解即可:
#useradd 创建用户的默认项

root@localhost \~\]# vim /etc/default/useradd INACTIVE=-1 这行设置新用户是否会被禁用。在这里,`-1`表示新用户账户默认不会被禁用。如果设置为正整数,比如`30`,那么新用户在30天后如果没有更改密码,将被系统禁用。 EXPIRE= 是否设置密码过期时间 在这里,它为空默认不过期 SHELL=/bin/bash shell SKEL=/etc/skel 这行指定新用户主目录的模板目录。当你创建一个新用户时,`/etc/skel`目录下的所有文件和目录都会被复制到新用户的主目录下。 CREATE_MAIL_SPOOL=yes 这行指示系统是否为新用户创建邮件池。 \~ 当使用useradd命令添加新用户时,这个文件中的设置会被用作新用户的默认配置。 而我们可以进入这个里面定义新建用户的默认信息 一般包括,家目录的路径,,新用户的基本组,UID,,等 # 定义 /etc/passwd 和 /etc/shadow 配置文件 \[root@localhost \~\] # vim /etc/login.defs 默认信息一般包括 UID和GID的范围,密码最长使用期,密码修改间隔,密码最小长度,是否创建家目录等 # 家目录的隐藏文件从这个目录里复制的 \[root@localhost \~\] # ll -A /etc/skel/ 总用量 12 -rw-r--r-- . 1 root root 18 11 月 24 2022 .bash_logout -rw-r--r-- . 1 root root 141 11 月 24 2022 .bash_profile -rw-r--r-- . 1 root root 492 11 月 24 2022 .bashrc drwxr-xr-x. 4 root root 39 3 月 28 16 :12 .mozilla **1** **、用户** **创建** useradd useradd \[选项\] 登录名 \[root@localhost \~\] # grep wang5 /etc/passwd /etc/shadow /etc/passwd:wang5:x:1010:1010:wang5dezhanghao:/wang5:/bin/bash /etc/shadow:wang5: $6$bfgLTjEUefb0D3xt$A04j5RSBApYtUxJsXIFnbGZvdMMDOKhGhxL6L0EmabX0Pc . v0GzzonpNeKQUa5WO98E3RreqnBVDMARdCMWrn/:19828:0:99999:7::: \[root@localhost \~\] # useradd wang5 -u 1010 -g 1010 -d /wang5 -s /bin/bash -c wang5dezhanghao -u 指定账户的UID创建用户 -g 指定用户的组ID创建用户 # 注意:你 -g 指定的组,要先存在 -d 用户的家目录 -M 不创建用户的家目录 -s 指定创建用户登录时的shell -c 用户的注释信息 -e 设置用户的失效日期 useradd wang5 -e 2024-5-7 -N 不创建同名组,默认到user组(基本组)里 -p 设置密码 ![](https://file.jishuzhan.net/article/1790341559850373121/6c0b6efbc037919a62d2babbc8cdb1da.webp) # 注意:你 -g 指定的组,要先存在 \[root@localhost \~\] # groupadd -g 1010 wang5 \[root@localhost \~\] # useradd wang55 -u 1005 -s /bin/bash -e -1 \[root@localhost \~\] # useradd admin -d /admin -g wheel -G admin,root 示例 1 :新建一个用户 zhang3, 查看 passwd 、 shadow 文件中的变化 , 并确认该用户的家目录中的初始配置文件。 示例 2 :新建一个用户 wang5 ,指定其 UID 为 1005 、登录 Shell 为 /bin/bash ,账号永不过期。 示例 3 :新建一个辅助管理员用户 admin, 将其用户家目录指定为 /admin ,基本组指定为 wheel ,附加组同时属于 adm 组和 root 组 示例 4 :新建一个用于访问 FTP 的 zhao6 用户,禁止其登录且不创建家目录。 指定不能登录的shell **删** userdel -r 用户名 因为不加-r 删不掉邮箱,所以一般将-r带上 -r , --remove 删除主目录和信件池 、 \[root@localhost \~\] # userdel wujing -r # 验证 \[root@localhost \~\] # ll /var/spool/mail/ \[root@localhost \~\] # ll /home /var/spool/mail 邮箱信息 **改** usermod \[root@localhost \~\] # usermod -G dongyouji wuneng 好像是不能同时将多个用户改到同一个附加组里,至少以逗号隔开是不可以的,会被认为是一个用户 \[root@localhost \~\] # grep dongyouji /etc/group dongyouji:x:1023:wukong,wujing,wuneng # 修改设置账户密码 passwd # 对 redhat 用户设置密码为 123 echo 123 \| passwd --stdin redhat # 只有 root 用户执行 passwd 指令时可以带用户名 passwd 用户名称 # 普通用户只能不带参数,修改自己的密码 -d 修改家目录 -u 修改用户的UID 示例 1 :将用户 admin 的家目录移至 /home 目录下。 示例 2 :将用户 wang5 的名称修改为 wangwu, 并暂停使用该账号。 **查** id + 用户名称 \[root@localhost \~\] # id wukong 用 户 id = 1022 (wukong) 组 id = 1024 (wukong) 组 = 1024 (wukong),1023(dongyouji) 用户基本组 id 用户所属的所有组 vim /etc/passwd 查看所有的用户和一些信息: 例如:polkitd:x:998:996:User for polkitd:/:/sbin/nologin * 用户名为 `polkitd`。 * 密码信息隐藏,指向 `/etc/shadow` 文件。 * 用户ID为 `998`。 * 用户组ID为 `996`。 * 用户描述为 `User for polkitd`。 * 主目录为根目录 `/`。 * 默认shell为 `/sbin/nologin`,表示该用户不能登录。 补充: passwd: **为用户账号设置密码** -d +用户 删除密码 没有密码的不能进行远程登录,只能在虚拟机本机上登录 -e 就是将设置的密码立即过期(终止让其失效) -i +参数 修改宽限天数(就是口令过期后停用账户的天数) -l (=usermod -L ) 将用户账号锁定 锁定是将带密码的账户锁定到不能登录(密码账户被锁定)也就是密码失效,不能登录。 -n 修改 密码多少天后才能被修改 --stdin表示要以像前面标准输入的方式才能进行命令 echo 123 \| passwd --stdin root 将123设置为root账户的密码 123 和root 都可以作为变量,进行循环,进而达到多次修改不同用户密码的功能 普通用户的密码一定要是8位以上的字符吗?,,那root用户呢? --stdin 从标准输入读取令牌(只有 root 用户才能进行此操作) sudo 提高普通用户的权限 sudo -u root useradd 用户 让普通用户使用root用户创建用户的权限 搜文件在哪: find / -name sudoer 用户的提权:下面有,改过去 vim /etc/sudoers 搜看看是啥,在里面改了东西 进入这个里面把用户的权限改了? 在有个路径上前面加个passwd 可以在使用 下面sudo 的时候不用输密码了 看平板的截屏 dd 删行 对附加组通一做一个指令 %dongyouji ALL=(ALL) ALL 在附加组dongyouji里的所有用户在任何主机上,可以切换到任何用户,执行任何指令 which useradd 查看看 id +用户 查看用户信息 先是基本组 后面是附加组 sudo -u root useradd baidujing 给后面这个用户加上root有的添加用户的权限? **2** **、组** **创建** groupadd # 默认创建普通的组 \[root@localhost \~\] # groupadd dongyouji GID和系统组不一样 \[root@localhost \~\] # grep dongyouji /etc/group dongyouji:x:1002: -g 组名 gid 是 最大id+一 id 是已存在的组的id 10086 用户 指定用户的GID为10086 有点怪怪的,好好查看看 # 创建系统组 -r 创建一个系统组的账号 分配一个GID 范围在1-999 \[root@localhost \~\] # groupadd -r dongyouji01 \[root@localhost \~\] # grep dongyouji /etc/group dongyouji:x:1002: dongyouji01:x:977: # 指定组 id 创建组 \[root@localhost \~\] # groupadd -g 10086 newgroup \[root@localhost \~\] # grep newgroup /etc/group newgroup:x:10086: groupadd -g 1000 group1 修改组的组ID(GID) -o 加一个-o 允许使用同一个GID **删** groupdel 不能删除用户的主组,也就是基本组 # 注意:删除的组不能作为一个用户的基本组,否则不能删除该组 \[root@localhost \~\] # groupdel newgroup2 \[root@localhost \~\] # grep newgroup2 /etc/group 被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组 **改** groupmod groupmod \[选项\] 组 # 修改组名和修改组 id \[root@localhost \~\] # groupmod -n newgroup2 -g 1012 newgroup1 同时修改的名字和组id \[root@localhost \~\] # grep newgroup2 /etc/group newgroup2:x:1012: # 新增 tangseng 为 dongyouji 组的管理员, wuneng 为组成员( 覆盖 之前的用户) \[root@localhost \~\] # gpasswd -A tangseng -M wuneng dongyouji \[root@localhost \~\] # grep dongyouji /etc/gshadow dongyouji:!:tangseng:wuneng dongyouji01:!:: #-M 可指定多个用户到组里 \[root@localhost \~\] # gpasswd -M wuneng,wujing,wukong dongyouji # 不覆盖追加用户到组里 \[root@localhost \~\] # gpasswd -a redhat dongyouji 正在将用户 "redhat" 加入到 "dongyouji" 组中 #修改组id groupmod -g 1010 group **查** groups 用户名称 查看用户的所属组 gpasswd 选项 用户 组 -a 添加用户 -d 从对应的组中的用户进行删除 -M 设置组 GROUP 的成员列表,用户用多个用逗号隔开 vim /etc/group 查看有哪些基本组 root:x:0: 1. **组名**:用户组的名称。 2. **密码** :通常为空或 `x`,表示密码信息存储在 `/etc/gshadow` 文件中(如果系统使用该文件)。 3. **组ID (GID)**:系统用来识别用户组的数字标识。 4. **组成员**:属于该组的用户列表,多个用户之间用逗号分隔。 **3** **、用户的提权 (提升用户的权限)** # 配置 vim /etc/sudoers 进入这个文件 写入命令 tangseng ALL = (root) NOPASSWD:!/usr/sbin/useradd 这行配置允许用户 `tangseng` 无需输入密码即可执行 `/usr/sbin/useradd` 命令,但仅限于以 root 用户身份执行。(这里的ALL代表在所有的主机和终端上) %dongyouji ALL = (ALL) ALL,!/usr/bin/rm 这行配置允许 `dongyouji` 用户组的所有成员以所有用户(ALL)的身份执行所有命令(ALL),但除了 `/usr/bin/rm` 命令。(这里的第一个ALL 是指改组下的所有用户)。 上面的%是为了区分用户和组 # 验证 su - tangseng # 注意:只有 root 用户有权限使用 useradd 创建用户,普通用户想要使用 useradd 需要使用 sudo 临时获得 useradd 的执行权限 sudo -u root useradd **4** **、查看用户登录情况(w who last )** \[root@localhost \~\] # w 显示登录到系统的用户信息。 14 :45:11 up 46 min, 3 users, load average: 0 .00, 0 .00, 0 .00 到这个点 启动了多久 有三个用户在线 负载均衡 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root seat0 13 :59 0 .00s 0 .00s 0 .01s /usr/libexec/gdm-wayland-session -- register-session root tty2 13 :59 46 :01 0 .07s 0 .06s /usr/libexec/gnome-session-binary 09:37:45 up 47 min, 3 users, load average: 0.00, 0.00, 0.00 USER TTY LOGIN@ IDLE JCPU PCPU WHAT root pts/0 08:50 47:33 0.01s 0.01s -bash root pts/1 08:50 1.00s 0.03s 0.01s w root pts/2 08:50 30:41 0.02s 0.02s -bash root pts/0 14 :00 1 .00s 0 .37s 0 .02s w 登录的时间 空闲时间 占用cpu的时间 后面what的指令占用的时间 \[root@localhost \~\] # who 显示目前登录到系统的用户 root seat0 2024 -04-20 13 :59 (login screen) root tty2 2024 -04-20 13 :59 (tty2) root pts/0 2024 -04-20 14 :00 (192.168.78.1) \[root@localhost \~\] # last 列出目前与过去登入系统的用户相关信息, root pts/0 192 .168.78.1 Sat Apr 20 14 :00 still logged in root tty2 tty2 Sat Apr 20 13 :59 still logged in root seat0 login screen Sat Apr 20 13 :59 still logged in reboot system boot 5 .14.0-362.8.1.e Sat Apr 20 13 :59 still running root pts/2 192 .168.78.1 Sat Apr 20 10 :47 - 12 :02 (01:15) root pts/1 192 .168.78.1 Sat Apr 20 10 :06 - 12 :02 (01:55) root pts/1 192 .168.78.1 Sat Apr 20 09 :22 - 10 :05 (00:43) \[root@localhost \~\] # lastlog 每个账号(用户)的最近登录时间 Username Port From Latest root pts/0 192 .168.78.1 六 4 月 20 14 :00:11 + 0800 2024 bin \*\* 从未登录过 \*\* daemon \*\* 从未登录过 \*\* adm \*\* 从未登录过 \*\* lp \*\* 从未登录过 \*\* gdm tty1 六 4 月 20 13 :59:30 + 0800 2024 redhat pts/1 六 4 月 20 10 :53:43 + 0800 2024 wukong pts/1 六 4 月 20 10 :31:10 + 0800 2024 用什么登录的 来自的IP地址 登录时间 Username Port From Latest root pts/2 192.168.113.1 五 5月 10 08:50:37 +0800 2024 当常识: 主目录就是家目录 信件池就是邮箱 用户登录的shell,一般是指的一个程序,而这个程序就是用户和操作系统的桥梁 ![](https://file.jishuzhan.net/article/1790341559850373121/bdbfa8277ef31415c264cb90da5003a7.webp) 如这个xshell7 里面有这几种的shell 不同的用户可能会使用不同的shell ,还可以自己修改 \[root@localhost \~\]# chsh -l /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash 一般情况下:(可以由管理员自己修改) UID 0 root 1-999 系统用户 \>999 普通用户 GID 0 root组 1-999 系统组 \>999 普通用户组 su 在原来的家目录里 su - 在当前用户的家目录里

相关推荐
逼子格14 小时前
五种音频器件综合对比——《器件手册--音频器件》
嵌入式硬件·音视频·硬件工程师·硬件测试·电子器件·硬件笔试真题·音频器件
EasyGBS15 小时前
视频设备轨迹回放平台EasyCVR打造视频智能融合新平台,驱动智慧机场迈向数字新时代
网络·人工智能·安全·音视频
EasyGBS15 小时前
视频设备轨迹回放平台EasyCVR综合智能化,搭建运动场体育赛事直播方案
网络·安全·音视频
SKYDROID云卓小助手19 小时前
三轴云台之相机技术篇
运维·服务器·网络·数码相机·音视频
yunteng52120 小时前
音视频(一)ZLMediaKit搭建部署
音视频·zlmediakit·安装搭建
Merokes1 天前
关于Gstreamer+MPP硬件加速推流问题:视频输入video0被占用
c++·音视频·rk3588
EasyGBS1 天前
NVR接入录像回放平台EasyCVR视频系统守护舌尖上的安全,打造“明厨亮灶”云监管平台
安全·音视频
cuijiecheng20181 天前
音视频入门基础:MPEG2-TS专题(26)——通过FFmpeg命令使用RTP发送TS流
ffmpeg·音视频
18538162800余。1 天前
矩阵碰一碰发视频源码搭建技术解析
音视频
Yeauty2 天前
Rust 中的高效视频处理:利用硬件加速应对高分辨率视频
开发语言·rust·ffmpeg·音视频·音频·视频