「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。
1. 用户管理
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
1.1 添加用户
$ useradd [选项] [用户名]
useradd -d <目录> <用户名>: 添加用户并指定文件夹useradd -g <组> <用户名>: 添加用户并指定组名useradd -s /bin/sh -g group -G adm,root gem: 新建了一个用户 gem,该用户的登录 Shell是/bin/sh,它属于 group 用户组,同时又属于 adm 和 root 用户组,其中 group 用户组是其主组
Linux提供了集成的系统管理工具 userconf,它可以用来对用户账号进行统一管理。
1.2 删除用户
删除用户账号就是要将 /etc/passwd 等系统文件中的该用户记录删除,必要时还删除用户的主目录。
$ userdel [选项] [用户名]
常用的选项是 -r,它的作用是把用户的主目录一起删除:
userdel -r sam: 此命令删除用户 sam 在系统文件中(主要是/etc/passwd, ``/etc/shadow,/etc/group` 等)的记录,同时删除用户的主目录
1.3 修改用户信息
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录 Shell 等。
修改已有用户的信息使用 usermod 命令,其格式如下:
$ usermod [选项] [用户名]
usermod -g <新组名> <用户名>: 修改用户所在组usermod -d <新目录> <用户名>: 修改用户主目录usermod -s /bin/shell -d /home/z –g developer sam: 同时修改登录 shell、主目录以及用户组id <用户名>: 显示用户的 UID、GIDwhoami / who am i: 查看当前用户/登录用户
1.4 用户口令的管理
$ passwd [选项] [用户名]
选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
例如,假设当前用户是 sam,则下面的命令修改该用户自己的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是 root 用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
⭐普通用户修改自己的口令时,passwd 命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而 root 用户为用户指定口令时,就不需要知道原口令。
2. 用户组管理
Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改;实际上就是对 /etc/group 文件的更新。
2.1 新增用户组
$ groupadd [选项] [用户组]
groupadd -g 101 group1: 新增用户组的同时顺带指定组标识号
2.2 删除用户组
$ groupdel [用户组]
groupdel group1
2.3 修改用户组
$ groupmod [选项] [用户组]
groupmod -g 102 group1: 修改组标识号groupmod -g 103 -n group2 group1:-n修改组名
2.4 切换用户组
⭐如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限;用户可以在登录后,使用命令 newgrp 切换到其他用户组:
$ newgrp root
这条命令将当前用户切换到 root 用户组,前提条件是 root 用户组确实是该用户的主组或附加组。
3. 挂钩用户账号的系统文件
完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。
与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括 /etc/passwd, /etc/shadow, /etc/group 等,下面分别介绍这些文件的内容。
3.1 /etc/passwd
Linux 系统中的每个用户都在 /etc/passwd 文件中有一个对应的记录行,它记录了这个用户的一些基本属性:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
3.2 /etc/shadow
对安全性要求较高的 Linux 系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是 /etc/shadow 文件,格式:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
3.3 /etc/group
将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
⭐当一个用户同时是多个组中的成员时,在 /etc/passwd 文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
用户要访问属于附加组的文件时,必须首先使用 newgrp 命令使自己成为所要访问的组中的成员。
用户组的所有信息都存放在 /etc/group 文件中。此文件的格式由冒号(:)隔开若干个字段:
组名:口令:组标识号:组内用户列表
4. 找回 root 密码⭐
首先启动系统,进入开机界面,在界面中按 "e" 进入编辑界面;然后用键盘的下键向下移动,找到以 "Linux16" 开头内容所在行,并在行最后输入 init=/bin/sh:
接着输入完成后,ctrl+x 进入单用户模式,再输入 mount -o remount,rw / & passwd 即可更改密码!
希望本文对你有所帮助🧠
欢迎在评论区留下你的看法🌊,我们一起讨论与分享🔥