• /etc/passwd 管理用户信息的系统文件
  • /etc/shadow 管理用户密码信息的系统文件
  • /etc/group 管理用户组信息的系统文件

1./etc/group

将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。

每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。

文件内容 内容解释 举栗

cat /etc/group

  • root:x:0:
  • daemon:x:1:
  • bin:x:2:
  • sys:x:3:
  • adm:x:4:roaddb

组名:口令:组标识号:组内用户列表

组名:组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复

口令:(即密码段)口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

组标识号(GID):组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。

组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

以root:x:0:aa为例:

用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括aa以及GID为0的其它用户。

2./etc/passwd

文件内容 内容解释

cat /etc/passwd

  • root:x:0:0:root:/root:/bin/bash
  • daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  • bin:x:2:2:bin:/bin:/usr/sbin/nologin
  • sys:x:3:3:sys:/dev:/usr/sbin/nologin
  • sync:x:4:65534:sync:/bin:/bin/sync
  • games:x:5:60:games:/usr/games:/usr/sbin/nologin
  • man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
  • lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
  • mail:x:8:8:mail:/var/mail:/usr/sbin/nologin

 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

用户名:通常长度不超过8个字符,由大小写字母数字组成。登录名中不能有冒号(:)、点字符(.),并且不使用连字符(-)和加号(+)打头。

口令:加密的密码,一般只存放一个特殊的字符,例如“x”或者“*”。

用户标识号(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的,如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。UID的取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

组标识号(GID):记录用户所属的用户组。它对应着/etc/group文件中的一条记录。

注释性描述(users):存放的是一段任意的注释性描述文字,用做finger命令的输出。

主目录(home_directory):用户的起始工作目录,它是用户在登录到系统之后所处的目录。

登录Shell(Shell):用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell), csh(CShell), ksh(KornShell), tcsh(TENEX/TOPS-20typeCShell), bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

3./etc/shadow

shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和操作,权限如下:

-r-------- 1 root root 1.5K 10月 16 09:49 /etc/shadow

文件内容 内容解释

sudo cat /etc/shadow

  • root:*:18057:0:99999:7:::
  • daemon:*:18057:0:99999:7:::
  • bin:*:18057:0:99999:7:::
  • sys:*:18057:0:99999:7:::
  • sync:*:18057:0:99999:7:::
  • games:*:18057:0:99999:7:::

/etc/shadow 文件的内容包括9个字段

用户名:密码:上次修改密码的时间:两次修改口令间隔最少的天数:两次修改口令间隔最多的天数:提前多少天警告用户口令将过期:在口令过期之后多少天禁用此用户:用户过期日期:保留字段

用户名:在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;

密码(已被加密):如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;

上次修改口令的时间:这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;

两次修改口令间隔最少的天数:如果设置为0,则禁用此功能,也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;

两次修改口令间隔最多的天数:这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;

提前多少天警告用户口令将过期:当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;

在口令过期之后多少天禁用此用户:此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;

用户过期日期:此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

保留字段:目前为空,以备将来Linux发展之用;

最新文章

  1. 模仿Linux内核kfifo实现的循环缓存
  2. ASP.NET MVC 从零开始 - 请求处理
  3. Java入门记(三):初始化顺序
  4. 进程间通信方式与Binder机制原理
  5. tomcat启动闪退
  6. phpexcel 内存溢出 优化
  7. Java学习-025-类名或方法名应用之一 -- 调试源码
  8. Linux中的两种守护进程stand alone和xinetd
  9. CDN 内容分发网络技术
  10. Bone.io是一个轻量级的框架构建高性能实时单页HTML5应用程序
  11. laravel--belongsTo关联
  12. PHP自动执行程序
  13. day01-day04总结- Python 数据类型及其用法
  14. 【框架学习与探究之依赖注入--Autofac】
  15. 【译】索引进阶(十三):SQL SERVER中的索引碎片【下篇】
  16. 通用类 对象Excel互转
  17. Spring之BeanFactory和FactoryBean接口的区别
  18. html中radio单选和文本框限制只能输入数字的解决方案
  19. LeetCode题解之 Intersection of Two Arrays
  20. 多进程—进程同步控制,IPC

热门文章

  1. 回归(regression)与分类(classification)的区别
  2. java 实现简单的单点登录
  3. .NET6系列:微软正式宣布Visual Studio 2022
  4. webpack(2)--webapck自身的配置
  5. 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具
  6. python实战项目练习-Django商城项目之注册功能实现
  7. js 字典与Map对象
  8. C# MVC(File)控件多张图片上传加预览
  9. 面阿里P7,竟问这么简单的题目?
  10. GPU上的图像和信号处理