Linux中useradd、groupadd和/etc/passwd、/etc/shadow、/etc/group文件

本文详细介绍了在CentOS7.9系统中管理Linux用户和用户组的方法,包括useradd、usermod、userdel、passwd、chage等命令的使用,以及如何操作/etc/passwd、/etc/shadow和/etc/group文件。此外,还阐述了如何创建、修改和删除用户及用户组,并对密码管理进行了深入讨论,确保系统的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

环境:centos7.9
Linux中添加用户和用户组主要涉及到useradd、usermod、passwd、chage、groupadd、groupmod命令,以及三个文件:/etc/passwd、/etc/shadow、/etc/group文件

useradd命令格式

useradd [选项] 用户名

常用选项:

-g   	指定用户的用户主组,默认会创建一个与用户名同名的主组(查看用户属于哪个组直接从passwd文件查看)
-G		指定用户的附加组     (查看用户属于哪个附加组直接从group文件查看)
-u		指定用户ID,即指定用户标识符((ID是唯一的),不想使用系统默认指定的ID则可以使用-u指定ID
-d 		自定义用户的家目录,不要系统默认创建的家目录
-m 		创建用户的家目录,不写也会默认创建一个同名的家目录
-M		不创建家目录
-c   	注释,注释信息,可写可不写
-s		指定用户登录的shell,不写默认是/bin/sh
-r		创建一个系统账号,centos7系统账号的UID是从1-999之间的,centos6是从1-499之间的

常用格式:

useradd wang							#创建wang用户和自动默认创建同名的wang组,wang用户就属于wang组,默认家目录就是/home/wang,默认分配用户ID
useradd -M -s /bin/false nginx			#创建一个不能登录的nginx用户
useradd  -g 1001 -G 1002 -u 8989 -d /home/wangbing -s /bin/bash   wang   

usermod命令格式

usermod [选项] 用户名

常用选项:

-g   	修改用户的用户组,(查看用户属于哪个组直接从passwd文件查看)
-G		修改用户的附加组     (查看用户属于哪个附加组直接从group文件查看)
-u		修改用户ID,即修改用户标识符
-l    	修改用户名(usermod -l new_name user_name)
-s		修改用户登录的shell
-L		锁住用户
-U		解锁用户

常用格式:

usermod  -l  laowang  wang     		#将用户名wang改为laowang,仅仅是修改用户名,家目录名wang或默认组wang并没有被修改
usermod  -L wang					#锁住用户wang

userdel命令格式

userdel [选项] 用户名

常用选项;

-f				#强制删除,及时用户正在登录
-r				#删除用户,其家目录和mail spool 也一并删除

常用写法:

userdel  -rf  wang				#与wang用户有关的都强制删除掉
user wang     					 #仅仅删除了用户,但其家目录和mail spool 还在

passwd命令格式

创建用户后,用户处于锁定状态,需要为其设置登录密码

passwd [选项] 用户名

常用选项:

-d 		删除用户密码,删除后用户不需要输入密码就能登录,但如果是sshd远程登录的话还需要看sshd是否允许空密码登录,用户登录后就能使用passwd 	自己设置密码了。
-w 		口令要到期提前警告的天数
-k 		更新只能发送在过期之后
-l 		锁住密码不能登录,即停止账号使用
-u 		启用已被停止的账户
-S 		显示密码信息
-x 		指定口令最长存活期
-i		口令过期后多少天停用账户

常用命令:

passwd 用户名

chage命令格式

chage:密码失效是通过此命令来管理的

基本格式:chage [选项] 用户名

常用选项:

-d					指定密码最后修改日期(-d 0 就表示下次登录立即得修改密码)
-E					密码到期的日期,过了这天,此账号将不可用。0表示马上过期,-1表示永不过期。
-I (大写的字母i)		密码过期后,锁定账号的天数
-l(list)			列出用户以及密码的有效期
-m					密码可以更改的最小天数。为零代表任何时候都可以更改密码。
-M					密码保持有效的最大天数。
-W					密码过期前,提前收到警告信息的天数

创建一个新用户并使用初始密码登录后立即修改密码

useradd   wang              #使用添加用户 
passwd wang					#使用设置用户密码 
chage -d 0 wang				#强制用户密码过期

groupadd 命令

groupadd [选项] 组名

常用选项:

-g				指定用户组ID,不指定默认从500之后递增
-r				创建一个系统用户组

常用命令:

groupadd  wang
groupadd -r sa		

groupmod命令

groupmod [选项] 组名

常用选项:

-g					修改组ID
-n					修改组名

常用命令:

group  -g 9000  -n new_name  administrator

groupdel命令

groupdel [选项] 组名

常用选项:

-f					强制删除组,即使该组是某个用户的所属组

常用命令:

groupdel wang        

报错:显示组wang是用户wang的所属主组,删除失败,解决办法如下:
1、先删除用户userdel -rf wang 在执行删除组 groupdel wang
2、 改变用户wang的属组 usermod -g 100 wang 在执行删除组 groupdel wang
3、直接强制删除组 groupdel -f wang 但使用wang登录时就会报错显示找不到所属组

用户信息/etc/passwd文件

千万不要认为passwd文件是存放用户密码的,其实始passwd是存放用户相关信息的一个文件,vim /etc/passwd如下图:
在这里插入图片描述
passwd文件的格式如下所示,每个之间是用冒号间隔:

用户名:X:UID:GID::家目录:解释器shell

第1列:第1列用户名是指用户的名称,登录时就是用该用户名登录,用户名是唯一的;
第2列:第2列是个占位符X,其实是很久以前Linux的密码占位符,后来密码被分到shadow文件了,但占位符还在,所以就用x表示了;
第3列:第3列表示UID,是用户的ID,即用户标识符,UID是唯一的;
第4列:第4列表示GID,是指用户所属组的组ID,每个用户必须属于一个主组;
第5列:第5列是注释信息,这里是空的表示没有注释信息,useradd -c 参数就是添加用户注释信息;
第6列:第6列是家目录,是指用户登录的默认目录;
第7列:第7列解释器shell,是指用户登录后使用哪个shell进行解析。

用户密码/etc/shadow文件

/etc/shadow文件才是真正存放用户密码的文件,其格式如下:
在这里插入图片描述

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

用户组信息/etc/group文件

/etc/group文件是存储用户组相关的信息,其格式如下:
在这里插入图片描述

组名:X:组ID:组内用户名

组名表示用户组的名称;X表示密码占位符,虽然用户组可以设置密码,但绝大多数情况下都不设置密码,因为Centos已经将该功能弱化,但占位符X还是保留下来了;组ID就是组的标识符,每一个组ID必须是唯一的;组内用户名表示该组中有哪些用户,反过来说就是哪些用户的附加组就是该组。

总结;

useradd 				创建用户
usermod 				修改用户的属性
userdel 				删除用户
passwd					设置新用户的密码
chage					管理密码的有效性  chage -d 0 wang  可以设置新用户首次登录后立即修改初始密码
groupadd		    	添加用户组
groupmod				修改用户组
groupdel 				删除用户组

/etc/passwd				该文件存储用户相关信息
/etc/shadow				该文件存储用户密码
/etc/group				该文件存储用户组相关信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值