Linux用户管理

Linux用户管理

最近使用过程中发现一些用户与用户组管理的遗漏,借此机会梳理内容。
创建用户的过程会生成用户名对应组名,并生成相应用户UID与组GID,ID是操作系统对于用户识别的关键信息,用户名是为了方便人类识别,通过iduser命令可以查看自己的UID/GID,当用户ID=0时操作系统会认为此用户为超级管理员,root默认ID=0

用户信息

用户基本信息存放在/etc/passwd
密码单独以加密形式存放在/etc/shadow
从passwd

/etc/paswd中:为分隔符现已root为例进行解释:

root:X:0:0:root:/root:/bin/bash

第一段root:用户名为root
第二段X:此用户密码,X为占位符号,真正的密码在/etc/passwd中经过不可逆加密的哈希值加盐储存
第三段0:此为用户UID
第四段0:此为用户GID
第五段root:此为用户说明信息
第六段:/root:此为用户家目录,普通用户在/honme/user
第七段:/bin/bash此为用户的默认shell类型

Tips: Centos6中0-499
Centos7/Centos8中0-999
为系统用户储备ID用户无法使用

/etc/shadow中:为分隔符现以root为例进行解释:

root:$6 0 I c V D R O O 0IcVDROO 0IcVDROOKJFUDUVqtQpGlVqJblbp5Xl9GZoyHexpdEGoWjI5Ui4iCxlXUsi9qEhw8zqqxKHFsTd0azRsyYK3uQ2TsIAYH/:18210:0:99999:7:::

第一段root:代表这行的密码属于root
第二段:$作为分隔符分为三段,第一段代表加密方式;第二段代表盐值;第三段代表最终密码,因为是单项散列值加密,目前人类科技是无法计算还原的,所以可以明文储存
第三段18210:密码修改时间距离Unix诞生190年1月1号过了多少天
第四段0:两次修改密码间隔天数;0代表随时可修改
第五段99999:代表密码有效期九万天,273年的话目前人类科技下是够用了吧
第六段7:273年之后密码将要过期的前七天提醒用户更改密码
第七段在空着:密码过期后还可以使用多久,空代表过期你也可继续登陆使用
第八段在空着:代表1970.1.1到哪天用户账号不可登陆,空代表一直可使用登陆
第九段在空着:保留字段,为应付以后人类科技

管理用户

  • useradd [选项]登陆信息
  • usermod [选项]登陆信息
  • userdel [选项]登陆信息

useradd 常用选项:
-U xxx指定新建用户UID为XXX
-O不检查UID唯一性与-U配合使用
-g XXX指定GID为XXX

usermod常用选项:
-u XXX 设定XXX为新UID
-g XXX 设定XXX为新主要组

userdel常用选项:
-f xxx 强制删除用户xxx
-r xxx 删除用户xxx家目录与邮箱

组信息

用户组配置信息存放在/etc/group
用户组密码相关信息在/etc/gshadow
/etc/group中:为分隔符现以root为例进行解释:

root:X:0:

第一段root:代表组名
第二段X:代表组密码,X为占位符,真正密码以单向不可逆加密加盐存在/etc/gshadow
第三段0:代表组编号
第四段在空着:代表属于此附加组的用户列表多个之间用逗号分隔

/etc/gshadow中:为分隔符现以root为例进行解释:

root:::

第一段root:代表组名
第二段在空着:组管理密码,空代表没有组管理密码!开头表示被锁定
第三段在空着:该组管理员用户账号
第四段在空着:附加组用户列表,若有,多个之间以逗号分隔

  • groupadd [选项]登陆信息
  • groupmod [选项]登陆信息
  • groupdel [选项]登陆信息

groupadd 常用选项:
-g XXX 设定XXX为新GID

groupmod 常用选项:
-n xxx:AAA 修改XXX组名为AAA
-g xxx:AAA 修改GIDXXX为GIDAAA

groupmems [选项][action]参数
-g xxx 更改为XXX组
-a xxx 加入xxx组
-l 显示组成员列表
-p 清空所有组内人员

密码管理

passwd[OPTIONS] UserName:
passwd xxx 修改用户XXx密码

passwd [选项]username
-U解锁指定账户
-d删除指定用户密码
-e强制用户下次修改面膜

如果单独执行passwd则修改当前登陆用户密码

useradd aaa ; echo 12341234 |passwd --stdin aaa

useradd aaa代表新建用户aaa
echo 12341234|代表将echo标准输出的12341234输入管道准备作为用户aaa密码
passwd --stdin aaa代表接受了管道的12341234并将aaa密码改为aaa

批量新建用户可以
newusers
passwd格式文件批量创建用户

chpasswd批量修改口令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值