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终端类型介绍

    相关命令:tty 适合阅读人群:所有   终端机 终端(Computer terminal),是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。又名终端机,它与一部独立的电脑不同,其实就是一种输入输出设备,一台电脑多人使用,每增加一个用户只须增加一台显示器和一套键盘鼠标就可以成为一个独立的终端,多用户可同时使用互相独立,跟…

    Linux干货 2016-10-14
  • Linux计划任务

    计划任务 工作当中有时候需要将某件事情在未来的某个特定的时间执行,而自己确不在机器旁,该如何是好?像这样在每天特定的时间内去安排做一些事情这样,一种事情我们就称之为例行性的计划任务,其实在我们的操作系统当中都有类似的例行性任务计划功能,那如何去像设定闹钟一种在Linux上指定例行性计划任务并实施,主要有两种工具:at和crontab   计划任务分…

    Linux干货 2016-09-19
  • 从增删改查角度学习linux基础命令

    从增删改查角度学习linux基础命令   本文从文件的增加、删除、修改、查询四个角度介绍linux的基本命令,介绍如下:   一.增 touch命令是最常用的创建文件的命令,它的常见参数如下: -a 或–time=atime或–time=access或–time=use  只更改存取时间。 -c 或&#…

    2017-07-15
  • 运维面试题和答案

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 #三次握手 客户端向服务器端发送SYN包,客户端进入SYN_SEND状态 服务器端收到客户端发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态 客户端收到服务器端返回的包再发回ACK包,客户端进入ESTABLISHED状态,服务器端收到包也进入ESTABLISHED状态 客户端…

    Linux干货 2016-06-10
  • DNS服务器——如何解析公司域名

    DNS and Bind ·Sockets:          C/S                  Client:…

    Linux干货 2016-09-25
  • 6

    请详细总结vim编辑器的使用并完成以下练习题; 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/ rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; #   cp /etc/rc.d/rc.sysinit /tmp/ #   vim…

    Linux干货 2017-02-07

评论列表(1条)

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

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