1. 账户信息文件

账户信息被保存在 /etc/passwd 文件中,通过命令 cat /etc/passwd 查看文件内容如下:

[root@192 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt

……中间部分省略……

postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false

文件以冒号为分隔符,第一列为账户名称,第二列为密码占位符(x表示该账户需要密码才可以登录,为空时,账户无须密码即可登录),第三列为账户UID,第四列为GID,第五列为账户附加基本信息,一般存储账户名全称、联系方式等信息,第六列为账户家目录位置,第七列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。

2. 账户密码文件

账户密码信息被保存在 /etc/shadow 文件中,通过命令 cat /etc/shadow 查看文件内容如下:

[root@192 ~]# cat /etc/shadow
root:$6$GmklrLt5M4lqMzDM$KzCJR8T.Bk2Yov4CC20JTaxqb2WQ8A6/dsrgSXb2mKg.rpO1goxVZsk3msqiiuMFAXTrR20tOk.VXDe9KtlLV.::0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::

……中间部分省略……

postfix:!!:18141::::::
chrony:!!:18141::::::
tss:!!:18152::::::
mysql:!!:18170::::::

文件以冒号为分隔符,第一列为账户名称,第二列为密码(账户未设置密码时为!!,设置密码后加密显示,CentOS6默认采用SHA-512算法),第三列为上次修改密码的时间距离1970年01月01日有多少天(依此推算最后一次修改密码的日期),第四列为密码最短有效天数(密码至少使用多少天,0代表无限制),第五列为密码最长有效天数(默认99999可以理解为永不过期),第六列为过期前的警告天数(默认过期前提前7天警告,但进入警告日期后仍可以使用旧密码登录系统),第七列为密码过期后的宽限天数(密码过期后,预留几天给账户修改密码,此时已无法使用旧密码登录系统),第八列为账户失效日期(从1970年01月01日起多少天后账户失效),第九列暂时保留未使用。

3. 组账户信息文件

组账户信息被保存在 /etc/group 文件中,通过命令 cat /etc/group 查看文件内容如下:

[root@192 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:

……中间部分省略……

postdrop:x:90:
postfix:x:89:
chrony:x:996:
tss:x:59:
mysql:x:27:

文件以冒号为分隔符,第一列为组账户名称,第二列为密码占位符,第三列为GID,第四列为组成员信息(注意,这里仅显示基本成员,附加成员不显示)。

4. 组账户密码文件

组账户密码信息被保存在 /etc/gshadow 文件中,通过命令 cat /etc/gshadow 查看内容如下:

[root@192 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::

……中间部分省略……

postdrop:!::
postfix:!::
chrony:!::
tss:!::
mysql:!::

文件以冒号为分隔符,第一列为组账号名称,第二列为组密码(一般为组管理员密码),第三列为组管理员,第四列为组成员(与/etc/group第四列相同)。

通过<gpasswd 组名>的方式可以为组设置密码,通过<gpasswd -A 账户名称 组账户名称>可以为组添加管理员。

gpasswd admin      # 设置组密码

gpasswd -A mail admin     # 将mail账户设置为组admin的管理员

参考自,丁明一    编著    《Linux运维之道》

账户(/etc/passwd、/etc/shadow)与组(/etc/group、/etc/gshadow)文件解析的更多相关文章

  1. 【Linux命令】id,usermod用户管理命令(包括/etc/passwd、shadow、group、gshadow文件)

    一.id命令 可以用来查看用户的UID.GID和附加组信息 id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅显示实际ID.若仅指定用户名称,则显示目前用户的ID. 1.格式 id [O ...

  2. ref:linux用户和组管理,/etc/passwd,/etc/shadow和/etc/group 文件内容解释

    ref:https://www.cnblogs.com/xuha0/p/5519232.html 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shad ...

  3. 文件/etc/passwd,/etc/shadow,/etc/group

    文件/etc/passwd /etc/shadow /etc/group 计算资源的使用(并不是所有的人都可以用这台计算机的) 权限:访问资源的的能力. 用户:获取资源或者权限的凭证. 用户的容器:关 ...

  4. 关于Ubuntu中passwd、shadow、group等文件

    在Ubuntu系统中,/etc目录下,有三个文件:passwd shadow group,可能我们已经在用了,但是没有注意到其详细. 这三个配置文件用于系统帐号管理,都是文本文件,可用vi等文本编辑器 ...

  5. 【转载】/etc/passwd & /etc/shadow 详解

    转载自:http://blog.csdn.net/snlying/article/details/6130468 1,passwd文件passwd文件存放在/etc目录下.这个文件存放着所有用户帐号的 ...

  6. 用户和用户组管理——passwd、shadow、group、gshadow

    在Linux操作系统中,任何一个文件都归属于某一个特定的用户,而任何一个用户都归属于至少一个用户组. 1.用账号文件——passwd 该文件在/etc/passwd 目录下,是保证系统安全的关键文件. ...

  7. Linux下关于用户账户的几个文件解析

    Linux下关于用户账户的几个文件解析 Linux是一个多用户系统,但是对于一个多用户共存的系统中,当然不能够出现用户相互越权等一系列的安全问题,所以如何正确的管理账户成为了Linux系统中至关重要的 ...

  8. linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限

    命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用  -h   格式   命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...

  9. Kafka消费组(consumer group)

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

随机推荐

  1. cube-ui按钮配合toast单例模式应用

    <template> <div> <cube-button icon="cubeic-right" @click="goNext" ...

  2. sql简单存储过程分享

    很多程序员朋友都视sql为洪湖水猛兽,其实深入分析一下,多用些时间与耐心,sql还是可以理解的. 本文主要是针对刚刚接触sql的新手朋友,进行一个sql存储过程的简单分享. 小子第一次发布文章,也是借 ...

  3. MySQL5.7的sql脚本导入到MySQL5.5出错解决

    今晚有人让我将他的数据库导入到我的mysql里,执行导入后发现有报错 想了下可能是版本的问题,询问了下,他的数据库是5.7而我的是5.5 他给我提议升级mysql版本,但是我就是不想换版本 那怎么在不 ...

  4. AspNetCore 2.2 新特性---HealthCheck

    网站部署上线后, 总是担心网站是否工作正常, 内存压力是否很大, CPU是否超负荷了?当然, 我们有一大套系统, perfromance counter, 监控软件来监视运维生产系统.但是这些第三方软 ...

  5. mysql笔记7--一句查询语句的过程

    1 sql语句示例 select *from A where id=1 2 mysql基本架构图 (1)Mysql分为Server层和引擎层两个部分 (2)Server层包括连接器,查询缓存,分析器, ...

  6. 服务器端debug操作

    写好的代码打个包放在服务器上,发现与理想的情况下不一致.查看log日志又觉得很烦,毕竟debug调试才是王道. 下面来说说怎么debug调试服务器上的.最好服务器上的代码和本地的保存一致,这样误差会小 ...

  7. Java数组操作类

    最近又重新在看慕课网的数据结构,然后把示例代码整理一下. public class Array<E> { private E[] data; private int count = 0; ...

  8. C++ 智能指针 shared_ptr 分析

    引文: C++对指针的管理提供了两种解决问题的思路: 1.不允许多个对象管理一个指针 2.允许多个对象管理一个指针,但仅当管理这个指针的最后一个对象析构时才调用delete ps:这两种思路的共同点就 ...

  9. ALV报表——发送Excel报表邮件

    ABAP发送报表邮件 运行效果: 代码: *&---------------------------------------------------------------------* *& ...

  10. lsb_release -a linux查看版本未找到命令

    解决方案 yum install -y redhat-lsb 安装完后