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
下一篇 2016-10-23

相关推荐

  • vim 常见用法、计划任务和脚本初探

    vim的常用方法 gg:跳至首行 G:跳至魔行 dd:删除光标所在行 ndd:删除光标及以下(n-1)行 yy:复制光标所在行 p:把复制行粘贴在光标下一行 P:粘贴在上一行 u:取消上一步操作 /string:查找关键字 n:往下查询 N:往上查询 %s/string1/string2/:把string1替换为string2,后面加g表示全局替换 set&…

    Linux干货 2016-12-04
  • FHS文件系统结构

    FHS文件系统结构 FHS(Filesystem Hierarchy Standard)文件系统层次结构标准是根据无数开发者的经验总结而来的,多数Linux版本采用这种文件组织形式,FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理,并且会维持更新。

    Linux干货 2016-10-29
  • M20 – 1- 第二周(1):课堂练习与作业

    课堂练习:  1、字符终端登录时,显示当前登录终端号,主机名和当前时间 [root@centos6 ~]# tty             #显示当前终端号 /dev/pts/0 [root@cent…

    Linux干货 2016-08-02
  • M21-陆东贵操作类作业

    1.     设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 解答:[root@localhost  13:19:55 37 ~]# PS1="[\[\e[1;31m\]\u@\h&nbs…

    Linux干货 2016-10-18
  • keepalived+nginx 实现 sharepoint 负载均衡

    keepalived 实现虚拟路由
    nginx 做反向代理和负载均衡

    Linux干货 2017-12-20
  • Linux基本命令

    前言 今天学习了Linux下的一些基本命令,在此归纳总结一下这些命令的基本用法。 Linux命令帮助的获取     在拿到一个命令后不知道其用法,我们可以通过命令帮助来查看它的用法,但linux下内部命令和外部命令获取帮助的方法是有差别的。     内部命令:help command &n…

    Linux干货 2016-10-14

评论列表(1条)

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

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