用户管理的2个重要文件:/etc/passwd和/etc/shadow.

/etc/passwd文件里存放的是用户的信息,其中不包含密码:passwd文件中每一行代表一个用户,且每一行分为7个字段使用“:”符合隔开。

使用cat命令可以查看passwd文件的内容

以第一行:root:x:0:0:root:/root:/bin/bashw为例

7个字段分别代表的含意:

1.         账号名称,用来对应UID。

2.         密码:使用X代替,真正的密码是放在/etc/shadow的文件中的。

3.         UID就是用户标识符。

UID的限制如下:

Id范围

说明

0

UID为0的就是系统管理员。所以说系统管理员可以有多个,但不建议存在多个系统管理员。

1~499

系统账号,保留给系统使用的账号ID。请不要跟我们创建的普通用户混淆,系统账号的作用是:在系统上启动一些服务使用。系统账号代替了root超级权限账号,也就是说系统账号权限很小,只是维持一些服务启动的权限。

系统账号有分为2中:

1~99:由distributions创建的账号。

100~499:在我们自己使用中需要系统账号的UID。

500~42949627295(2的32次方减去1)

给一般用户使用的UID。

4.         GID使用对应用户组的ID,对应的文件是/etc/group只是用了确定是那个用户组。

5.         用户信息说明列,用处不大,只是说明作用。

6.         主文件夹,用户的主文件夹,用户登陆后首先到达的文件夹位置。Root默认/root,其它普通用户都在/home/username文件夹下。

7.         Shell,用户登陆后取得的一个shell文件与系统内核通信,执行用户的操作。也可以使用/sbin/nologin代替是用户无法取得shell文件,主要用来制作pop邮箱。

/etc/shadow文件:存放的是用户的密码信息,密码是加密的。共9个字段。

以root用户为例:

root:$6$V/e4l9oBq1AXY7i1$eVO6wW2lVlRlb3atoGFfDoJD/a2PFFmoZSFsWEOq87xOeOpKLEA28m.PjDct4ylkDrpy/u0dxiKKJhLHnvQNJ.:17309:0:99999:7:::

1.         账号名称

2.         密码,密码是经过加密的。

3.         最近改动密码的日期。日期为数字,计算方式为从1970年1月1日开始1代表1天的意思。

4.         密码不可以被改动的天数。

5.         密码需要更新的天数。

6.         密码需要更新前的提示天数。

7.         密码过期后的宽限时间。

8.         账号的失效日期。

9.         保留字。

用户组相关的2个重要文件:/etc/group,/etc/gshadow

查看/etc/group

4个字段:

1.         用户组的名字。

2.         用户组的密码。通常是不设置的。因为真的密码在/etc/gshadow文件中所以都是“X”。

3.         GID,用户组的ID。

4.         用户组内包含的用户,使用,隔开。

讨论下有效用户组(effective group)和(initial group)初始用户组

什么是有效用户组那,其实就是,我们创建用户时指定的用户组或系统给默认的用户组,在/etc/passwd中查看也就是第四个字段里的GID对应的用户组。被称为有效用户组。

什么是初始用户组,就是在我们登陆的时候,linux系统去查看我们的/etc/passwd文件中的第四字段GID,并获取改GID拥有的权限。被称为初始用户组。

其他用户组,因为一个用户可能有多个用户组,剩下的也就是其他用户组了。

查看当前用户都存在哪些用户组的命令:groups

Guoyanan账号的有效用户组为guoyanan,其他为root。

用户组密码/etc/gshadow文件内容:

共4个字段:

1.         用户组名。

2.         密码列,如果开头是!表示密码失效。

3.         用户组管理员的账号。

4.         该用户组所属账号。

什么是用户组管理员:当账号过多的情况,root忙不过来,给一个用户组指定一个管理账号。让这个账号管理自己用户组下面的用户。

最新文章

  1. synchronized使用说明
  2. php地址赋值值和传值赋值
  3. Oracle优化总结
  4. devenv.exe - Assert Failure visual studio 2010
  5. SharePoint 2010 部署 WSP 包
  6. 更加直观地了解hasLayout和BFC
  7. bootstrap弹出框居中
  8. PC端QQ协议解析之0825
  9. 最简单的内核模块hello world
  10. C# 几十万级数据导出Excel,及Excel各种操作
  11. Linux网络设备驱动架构
  12. Ring0 - 链表
  13. Kafka高性能吞吐关键技术分析
  14. Booting dircetly into Redlink FW from flash
  15. Hbase 学习(六) 配置文件调优
  16. git恢复本地删除的文件夹取消增加的文件
  17. WPF集合
  18. Java中的IO流(三)
  19. Spring 整合Mybatis dao原始方法
  20. 【SCOI2010】维护序列

热门文章

  1. Java IO 常用类简介
  2. 下载并导出数据到execl中
  3. CentOS VSCode调试go语言出现:exec: "gcc": executable file not found in PATH
  4. windows svchost.exe 引起的出现的莫名其妙的窗口失去焦点
  5. iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package
  6. SVM支持向量机
  7. CentOS升级Python2.6到Python2.7
  8. (比赛)B - Super Mobile Charger
  9. xCode9 一直Indexing
  10. How to avoid Over-fitting using Regularization?