4_用户与组

4_用户与组前言 用户分类 手动创建用户 用户 操作 组 操作 导图 Linux 系统中用户的分类 用户 是用来操作 系统中不同功能的身份 超级用户 root uid 0 系统用户 不需要登录系统 服务于应用程序 维护系统的运行 普通用户 可以登录的用户

大家好,我是讯享网,很高兴认识大家。

前言:
用户分类、
手动创建用户、
用户 操作、
组 操作

导图


讯享网

Linux系统中用户的分类

用户 是用来操作 系统中不同功能的身份

  • 超级用户: root uid=0
  • 系统用户:不需要登录系统,服务于应用程序,维护系统的运行
  • 普通用户:可以登录的用户 uid>=1000 (Linux6版本uid>=500)
  • 执行添加用户的命令之后,系统文件会发生的变化
    1)在/etc/passwd添加一行
    2)在/etc/group添加一行
    3)在/etc/shadow添加一行
    4)在/etc/gshadow添加一行
    5)在/home目录下建立一个与用户同名的目录作为家目录,同时会从/etc/skel目录中复制出所有的隐藏文件到该目录
    6)修改权限

系统文件:
/etc/passwd: 保存用户信息的文件 /etc/shadow: 保存用户密码相关信息的文件 /etc/group: 保存组信息的文件 /etc/gshadow:保存组密码相关信息的文件 

讯享网
讯享网/etc/passwd # head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名:密码占位符:UID:GID:描述信息:家目录:登录shell /etc/shadow # tail -1 /etc/shadow user1:$6$AcVMb8pd$VN1.vAQqAHF0rVLwTidlmJTJfEcEqdukhCNUMS7JNKg88l7TyJK7.FGKTd2z1gPn0IUXzFMtcBbzcRv3zcult0:18659:0:99999:7::: 用户名: 加密后的密码: 上一次密码修改时间(单位是天,是距离1970年1月1日多少天) 密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改 密码最大生存周期 单位:天,密码使用的最长时间 密码到期前几天开始警告 密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天 账户过期时间 保留列 /etc/group # head -1 /etc/group root:x:0: 组名:密码占位符:GID:用户列表 /etc/gshadow # cat /etc/gshadow root::: 组名: 加密后的密码:组管理员:组成员 

用户:
查看用户
# id user1 uid=1002(user1) gid=1002(user1) groups=1002(user1) uid:用户标识 gid:组标识,用户的主组 groups:用户所属组信息 查看当前用户是谁 # whoami 
添加用户
讯享网# useradd username # id username uid=1005(username) gid=1005(username) 组=1005(username) 添加用户时,如果不指定用户的组,那么默认会创建一个与用户名同名的组作为用户的主要组 
选项 描述
-u 指定用户的uid
-g 指定用户的gid,指定用户的主要组,前提:组是必须存在的
-G 指定用户的附加组(附属组),前提:组是必须存在的
-c 指定描述信息
-d 指定用户的家目录; root的默认家目录是/root; 普通用户的默认家目录是/home
-M 不建立家目录
-s 指定用户的登录shell
-e 指定用户过期时间,日期
-f 指定用户过期时间,天数
# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名:密码:uid:gid:注释性描述:用户的家目录:用户的登录shell 查看当前shell,echo可以用来打印变量 # echo $SHELL /bin/bash 
shell区别 说明
/bin/bash 可登录shell,该用户可以登录到系统
/sbin/nologin 非登录shell,该用户不允许登录到系统
讯享网实例:手动添加用户 直接用修改文件的方式,添加一个用户:adam;密码为:123.com # tail -1 /etc/passwd adam:x:1004:1004:test:/home/adam:/bin/bash # tail -1 /etc/shadow adam:$6$VjNBLry9$g3KUSyecAuKTKynCfNP5f3lpHckNl9/lIK1vNwux7oCWrhSfJmJcRh5SqzL3m25hT88xp5OyyRT1nPiR1mec91:18463:0:99999:7::: # tail -1 /etc/group adam:x:1004: # tail -1 /etc/gshadow adam:!:: 创建对应的用户的家目录 # mkdir /home/adam # cp /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc /home/adam 将家目录的属主、属组信息更改 # chown adam.adam /home/adam 验证用户是否能正常登录 # su - adam 
删除用户

eg:# userdel -fr usr1

选项 解释
-f 强制删除用户账号
-r 删除用户主目录及其中的任何文件
设置密码
默认修改当前用户的密码 # passwd 修改指定用户的密码 # passwd user1 
修改用户

eg:# usermod -s /sbin/nologin user1

选项 描述
-u 指定用户的uid
-g 指定用户的gid,用户的主要组
-G 指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的
-d 指定家目录
-s 修改用户的shell
-L 锁定用户
-U 解除锁定
-l 改名
-a 添加用户到组,结合-G使用,追加附属组

组 group

从用户的角度分为:
主组:primary group、initial group、firstgroup,用户的默认组,也就是gid所标识的组
附属组:secondary group、supplementary group

添加组 groupadd
讯享网# groupadd -g 2021 group1 -g:指定gid # tail -1 /etc/group group1:x:2021: 组名:密码:gid:组中成员 
修改组 groupmod
# groupmod -g 2020 g2 # tail -1 /etc/group g2:x:2020: # groupmod -g 1080 -n group2 g2 # tail -1 /etc/group group2:x:1080: 
删除组:groupdel
讯享网PS: Centos6,以及Centos7.6之前所有的版本都适用于这个规则,Centos7.7,是可以删除主要组的。 # groupdel group1 # grep group1 /etc/group //没有任何输出,表示文件中没有含有group1关键字的行 eg: # id user1 uid=1001(user1) gid=1001(user1) groups=1001(user1) # id user2 uid=1002(user2) gid=1002(user2) groups=1002(user2) # groupdel user1 groupdel:不能移除用户“user1”的主组 # usermod -g 1002 user1 # id userA uid=1001(user1) gid=1002(user2) groups=1002(user2) # groupdel userA # id user1 uid=1001(user1) gid=1002(user2) 组=1002(user2) # id user2 uid=1002(user2) gid=1002(user2) 组=1002(user2) 
组管理 gpasswd
管理/etc/group和/etc/gshadow文件的,每一个组可以有管理员,成员和密码 给组加密码:可以让知道组密码的人,临时的切换到该组中,能够使用该组的资源。 1)指定组的管理员 # gpasswd -A 用户名 组名 2)向组中添加成员 # gpasswd -a 用户名 组名 3)给组设置密码 # gpasswd groups 4)切换组 # su - niulang $ id uid=1004(niulang) gid=1004(niulang)groups=1004(niulang),1005(xique) $ newgrp 组名 $ id uid=1004(niulang) gid=1081(groups)groups=1081(groups),1004(niulang),1005(xique) 5)将用户从组中删除 # gpasswd -d sha groups 

常用命令
命令 描述
useradd 用户名 添加用户(创建的时候可以指定u、g、c等选项)
id 用户名 查看当前用户的ID
whoami 查看当前用户的名字
passwd 用户名 设置用户密码(普通用户只能通过passwd修改自己本身密码)
userdel 用户名 删除一个用户(-r 选项会连同创建的家目录 一同删除)
groupadd 组名 创建组
groupdel 组名 删除组(用户的主要组不可以删除)
usermod -[u,g,G等] 修改用户信息
groupmod -[g,o,n] 修改组的信息
gpasswd -A 用户名 组名 为组添加一个管理员
gpasswd -a 用户名 组名 用组管理员为组添加一个用户成员
gpasswd -d 用户名 组名 删除一个组成员
gpasswd 组名 为组设定一个密码
小讯
上一篇 2025-02-27 18:54
下一篇 2025-01-29 19:36

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126105.html