13.7 CentOS 7 环境下大量创建帐号的方法

简介: 13.7 CentOS 7 环境下大量创建帐号的方法

13.7.1 一些帐号相关的检查工具

pwck


pwck 这个指令在检查 /etc/passwd 这个帐号配置文件内的信息,与实际的主文件夹是否存在等信息, 还可以比对 /etc/passwd /etc/shadow 的信息是否一致,另外,如果 /etc/passwd 内的数据字段错误时,会提示使用者修订。 一般来说,利用这个来检查我的输入是否正确就是了。

3c20fef566164c79840a8f84efbad00d.png

pwconv


这个指令主要的目的是在“将 /etc/passwd 内的帐号与密码,移动到 /etc/shadow 当中。使用者的登陆密码早期是在 /etc/passwd 的第二栏,后来为了系统安全,才将密码数据移动到 /etc/shadow 内的。使用 pwconv 后,可以:


比对 /etc/passwd 及 /etc/shadow ,若 /etc/passwd 内存在的帐号并没有对应的/etc/shadow 密码时,则 pwconv 会去 /etc/login.defs 取用相关的密码数据,并创建该帐号的 /etc/shadow 数据;


若 /etc/passwd 内存在加密后的密码数据时,则 pwconv 会将该密码栏移动到/etc/shadow 内,并将原本的 /etc/passwd 内相对应的密码栏变成 x。


一般来说,如果您正常使用 useradd 增加使用者时,使用 pwconv 并不会有任何的动作,因为 /etc/passwd 与 /etc/shadow 并不会有上述两点问题。


pwunconv


相对于 pwconv , pwunconv 则是“将 /etc/shadow 内的密码栏数据写回 /etc/passwd 当中,并且删除 /etc/shadow 文件。”这个指令最好不要使用,因为会将/etc/shadow删除。


chpasswd


chpasswd 是个挺有趣的指令,他可以“读入未加密前的密码,并且经过加密后, 将加密后的密码写入 /etc/shadow 当中。”这个指令很常被使用在大量创建帐号的情况中。他可以由Standard input 读入数据,每笔数据的格式是“ username:password ”。 举例来说,我的系统当中有个使用者帐号为 vbird3 ,我想要更新他的密码 (update) , 假如他的密码是abcdefg 的话,那么我可以这样做:

dcee493b11c64179b2af72bb04d52b56.png

13.7.2 大量创建帐号范本(适用 passwd --stdin 选项)

由于 CentOS 7.x 的 passwd 已经提供了 --stdin 的功能,因此如果我们可以提供帐号密码的话, 那么就能够很简单的创建起我们的帐号密码了。

543c84458d404745aa128269377cb9bc.png



接下来只要创建 accountadd.txt 这个文件即可。


0c2385ceac28450da8c6cc14df64263b.png


13.8 重点回顾

Linux 操作系统上面,关于帐号与群组,其实记录的是 UID/GID 的数字而已;


使用者的帐号/群组与 UID/GID 的对应,参考 /etc/passwd 及 /etc/group 两个文件/etc/passwd 文件结构以冒号隔开,共分为七个字段,分别是“帐号名称、密码、UID、GID、全名、主文件夹、shell”


UID 只有 0 与非为 0 两种,非为 0 则为一般帐号。一般帐号又分为系统帐号 (1~999)及可登陆者帐号 (大于 1000)


帐号的密码已经移动到 /etc/shadow 文件中,该文件权限为仅有 root 可以更动。该文件分为九个字段,内容为“ 帐号名称、加密密码、密码更动日期、密码最小可变动日期、密码最大需变动日期、密码过期前警告日数、密码失效天数、 帐号失效日、保留未使用”


使用者可以支持多个群组,其中在新建文件时会影响新文件群组者,为有效群组。而写入 /etc/passwd 的第四个字段者, 称为初始群组。


与使用者创建、更改参数、删除有关的指令为:useradd, usermod, userdel等,密码创建则为 passwd;


与群组创建、修改、删除有关的指令为:groupadd, groupmod, groupdel 等;


群组的观察与有效群组的切换分别为:groups 及 newgrp 指令;


useradd 指令作用参考的文件有: /etc/default/useradd, /etc/login.defs, /etc/skel/ 等等


观察使用者详细的密码参数,可以使用“ chage -l 帐号 ”来处理;


使用者自行修改参数的指令有: chsh, chfn 等,观察指令则有: id, finger 等


ACL 的功能需要文件系统有支持,CentOS 7 默认的 XFS 确实有支持 ACL 功能!


ACL 可进行单一个人或群组的权限管理,但 ACL 的启动需要有文件系统的支持;


ACL 的设置可使用 setfacl ,查阅则使用 getfacl ;


身份切换可使用 su ,亦可使用 sudo ,但使用 sudo 者,必须先以 visudo 设置可使用的指令;


PAM 模块可进行某些程序的验证程序!与 PAM 模块有关的配置文件位于 /etc/pam.d/ 及/etc/security/


系统上面帐号登陆情况的查询,可使用 w, who, last, lastlog 等;


线上与使用者交谈可使用 write, wall,离线状态下可使用 mail 传送邮件!


相关文章
|
5天前
|
关系型数据库 MySQL Linux
centos7.0环境下安装MySql_8.0.12
centos7.0环境下安装MySql_8.0.12
|
5天前
|
Linux 数据安全/隐私保护
CentOS设置IP地址的方法
CentOS设置IP地址的方法
632 0
|
5天前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
60 0
|
5天前
|
JavaScript Java 应用服务中间件
centos部署vue项目(java,tomcat环境的搭建)
centos部署vue项目(java,tomcat环境的搭建)
58 0
|
5天前
|
存储 JavaScript Linux
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
Linux环境下安装nmp(Centos环境)保姆级教学 一步到位
|
5天前
|
关系型数据库 MySQL Linux
CentOS7环境下安装MySQL5.6
CentOS7环境下安装MySQL5.6
217 0
|
5天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
26 0
|
5天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
19 1
|
5天前
|
Linux
如何检查CentOS版本:5种方法
这个文件包含了CentOS的详细版本信息,包括版本号、架构等。
33 0
|
5天前
|
安全 Linux 网络安全
【专栏】CentOS 8 最小安装提供了一个精简高效的环境
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。

热门文章

最新文章