2.RedHat认证-用户组和用户的管理

二、用户组和用户密码和用户组密码管理

⽤户的添加(useradd)
⽤户的删除(userdel)
⽤户的修改(usermod)
⽤户的查看(查看/etc/passwd) id
用户信息都是存放在 /etc/passwd
用户密码都是存放在 /etc/shadow
用户组信息都是存放在 /etc/group
用户组密码都是存放在 /etc/gshadow

用户的管理

useradd(用户添加)命令

useradd zheng
创建后会在 /etc/passwd 里增加一条信息,共有7列,用冒号隔开。

[root@localhost ~]# useradd zheng
[root@localhost ~]# grep zheng /etc/passwd
zheng:x:1001:1002::/home/zheng:/bin/bash

- 第一列表示username 登录名
- 第二列表示密码列,但是该列已被移除,用x表示,密码信息存放在了/etc/shadow里
- 第三列表示UID,类似身份证号码,不能重复
- 第四列表示组ID,用户的private group ID(任何用户都要属于一个组)
- 第五列表示描述信息,邮箱、电话等
- 第六列表示用户的家目录路径。
- 第七列表示用户登录shell

useradd的参数

-u 指定用户UID

-d 指定用户家目录

-s 指定用户登录shell

【举例】
useradd Zhangsan -u 5000 -d /Zhangsan -s /bin/sh

# useradd 创建完用户后,会默认创建用户的家目录和邮箱
# 自动默认创建这些东西的配置文件在/etc/login.defs文件里

usermod(用户修改)的命令

【举例】
usermod zheng -d /opt/zheng -u 5001 -s /bin/bash
#一般来说,创建完用户,不建议更改用户的家目录。

userdel (用户删除) 命令

userdel zheng

# 但是你删除了zheng之后,默认不会删除用户的家目录和邮箱。
# 想要删除用户的家目录和邮箱,加-r参数即可

userdel -r Zhangsan 

id 查看用户信息

id Zhangsan # 和grep Zhangsan /etc/passwd 一样,其实就是调用的这个文件。

用户组的管理

1.⽤户组的添加(groupadd)
2.⽤户组的删除
3.⽤户组的查看
4.⽤户组的修改
primary group(主要组),private group(私有组),attached
group(附加组)
groupadd(用户组添加)
# /etc/group存放着⽤户组的信息

[root@localhost ~]# groupadd kaiche
[root@localhost ~]# head /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
每⼀个冒号分割了⼀个内容
第⼀列表示组名
第⼆列表示组密码,x表示密码存放在/etc/gshadows⽂件⾥
第三列表示组ID  不能重复
第四列表示"组成员

[root@localhost ~]# grep kaiche /etc/group
kaiche:x:1003:
groupdel(用户组的删除)
[root@localhost ~]# groupdel kaiche
[root@localhost ~]# grep kaiche /etc/group
[root@localhost ~]# 
用户组的查看 grep
grep kaiche /etc/group
groupmod 用户组的修改
[root@localhost ~]# groupmod kaiche -g 5001

⽤户组和⽤户的管理

由于任何⽤户都必须依赖于⽤户组才能存在,所以如果创建⽤户没有指定⽤户组(primary group),
那么系统会为该⽤户创建⼀个同名的组。这个组叫做该⽤户的private group(私有组),
私有组默认⾥⾯只有⼀个和该私有组同名的⽤户。
#经验之谈:私有组的意义就在于让⽤户有了⼀个⽤户组。
------------------------------------------------------------
[root@foundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[root@foundation0 ~]# grep 5232 /etc/group
hzz:x:5232:

-----------------------------------------------------------
如果你创建了⼀个⽤户,指定了该⽤户的所属组,那么该⽤户就没有私有组
[root@foundation0 ~]# groupadd lsj -g 30000
[root@foundation0 ~]# useradd tgb -g lsj
[root@foundation0 ~]# grep tgb /etc/passwd
tgb:x:5233:30000::/home/tgb:/bin/bash
[root@foundation0 ~]# grep tgb /etc/group


--------------------------------------------------------------------
/etc/passwd的第四列GID表示该⽤户属于的primary group(主要组)
⼀个⽤户可以属于多个组,记录在/etc/passwd的那个组就是primary group(主要组)

[root@foundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[root@foundation0 ~]# grep hzz /etc/group
hzz:x:5232:
在上⾯的例⼦,我们看到了,hzz这个组既是hzz⽤户的private group,⼜是primary group。
-----------------------------------------------------------------------
添加附加组(attached group),⼀个⽤户只可以属于⼀个primarygroup,但是可以同时属于多个attached group
 -G, --groups GROUPS   新账户的附加组列表
groupadd LTA
useradd lisi -G LTA # -G 指定附加组。 
# 用户组的附加组的删除和添加(gpasswd)
-a 是添加附加组 -a后面跟的是用户名
-d 是删除附加组 -d 后面跟的也是用户名
[root@foundation0 ~]# gpasswd -a gousheng lys
Adding user gousheng to group lys
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq),30000(lsj),5237(lys)


[root@foundation0 ~]# gpasswd -d gousheng lys
Removing user gousheng from group lys
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),20000(kcq),30000(lsj)
[root@foundation0 ~]# gpasswd -d gousheng kcq
Removing user gousheng from group kcq
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng),30000(lsj)
[root@foundation0 ~]# gpasswd -d gousheng lsj
Removing user gousheng from group lsj
[root@foundation0 ~]# id gousheng
uid=5238(gousheng) gid=5238(gousheng)
groups=5238(gousheng)

⽤户密码的管理(最常⻅的运维操作)

$ useradd Lzm
$ id Lzm
$ passwd Lzm # 设置密码


/etc/shadow存放的是密码信息,每⼀列密码信息都被冒号分割开来。
第⼀列表示存放的是哪个⽤户的密码信息(username)

第⼆列存放的就是密码,该密码并不是明⽂的,⽽是使⽤算法⽣成的,算法在/etc/login.defs中有指定。

第三列存放的是上次修改密码的时间

第四列存放的是密码最⼩有效期
	-如果是0,就可以⽆限次的不考虑间隔的修改密码
	-如果是1,就表示,修改完密码之后,必须使⽤该密码⼀天才能再次修改

第五列存放的是密码的最⼤有效期
	-默认是99999,表示密码99999天就会失效
	-如果该数字是3,就表示,3天后密码会过期,如果你想继续使⽤,必须要在密码到期之前修改。

第六列存放的是密码到期前提前多少天警告的时间信息
	-如果该数字为7,就表示密码到期之前的7天就会发出警告,告诉你密码即将过期。

第七列表示⽤户密码到期后宽限⽇期
	-如果该数字是2,就表示密码到期后,你还能使⽤该密码2天,如果2天到了,你还没修改或更新密码,密码就失效了。

第⼋列表示账号失效⽇期
	-第⼋列的⽇期就是账号的失效⽇期。如果到了第⼋列的时间,账号直接失效。不可登录。

第九列保留
使⽤passwd命令控制⽤户的密码信息
[root@foundation0 ~]# grep tgb /etc/shadow
[root@foundation0 ~]# passwd -d tgb # 删除用户的密码信息
Removing password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb::18363:0:99999:7:::
-d 参数可以删除⼀个⽤户的密码
# passwd不能设置上次修改密码的时间信息

passwd的账号失效⽇期-e,直接加⽤户名,能将该⽤户的密码直接设置过期。
[root@foundation0 ~]# passwd -e tgb
Expiring password for user tgb.
passwd: Success
使⽤chage(chage age)来修改⽤户的密码信息,相⽐于passwd更灵活的修改所有的密码信息。
# chage --help
[root@foundation0 ~]# chage -d 1300 -m 2 -M 20 -W 10 -I 4 -E 2021-1-1 tgb
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:1300:2:20:10:4:18628:

⼀般来说,针对上次修改密码的时候,要么不修改,要么设置为0,表示让⽤户下次登录必须修改密码。
(tgb登录的时候,先输⼊tgb原来的密码,然后设置tgb新的密码,新的密码必须有⼀定的密码强度)
passwd的一些特殊用法
如何锁定⽤户的密码
-l 是lock用户
[root@foundation0 ~]# passwd -l tgb
Locking password for user tgb.
passwd: Success
[root@foundation0 ~]# grep tgb /etc/shadow
tgb:!!$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:0:2:20:10:4:18628:


当账号被锁定了,除了root之外,任何其它⽤户不能切换到被锁定的账号
-u 是解锁账户
[root@foundation0 ~]# passwd -u tgb
Unlocking password for user tgb.
passwd: Success

【注意】

passwd命令root⽤户可以⽤passwd修改任何⽤户的密码,包括⾃⼰的。

普通⽤户只可以⽤passwd命令修改⾃⼰的密码。(普通⽤户想修改⾃⼰的密码,直接passwd就可以的)

# passwd --stdin 可以让passwd接收标准的输⼊,只能root使⽤
[root@foundation0 ~]# echo 123 | passwd --stdin tgb
Changing password for user tgb.
passwd: all authentication tokens updated successfully.
# 将tgb的密码设置为123
⽤户组密码信息
⽤户组密码信息存放在/etc/gshadow
[root@foundation0 ~]# usermod -G lsj tgb
[root@foundation0 ~]# grep lsj /etc/gshadow
lsj:!::tgb
[root@foundation0 ~]# grep lsj /etc/group
lsj:x:30000:tgb

组密码的第⼆列记录的是组密码  默认的组和默认的⽤户⼀样没有密码
[root@foundation0 ~]# gpasswd lsj
Changing the password for group lsj
New Password:
Re-enter new password:
[root@foundation0 ~]# grep lsj /etc/gshadow
lsj:$6$Xw4eSQtu$j5cnpBa/aHXzdub9PQwru5k.9tGw70A6.UOV5ThANF4SWwnU.KVmAz5Hl6xz6JaU1LF4ZcG.nf8neb7lfVIjd0::tgb

对于任何⼀个⽤户来说,创建的⽂件,默认的拥有⼈就是该⽤户,默认的所属组是该⽤户的primary group
[tgb@foundation0 ~]$ id
uid=5239(tgb) gid=5239(tgb) groups=5239(tgb),30000(lsj)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[tgb@foundation0 ~]$ touch aaa.avi
[tgb@foundation0 ~]$ ls -l
total 0
-rw-rw-r--. 1 tgb tgb 0 Apr 11 22:51 aaa.avi
[tgb@foundation0 ~]$ newgrp lsj
[tgb@foundation0 ~]$ touch bbb.avi
[tgb@foundation0 ~]$ ls -l
total 0
-rw-rw-r--. 1 tgb tgb 0 Apr 11 22:51 aaa.avi
-rw-r--r--. 1 tgb lsj 0 Apr 11 22:51 bbb.avi

【newgrp groupname】
能让⼀个⽤户临时的切换到另外⼀个组,那么切换成功之后,该⽤户创建的⽂件就都属于切换后的组。
组密码的作⽤是让那些不属于该组的⽤户,可以切换到该组的⼀种⽅式,只要提供正确的组密码,即可切换成功。
touch /etc/nologin 除了root之外的所有⽤户都进制登录。
rm -rf /etc/nologin 解除⽤户登录限制
  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值