⽤户及组创建修改相关命令
useradd/usermod/userdel/passwd/groupadd/gpasswd/newgrp/groupdel/groups命令:
useradd创建⽤户过程:useradd不加任何参数创建时,系统⾸先读取⽤于添加⽤户的配置⽂件/etc/login.defs和/etc/default/useradd根据这两个配置⽂件中定义的规则添加⽤户。然后向/etc/passwd和/etc/group⽂件添加⽤户和⽤户组记录,同时/etc/passwd 和/etc/group对应的加密⽂件也会⾃动⽣成记录。接着系统会⾃动在/etc/default/useradd ⽂件设定的⽬录下建⽴⽤户家⽬录。最后复制/etc/skel⽬录中的所有⽂件到新⽤户的家⽬录中,新⽤户建⽴完成。
创建及修改⽤户信息命令
useradd [选项] ⽤户名
useradd 创建⽤户时会参考两个配置⽂件,分别是/etc/default/useradd和/etc/login.defs
-uuid⽤户标识号,此标识必须唯⼀。
-g group指定新⽤户登录时所属的默认组(主组)【创建并加⼊对的过程】
-
G 指定新⽤户的附加组,必须是已经存在的组。附加组对于默认组⽽⾔,当⼀个⽤户同时是多个组中的成员时,登录时默认组称为主组,其他组称为附加组。
-d home指定新建⽤户的默认家⽬录,如果不指定系统会在/etc/default/useradd⽂件指定的⽬录下创建⽤户主⽬录。
-s shell指定新建⽤户使⽤默认的shell类型,如果不指定,会在/etc/default/useradd⽂件中定义的shell作为新⽤户的默认shell。
-c comment对新建⽤户添加说明信息。
-f inactive指定账号过期多长时间后会永久停⽤。当值为0时账号⽴刻停⽤。当值为-1时则关闭此功能。任务栏输入法不见了
-M 创建时不⽣成⽤户家⽬录(配合-s使⽤)
单个使⽤--useradd [选项] 条件⽤户(把条件赋予给⽤户)
多个使⽤--useradd [选项] 条件⽤户 [选项] 条件 [选项] 条件 ·····
只需第⼀个条件写⽤户,其他只需选项和条件
< useradd -u 1003 u3 -g u1 -G u2 -c kk
创建UID1003,初始组为u1,附加组为u2,说明条件为kk的u3⽤户
useradd -r -s /sbin/nologin www
创建⼀个系统⽤户,且不为⽤户创建家⽬录
usermod [选项] ⽤户名(已建⽴⽤户修改)---⽤户信息变混乱,不常⽤
-u UID #修改⽤户的指定UID
-g 组名 #修改⽤户的指定初始组(尽量不修改)
-G 组名 #修改⽤户的附加组(不管之前设置了多少附加组,都替换掉)(加上-a选项可不替换)
-c 说明 #修改⽤户的描述信息
-d ⽬录 #结合 -m 选项直接对源家⽬录进⾏改名实现修改家⽬录
< usermod –m –d /home/u4 user4 (⽤户user的原家⽬录是/home/user4)
-
s shell类型 #修改⽤户的登录shell类型
-L(⼤)⽤户名 #锁定⽤户的密码 --/etc/shadow中的密码前+!
-U(⼤)⽤户名 #解锁⽤户密码 --/etc/shadow中密码前的!删去
-l 新⽤户名旧⽤户名 #修改⽤户名
userdel [选项] ⽤户名
缓刑3年-r 删除⽤户时,连带家⽬录⼀起删除
删除⽤户后其⽤户创建的⾮/home/⽤户名下的⽂件,通过 ll 命令查看所有者所属组变为UID、GID号,当创建了同⼀UID的⽤户后,⽂件的所有者识别为新建⽤户创建的,会造成混乱。
解决办法:①不删(UID⾜够⽤)
②通过 find / -user ⽤户名 -exec rm -rf {} \: 删除对应⽤户创建的所有⽂件
登不上去怎么回事passwd [选项] ⽤户名
-l ⽤户名#锁定⽤户的密码,使之⽆法登录系统--/etc/shadow的密码前加!!
-u ⽤户名 #解锁⽤户密码--把/etc/shadow中密码前的!!删去
-S ⽤户名 #查看⽤户账号状态。
第⼀次对⼀个⽤户使⽤时是为此⽤户创建密码,第⼆次使⽤时是修改密码。当普通⽤户没有密码时,⾃⼰是修改不了密码的。
注:root⾝份执⾏passwd
1、可以给任何⽤户设置或修改密码
2、在进⾏密码修改时不需要提供原始密码
普通⽤户执⾏passwd
1、默认只能给⾃⼰修改密码(命令后不需写任何字符串)
2、给⾃⼰修改密码时需要提供⽤户的当前密码
3、需要遵循密码各项原则(长度、复杂)
⾮交互式密码设置:
echo "123123" | passwd --stdin user1
⽤⾮交互式的⽅式设置user1的密码为123123
创建及变更组命令:
groupadd [选项] GID 组名
-g指定新建⽤户组的GID,该GID必须唯⼀,不能和其他⽤户组的GID重复。
-o 表⽰新⽤户组的GID可以与系统中已有的⽤户组的GID相同。
美丽的城市gpasswd [选项] ⽤户名组名(直接跟组名⽤于改组密码)
-a 向指定组内添加⼀个成员
-d 把指定⽤户从组内删除
-M定义组内成员列表,⽤户之间⽤“,”分隔(覆盖式)
注: -M 会重新定义组内成员情况,重定义的过程实质为成员的添加和删除。
groupdel 组名
2022立春是几月几日几点groupdel⽤于删除⽤户组,如果该⽤户组中扔包括某些⽤户,则必须先删除这些⽤户后,才能删除⽤户组。
groups 查询⽤户所属哪些组---读当前的所在组(包括临时切换)
其他相关命令 :
1. id ⽤户名 ----读取配置⽂件中的所在组(不需路径,只需⽤户名)
#显⽰⽤户的UID、初始组、附加组列表好玩的网络游戏排行
2. su ⽤户名(不完全切换) #切换⽤户⾝份
su - ⽤户名(完全切换)
#su命令和su -命令最⼤的本质区别就是:前者只是切换了root⾝份,但Shell环境仍然是普通⽤户的Shell;⽽后者连⽤户和Shell环境⼀起切换成root⾝份了。su切换成root⽤户以后,pwd⼀下,发现⼯作⽬录仍然是普通⽤户的⼯作⽬录;⽽⽤su -命令切换以后,⼯作⽬录变成root 的⼯作⽬录了。⽤ech
o $PATH命令看⼀下su和su -以后的环境变量有何不同。以此类推,要从当前⽤户切换到其它⽤户也⼀样,应该使⽤su -命令。(也可以分别⽤env命令【包含path等各种信息】查看区别)
3.finger:查看⽤户详细信息--⽤于⽤户信息的筛选
#finger username
newgrp主要⽤于修改⽤户的有效组,切换有效组后获取相关⾝份,权限,执⾏后可通过exit退出。
注:每次切换通过exit退出,以防连续引起⽤户⾝份混乱
初始组、附加组
#初始组指的是:⽤户创建时直接加⼊的第⼀个组,或默认加⼊的组
#附加组指的是:在⽤户创建时加⼊了初始组之后,⼜加⼊的组,称之为⽤户的附加组
#当⽤户创建⽂件时,该⽂件会默认使⽤⽤户的有效组作为该⽂件的所属组
有效组:
⽤户的初始组就是默认的有效组
当⽤户创建⽂件时,该⽂件的所属组就是当前⽤户的有效组
有效组,决定了⽤户创建⽂件时,⽂件的所属组
newgrp 组名 #临时为指定⽤户切换有效组{前提:需要提前将⽤户加⼊到指定组内}
exit #退回到原来有效组
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论