郑州网站建设兄长好,网站进入之前动态效果,网站提交网址,职业生涯规划大赛官网报名简介
linux基本的用户管理。
⽤户的管理(切换到root) ⽤户的添加#xff08;useradd#xff09; ⽤户的删除#xff08;userdel#xff09; ⽤户的修改#xff08;usermod#xff09; ⽤户的查看#xff08;查看/etc/passwd#xff09; id⽤户组的管理(切换到root) …简介
linux基本的用户管理。
⽤户的管理(切换到root) ⽤户的添加useradd ⽤户的删除userdel ⽤户的修改usermod ⽤户的查看查看/etc/passwd id ⽤户组的管理(切换到root) ①⽤户组的添加groupadd ②⽤户组的删除 ③⽤户组的查看 ④⽤户组的修改 primary group主要组private group私有组attached group附加组 /etc/group存放着⽤户组的信息 [rootfoundation0 ~]# 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: /etc/group 每⼀个冒号分割了⼀个内容 第⼀列表示组名 第⼆列表示组密码x表示密码存放在/etc/gshadows⽂件⾥ 第三列表示组ID 第四列表示组成员 ①⽤户组的添加
[rootfoundation0 ~]# groupadd kcz
[rootfoundation0 ~]# grep kcz /etc/group
kcz:x:5001:
[rootfoundation0 ~]# grep lsz /etc/group
[rootfoundation0 ~]#
[rootfoundation0 ~]# groupadd lsz
[rootfoundation0 ~]# grep lsz /etc/group
lsz:x:5002:
[rootfoundation0 ~]# groupadd lsj
[rootfoundation0 ~]# grep lsj /etc/group
lsj:x:5003:
②⽤户组的删除
[rootfoundation0 ~]# groupdel lsz
[rootfoundation0 ~]# grep lsz /etc/group
[rootfoundation0 ~]# grep lsj /etc/group
lsj:x:5003:
[rootfoundation0 ~]# groupdel lsj
[rootfoundation0 ~]# grep lsj /etc/group③⽤户组的查看
grep 组名 /etc/group
④⽤户是有UID的对于⽤户组来说也有GIDgroup IDGID也是唯⼀
的。
可以添加⽤户组的同时指定GID
[rootfoundation0 ~]# groupadd -g 10000 kcq
[rootfoundation0 ~]# grep kcq /etc/group
kcq:x:10000:
⑤修改组⼀般功能很鸡肋就是修改个组ID
[rootfoundation0 ~]# groupmod -g 20000 kcq
[rootfoundation0 ~]# grep kcq /etc/group
kcq:x:20000:
⽤户组和⽤户的关联
创建⽤户的时候指定⽤户组
由于任何⽤户都必须依赖于⽤户组才能存在所以如果创建⽤户没有指定⽤
户组primary group那么系统会为该⽤户创建⼀个同名的组。这个组
叫做该⽤户的private group私有组私有组默认⾥⾯只有⼀个和该私
有组同名的⽤户。
经验之谈私有组的意义就在于让⽤户有了⼀个⽤户组。
[rootfoundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[rootfoundation0 ~]# grep 5232 /etc/group
hzz:x:5232:
如果你创建了⼀个⽤户指定了该⽤户的所属组那么该⽤户就没有私有
组。
[rootfoundation0 ~]# groupadd lsj -g 30000
[rootfoundation0 ~]# useradd tgb -g lsj
[rootfoundation0 ~]# grep tgb /etc/passwd
tgb:x:5233:30000::/home/tgb:/bin/bash
[rootfoundation0 ~]# grep tgb /etc/group
[rootfoundation0 ~]#
/etc/passwd的第四列GID表示该⽤户属于的primary group主要
组⼀个⽤户可以属于多个组记录在/etc/passwd的那个组就是
primary group主要组
[rootfoundation0 ~]# grep hzz /etc/passwd
hzz:x:5232:5232::/home/hzz:/bin/bash
[rootfoundation0 ~]# grep hzz /etc/group
hzz:x:5232:
在上⾯的例⼦我们看到了hzz这个组既是hzz⽤户的private group
⼜是primary group。
添加附加组attached group⼀个⽤户只可以属于⼀个primary
group但是可以同时属于多个attached group
useradd -g 指定的是添加⽤户该⽤户的primary group-G 指定的是
添加该⽤户的attached group。
[rootfoundation0 ~]# groupadd diqiu
[rootfoundation0 ~]# useradd yzq -G diqiu
[rootfoundation0 ~]# grep yzq /etc/passwd
yzq:x:5236:5236::/home/yzq:/bin/bash
[rootfoundation0 ~]# grep 5236 /etc/group
yzq:x:5236:
附加组理论上可以随便将任何⼀个⽤户组当做任何⼀个⽤户的附加组但是
理论上应该尽可能的不将私有组作为某个⽤户的附加组。
[rootfoundation0 ~]# id yzq
uid5236(yzq) gid5236(yzq)
groups5236(yzq),30001(diqiu)
id查看⼀个⽤户的时候可以看到uid和gid还有该⽤户属于的所有组。
gid就表示该⽤户的primary group除了gid之外的所有组都是
attached group。
添加⽤户的时候直接指定附加组
useradd username -G attached group
将⼀个现有的⽤户添加到附加组
[rootfoundation0 ~]# useradd gousheng
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng)
[rootfoundation0 ~]# usermod -G lsj gousheng
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),30000(lsj)
[rootfoundation0 ~]# usermod -G kcq gousheng
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),20000(kcq)
[rootfoundation0 ~]# usermod -aG lsj gousheng
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),20000(kcq),30000(lsj)
⽤户密码的管理最常⻅的运维操作
[rootfoundation0 ~]# usermod -Ga lys gousheng
usermod: group a does not exist
[rootfoundation0 ~]# gpasswd -a gousheng lys
Adding user gousheng to group lys
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),20000(kcq),30000(lsj),5237(lys)
[rootfoundation0 ~]# gpasswd -d gousheng lys
Removing user gousheng from group lys
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),20000(kcq),30000(lsj)
[rootfoundation0 ~]# gpasswd -d gousheng kcq
Removing user gousheng from group kcq
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng),30000(lsj)
[rootfoundation0 ~]# gpasswd -d gousheng lsj
Removing user gousheng from group lsj
[rootfoundation0 ~]# id gousheng
uid5238(gousheng) gid5238(gousheng)
groups5238(gousheng)
⽤户密码的管理最常⻅的运维操作
①给⽤户设置密码
[rootfoundation0 ~]# id wjx
uid5001(wjx) gid5000(wjx) groups5000(wjx)
[rootfoundation0 ~]# passwd wjx
Changing password for user wjx.
New password: 1
BAD PASSWORD: The password is a palindrome
Retype new password: 1
passwd: all authentication tokens updated successfully.
②⽤户的密码信息存放在/etc/shadow中
[rootfoundation0 ~]# grep wjx /etc/shadow
wjx:$6$ae3uY4p/bFgASqKo$pjbAm7hpnwfsEq3fMdvDUIsRmqRhLMHs
kZizAWLZbLUTuI3EcAi7yce0KhNrptMVz5a1z12PrVyN3o4LHYGjU/:1
8363:0:99999:7:::
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:!!:18363:0:99999:7:::
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:$6$iCqzFNJ7wLtjp/96$iKAyxBortuzeDEpFChKZavAnM6qzhlbu
JEdzrECQeZwK8D5UzwwQh/yhTeBOp29tzAvEtNEozxkAg8ZZxChTS.:1
8363:0:99999:7:::
/etc/shadow存放的是密码信息每⼀列密码信息都被冒号分割开来。
第⼀列表示存放的是哪个⽤户的密码信息username
第⼆列存放的就是密码该密码并不是明⽂的⽽是使⽤算法⽣成的算法
在/etc/login.defs中有指定。
第三列存放的是上次修改密码的时间
第四列存放的是密码最⼩有效期
如果是0就可以⽆限次的不考虑间隔的修改密码
如果是1就表示修改完密码之后必须使⽤该密码⼀天才能再次修改
第五列存放的是密码的最⼤有效期
默认是99999表示密码99999天就会失效。
如果该数字是3就表示3天后密码会过期如果你想继续使⽤必须要在
密码到期之前修改。
第六列存放的是密码到期前提前多少天警告的时间信息
如果该数字为7就表示密码到期之前的7天就会发出警告告诉你密码即将
过期。
第七列表示⽤户密码到期后宽限⽇期
如果该数字是2就表示密码到期后你还能使⽤该密码2天如果2天到了
你还没修改或更新密码密码就失效了。
第⼋列表示账号失效⽇期
第⼋列的⽇期就是账号的失效⽇期。如果到了第⼋列的时间账号直接失
效。不可登录。
第九列保留
使⽤passwd命令控制⽤户的密码信息
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:$6$iCqzFNJ7wLtjp/96$iKAyxBortuzeDEpFChKZavAnM6qzhlbu
JEdzrECQeZwK8D5UzwwQh/yhTeBOp29tzAvEtNEozxkAg8ZZxChTS.:1
8363:0:99999:7:::
[rootfoundation0 ~]# passwd -d tgb
Removing password for user tgb.
passwd: Success
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb::18363:0:99999:7:::
-d 参数可以删除⼀个⽤户的密码
passwd不能设置上次修改密码的时间信息
[rootfoundation0 ~]# passwd -n 3 -x 10 -w 5 -i 2 tgb
Adjusting aging data for user tgb.
passwd: Success
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb::18363:3:10:5:2::
passwd的账号失效⽇期-e直接加⽤户名能将该⽤户的密码直接设置过
期。
[rootfoundation0 ~]# passwd -e tgb
Expiring password for user tgb.
passwd: Success
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb::0:3:10:5:2::
上次修改密码时间的字段变成了0就表示该⽤户下次登录必须修改密码。在
windows server当中创建完⽤户默认该值就是0。
使⽤chagechange age来修改⽤户的密码信息,相⽐于passwd更灵
活的修改所有的密码信息。
[rootfoundation0 ~]# chage -d 1300 -m 2 -M 20 -W 10 -I
4 -E 2021-1-1 tgb
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9
ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:1
300:2:20:10:4:18628:
⼀般来说针对上次修改密码的时候要么不修改要么设置为0表示让⽤
户下次登录必须修改密码。tgb登录的时候先输⼊tgb原来的密码然后
设置tgb新的密码新的密码必须有⼀定的密码强度
如何锁定⽤户的密码
[rootfoundation0 ~]# passwd -l tgb
Locking password for user tgb.
passwd: Success
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:!!$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpH
V9ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81
:0:2:20:10:4:18628:
当账号被锁定了除了root之外任何其它⽤户不能切换到被锁定的账号
[rootfoundation0 ~]# passwd -u tgb
Unlocking password for user tgb.
passwd: Success
[rootfoundation0 ~]# grep tgb /etc/shadow
tgb:$6$akpmgINkDix4ueTo$8g0O70/JD303RjQ7M9iYggZStkpDpHV9
ES/gaipVu5qgORqHDjT61U2664IgPcfNPYR/8wNMG5W0yPpdo0aQ81:0
:2:20:10:4:18628:
-l 锁定
-u 解锁
passwd命令root⽤户可以⽤passwd修改任何⽤户的密码包括⾃⼰的。
普通⽤户只可以⽤passwd命令修改⾃⼰的密码。
[tgbfoundation0 ~]$ passwd wjx
passwd: Only root can specify a user name.
[tgbfoundation0 ~]$
[tgbfoundation0 ~]$ passwd hzz
passwd: Only root can specify a user name.
[tgbfoundation0 ~]$
[tgbfoundation0 ~]$
[tgbfoundation0 ~]$ passwd tgb
passwd: Only root can specify a user name.
[tgbfoundation0 ~]$
[tgbfoundation0 ~]$ passwd
Changing password for user tgb.
Current password:
New password:
普通⽤户想修改⾃⼰的密码直接passwd就可以的。
passwd --stdin 可以让passwd接收标准的输⼊只能root使⽤
⽤户组密码信息
[rootfoundation0 ~]# echo 123 | passwd --stdin tgb
Changing password for user tgb.
passwd: all authentication tokens updated successfully.
将tgb的密码设置为123
⽤户组密码信息
⽤户组密码信息存放在/etc/gshadow
[rootfoundation0 ~]# usermod -G lsj tgb
[rootfoundation0 ~]# grep lsj /etc/gshadow
lsj:!::tgb
[rootfoundation0 ~]# grep lsj /etc/group
lsj:x:30000:tgb
组密码的第⼆列记录的是组密码
默认的组和默认的⽤户⼀样没有密码
[rootfoundation0 ~]# gpasswd lsj
Changing the password for group lsj
New Password:
Re-enter new password:
[rootfoundation0 ~]# grep lsj /etc/gshadow
lsj:$6$Xw4eSQtu$j5cnpBa/aHXzdub9PQwru5k.9tGw70A6.UOV5ThA
NF4SWwnU.KVmAz5Hl6xz6JaU1LF4ZcG.nf8neb7lfVIjd0::tgb
对于任何⼀个⽤户来说创建的⽂件默认的拥有⼈就是该⽤户默认的所
属组是该⽤户的primary group
[tgbfoundation0 ~]$ id
uid5239(tgb) gid5239(tgb) groups5239(tgb),30000(lsj)
contextunconfined_u:unconfined_r:unconfined_t:s0-
s0:c0.c1023
[tgbfoundation0 ~]$ touch aaa.avi
[tgbfoundation0 ~]$ ls -l
total 0
-rw-rw-r--. 1 tgb tgb 0 Apr 11 22:51 aaa.avi
[tgbfoundation0 ~]$ newgrp lsj
[tgbfoundation0 ~]$ touch bbb.avi
[tgbfoundation0 ~]$ 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 解除⽤户登录限制