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

相关推荐

  • 为你的网络传输加把锁(OpenSSL)

    互联网形成的初期,更多关注的是设备之间通过网络相互访问功能的实现,我们都知道,两个设备之间要想相互通信,就必需遵循某种协议,于是早期的互联网也出现来众多的协议,比如传输层最著名的协议就是tcp和udp,而应用层比较著名的协议有:http、ftp、pop、smtp、dns、telnet等等,而这些协议这开发初期,更多是关注功能的实现,数据这网络上传输是明文方式…

    Linux干货 2015-12-06
  • DNS and BIND 进阶

    主DNS服务器的ip地址:192.168.1.109 主DNS服务器主机名:bogon 正向区域名:sh.com 反向区域名:1.168.192.in-addr.arpa 正向区域文件名称:/var/named/sh.com.hosts 反向区域文件名称:/var/named/192.168.1.rev 配置主文件/etc/named.conf过程 1、编辑…

    Linux干货 2016-12-06
  • mysql编译安装

    MYSQL编译安装:参考(http://v.youku.com/v_show/id_XMjc4MDUwNjYyOA==.html?from=s1.8-1-1.2&spm=a2h0k.8191407.0.0)(http://oldboy.blog.51cto.com/2561410/1917295)     编译安装mysql,最好…

    Linux干货 2017-06-09
  • linux运维

    linux运维大纲,学习路线图

    Linux干货 2017-10-21
  • 初识mysql:基本原理和使用

    一、 数据库的出现      1. 数据库是什么: 数据库简单来说,就是存储数据的地方(废话),对于用户认证这个过程来说,当用户登录服务器时, 系统需要把用户的输入的用户认证信息和存储的用户认证信息进行比对,这一过程就需要事先把所有用户的信息存储在一个数据库中,然后逐条进行比对。早起最传统的数据库当然就是文本…

    Linux干货 2015-06-04
  • 马哥教育网络班22期+第9周课程练习 忍者乱太郎喻成

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

    Linux干货 2017-01-03

评论列表(1条)

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

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