Linux系统用户与组管理命令及配置文件总结

一、Linux系统用户及组分类

1、用户类别

Linux系统中的用户大致可分为三类:root用户、系统用户、普通用户。每一个用户都拥有一个唯一的身份标识UID。

abc.jpg

2、组分类

与用户信息对应的,Linux系统中的组也可分为三类:root组、系统组、普通组。每一个组也有一个对应的唯一标识GID。

123.jpg

需要说明的是,UID和GID为0的用户对应的就是固定的root,即管理员,具有对系统具有完整权限,其他用户则仅有对应的有限权限。系统用户和系统组,则是为系统服务和某些软件进程所使用的,为非登录用户。

二、Linux系统用户与组相关配置文件

与用户和组相关的配置文件,最主要的有四个:

/etc/passwd:用户及相关属性信息    
/etc/shadow:用户密码及相关属性信息    
/etc/group:组及相关属性信息    
/etc/gshadow:组密码及相关属性信息

1、/etc/passwd文件格式及对应字段含义

图像 1.jpg

root:x:0:0:root:/root:/bin/bash    
用户名:密码:UID:GID:备注信息:家目录:默认shell

/etc/passwd文件每一个行代表一个用户信息,每一行都有7个字段,每个字段之间用冒号隔开。其中密码字段存放的并不是密码本身,而是代表密码的一个占位符,真实的密码信息保存在/etc/shadow文件中。其中在默认shell字段,对于普通用户其shell类型默认为bash(可在配置文件/etc/default/useradd中修改),而大部分的系统账户其shell类型默认为/sbin/nologin,表示为非登录账户,不可交互式登录。

2、/etc/shadow文件格式及对应字段含义

图像 2.jpg

root:$6$2wu6pQgSP1P.5ciL$RgKrn3X5CHvBOpVmBgfE3Pf9lRqRMC1f3lkbZM11bVvQqJIkqzl4Qbcq0ArRNuvXm4ETyK6T4usqRZyNpq3JZ0::0:99999:7:::
用户名:密码:密码上次修改时间:密码最短修改时间:密码最长修改时间:密码过期提前警告时间:过期后密码修改期限:帐号过期时间:保留字段

/etc/shadow文件的每一个行代表一个用户的密码信息,每一行有9个字段,每个字段之间用冒号隔开。其中密码字段包含三部分,用$符号分隔。其中第一部分代表密码的加密算法,从1到6依次代表md5,sha1,sha224,sha256,sha384,sha512;第二部分是salt,即在加密的时候系统会生成一个随机数,与密码组合在一起进行加密,由于使用的加密算法具有“雪崩效应”,因此即使两个人的密码相同,加密后的结果也相差极大,从而保证了密码的安全;第三部分则为密码加密后的密文。对于新添加用户,没有设置密码,则其密码字段为!!,表示不可登录。若某已设置密码的用户,密码字段前面有一个!,则表示该用户密码被锁定,也是不可登录的。但管理员可以使用su命令切换至相应用户。

3、/etc/group文件格式及对应字段含义

图像 3.jpg

root:x:0:gentoo    
组名:密码:GID:组用户列表

/etc/group文件中的每行代表一个组相关信息,每一行有4个字段,每个字段之间用冒号隔开。密码字段仅代表占位符,密码存放于/etc/gshadow文件中。用户列表字段,仅代表附属组为改组的用户名,用的基本组信息保存在/etc/passwd文件中,以GID标识(每个用户都必须有且仅有一个基本组,也常常叫做主组,但可以同时拥有多个附属组)。

4、/etc/gshadow文件格式及对应字段含义

图像 5.jpg

root:::gentoo    
组名:组密码:组管理员:组成员用户列表

/etc/gshadow文件的每一行代表一个组名对应的密码相关信息,每一行共有4个字段,每个字段之间以冒号分隔。其中组密码,主要适用于当一个用户不是某个组的组成员时,如果要想将基本组切换为该组时,可以使用组密码加入改组,而无需管理员进行操作。若字段为空代表该字段没有设置,为默认不可用。

三、Linux系统用户与组管理相关命令

对用户及组相关的管理操作基本上分为增加、修改、删除,其相关命令可以总结如下:

ddd.jpg 

四、其他相关配置文件及命令

相关配置文件:

/etc/default/useradd  新增加用户,各属性的默认值配置文件    
/etc/skel/*        新创建用户,家目录文件的模版目录    
/etc/login.defs     系统UID、GID范围,密码策略、加密算法等配置信息    
/etc/shells        当前系统支持的shell类型

相关命令:

chfn     修改备注/注释信息    
chsh     修改用户shell类型    
finger    查找并显示指定用户信息    
su      切换用户    
id      查看用户ID信息    
vipw     使用vi(m)修改/etc/passwd文件信息    
vigr     使用vi(m)修改/etc/group文件信息    
pwck     检测/etc/passwd文件错误信息    
grpck    检测/etc/group文件错误信息    
getent <passwd|group|shadow|gshadow> [uername|groupname]  查看指定配置文件信息  

原创文章,作者:M21-张国辉,如若转载,请注明出处:http://www.178linux.com/53725

(0)
M21-张国辉M21-张国辉
上一篇 2016-10-23 20:12
下一篇 2016-10-23 20:57

相关推荐

  • Linux 第三天: (07月26日) Linux使用帮助

    Linux 第三天: (07月26日) Linux使用帮助         whatis 显示命令的简短描述makewhatis centos6 制作数据库mandb centos7 制作数据库 help COMMAND 内部命令man bash 内部命令COMMAND –help -h 外部命令man C…

    Linux干货 2016-08-08
  • 简单描述LVS工作原理-第1部分

    一、NAT模式(VS-NAT) 原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址,并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的原IP地址改为自己的IP,将目的地址改为客户端IP地址即可。期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器。 优点:集群中的物理服务器可以使…

    Linux干货 2016-08-15
  • 马哥教育网络班21期第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin_user;other_user all_users=`awk -F':'…

    Linux干货 2016-09-19
  • N22-妙手-第三周博客作业

    1、列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | uniq -c     &nb…

    Linux干货 2016-09-19
  • Linux的发展史

       在早期电气化发展时代1946年诞生了计算机事物,早期的计算机体积巨大,只能适用于一个人操作,而且运行速度慢。但已经形成计算机的架构体系,为了尽可能的榨干计算机资源在计算机发展的二阶段,于是有当时著名实验室BELL ,GE,MIT共同研发了一款叫MULTCS操作系统,这也是最早的操作系统。   1946年一个没有完成的梦想,…

    Linux干货 2016-10-13
  • 硬盘分区及挂载

    标签:文件系统、分区、挂载 一、Linux的基本原则    1、一切皆文件(包括硬件);这个原则会会在很多方面得到体现; 磁盘在Linux中也表现为文件,即/dev目录下:IDE,ATA:/dev/hd[a-z]    SATA,SCSI,USB,SAS:sd[a-z]。    &nbsp…

    Linux干货 2015-05-18

评论列表(1条)

  • M21-张国辉
    M21-张国辉 2016-10-23 20:23

    不得不吐槽一下后台的编辑器,直接修改html源码都排不好版,汗啊