Centos 用户管理

用户管理


用户信息

存放信息:etc/passwd

--内容--
第一列:username(login name)
第二列:password列,已移除,用x表示,password information 转移到 /etc/shadow 文件
第三列:UID(user ID)
第四列:private group ID(GID,所属组的ID),任何用户都要属于一个用户组
第五列:描述信息
第六列:用户家目录信息
第七列:用户的登录shell

--命令--
id	查看用户的命令,该命令的信息是从/etc/passwd中调取
useradd	添加用户	(-u -d -s)
userdel	删除用户	(-r)	
usermod(modify修改)	修改用户	(-u -d -s)

用户组信息

存放信息:/etc/group

--内容--
primary group(主要组)
private group(私有组)
attached group(附加组)

第一列:组名
第二列:组密码,x表示密码存放在 /etc/gshadow 文件里
第三列:GID(group ID)
第四列:组成员

--命令--
groupadd	添加组	(-g)
groupdel	删除组
groupmod	修改组	(-g)
grep group_name /etc/group	查看组

用户组和用户的关联

任何用户都必需依赖用户组才能存在

--创建用户时,不指定用户组(primary group)--
系统会为该用户创建一个同名的组,这个组叫该用户的 private group (私有组)
> private group:保护用户,让用户有一个组
> private group:一定是没有指定 组名 或 组号,如果 -g 3000 指定了组号,但是组名称和用户相同. 这个不是 private group
如果你创建用户时,指定了该用户的所属组,那么该用户就没有私有组

--/etc/passwd--
> 第四列(GID):表示该用户属于的 primary group (主要组),
> 一个用户可以属于很多组,记录在/etc/password的GID就是 primary group (主要组)
所以:一个用户的 private group 又可以是用户的 primary group

--attached group (附加组)--
一个用户只可属于一个 primary group ,但是可以同时属于多个 attached group.
附加组:理论上可以将任一用户组当作一个用户的附加组,但是我们要尽可能的不将私有组作为某个用户的附加组
> 除了GID(primary group)以为的组,都是 attached group

--命令--

-创建用户时,添加主要组-
useradd -g 指定添加的是该用户的 primary group
useradd username -g primary group

-创建用户时,添加附加组-
useradd -G 指定添加的是该用户的 attated group
useradd username -G attached group

--修改用户组--
usermod username -G attached group / -g primary group
usermod -G : 该参数有限制,只能添加一个附加组,如果已经有附加组,则进行覆盖
> 修改所有的附加组为某个附加组
usermod -aG : 使用该参数时,就可以添加多个附加组,且该参数的 顺序严格

gpasswd -a username group : 将某个用户添加到 某个组 中,该组为该用户的 attached group
gpasswd -d username group : 将某个用户从 某个组 中删除

用户密码

存放信息:/etc/shadow

--内容--
第一列:username
第二列:encrypt password,通过算法生成,算法在 /etc/login.defs 中有指定
第三列:上次修改密码的时间
第四列:密码最小有效期
> 如果是0,表示可以无期限的修改密码
> 如果是1,表示修改密码后,需使用该密码1天才能再次修改

第五列:密码最大有效期
> 默认是99999,表示密码在99999后就会失效
> 如果该数字是3,就表示密码在3天后过期,如果你想继续使用,必须在到期之前进行修改(在没配置其他条件时)

第六列:密码到期前n天,弹出警告的时间信息
> 如果数字为7,表示密码过期7天前会发出警告,告诉你密码即将过期

第七列:用户密码到期后宽限日期
> 如果数字是2,表示密码到期后,你还可以使用该密码2天,如果2天到了,没有修改或更新密码,则密码失效

第八列:账号失效日期
> 该日期为账号失效日期,如果到该日期后,账号直接失效,不可登录

第九列:保留

--命令--

--passwd(password)--
相比chage,提供了 锁定/解锁用户、设置/删除用户密码 的功能

passwd username : username 设置 password
passwd -d username : 删除用户的 password

passwd -l(lock) : 锁定用户密码,该用户除了root以为任何用户都无法切换到锁定账户
passwd -u(unlock) : 用户密码解锁

passwd -n 3 -x 10 -w 5 -i 2 username : 设置账户限制
> 该用户的 最小密码有效期3天 最大密码有效期10天 密码过期前5天警告 密码到期后宽限日期为2天

passwd -e username : 使用户的密码过期,让用户的 上次修改密码的时间变为 0 .
> 当上次修改密码时间的字段变为0时,表示该用户下次登录必须修改密码(该密码有复杂度要求)
> 但在 windows server 中,创建完的用户,默认该值就是 0

root的passwd可以修改任意用户的密码,而普通用户的passwd只能修改自己的密码
passwd:普通用户修改自身密码

passwd --stdin
echo 1 | passwd --stdin username : 将 1 作为 username 的密码

--chage(change age)--
相比于passwd更灵活的修改所有的密码信息

chage -d 1000 -m 3 -M 30 -W 5 -I 2 -E 2025-1-1 username
> 上一次修改的时间距离1970-1-1已过去1000,最小密码有效期3天,最大密码有效期30天,密码过期前5天警告
> 宽限日期为2天,账户失效时间为2025-1-1

一般来说,上次的修改日期,要么不修改,要么改为0,表示该用户下次登录必须修改密码(该密码有复杂度要求)

用户组密码

存放信息:/etc/gshadow

--内容--
第二列:组密码
默认的组和默认的用户一样没有密码

--命令--
gpasswd group:给用户组添加密码
> 组密码的作用是让那些不属于该组的用户,可以切换到该组的一种方式,只要提供正确的组密码,即可切换成功。

newgrp groupname(切换所属组):能让用户临时切换到另一个组,切换成功后,该用户创建的文件都属于切换后的组
newgrp 会开启一个 bash
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值