本文档主要介绍用户及组管理类相关概念,并提供相应案例解释其含义。
学习这些基础命令是一个Linux爱好者需要具备的首要条件,让小编带领你们进入Linux的世界看看它的一颦一笑。
读者对象
本文档(本指南)主要适用于以下人员:
Linux爱好者
项目 | 配置 |
硬件型号 | Tinkpad T440P |
CPU | I5-4210 |
内存 | 4G |
操作系统 | Windows 8.1 |
虚拟系统 | Vmware workstation 11 |
CPU | 1Core |
内存 | 1G |
操作系统 | Centos 7.1 |
针对一个系统其用户及用户组都是一个最基本的概念其主要目的是为了保证系统服务的分配及管理。
Centos上的用户及用户组都遵循3A机制,包括A:Authencattion 认证拥有合法机制、A:Authorzation 授权、A:Accounting审计。其认真机制展现为username/password的组合。
每个用户都有它自己的身份标识符linux叫它UID范围为0~65535,linux将用户分为两大类管理员UID=0,普通用户UID=1-65536;而linux又将普通用户分为两类:
系统用户:不会用来登录系统的用户(Centos 6 UID=1-499;Centos 7 UID1-999)
登录用户:用于登陆用户的用户(Centos 6 UID=1-499;Centos 7 UID1-999)
每个用户组都有它自己的身份标识符linux叫它GID范围为0~65535,linux用户组分类有两种分发:
第一类:
1. 管理员组:具有管理员权限的组,如:root GID=0
2. 普通组:提供其他服务的功能组,可以容纳多个用户,组中的用户都具有所有组所拥有权利GID=1-65535
普通组又分系统组和登陆组;
系统组:GID centos 6 1-499 /centos 7 1-999 为linux系统自建的组
登陆组:GID centos 6 500+/centos 7 1000+ 可以容纳多个用户用于登陆系统。
3. 私有组:直供某个特定用户独立的组,只能容纳一个用户。当用户创建时如未指定所属组则默认会建立以用户名命名的组。
第二类
1. 基本组:用户所属的第一个组基本组在/etc/passwd文件中指定;
2. 附加组:除基本组以外的组在/etc/group文件中指定。
上文提过为了区分用户及组的不同Linux分别用户UID及GID标示用户及组,而Linux具有一切皆文件特性,也就是说UID和GID会存储到文件当中,我们叫这些文件叫做用户或组的配置文件。
用户和组的配置文件共分几个路径:
/etc/passwd: 用来保存用户名、UID、基本组等信息
/etc/passwd [root@localhost ~]# cat /etc/passwd //查看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 yuqian:x:1000:1000:yuqian:/home/yuqian:/bin/bash |
输出以六个“:” 分割成7列,而每一列有代表什么内容呢?
Username:password:UID:GID:comment:home directory:shell
1. username:用户登陆时使用它
2. password:该账号的口令这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用或没有设置密码。
3. UID:用来标识用户
4. GID:用来标识用户组
5. Comment 这是给账号做的注释
6. Home directory 用户主目录,一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。
7. Login command用户登陆执行命令
8. Login command 用户登录后执行的命令
使用cat命令查看可发现每一行都代表一个账号,如果要查询有多少行用户使用命令如下: [root@localhost ~]# cat /etc/passwd |wc –l //使用查看有多少行户 41 |
/etc/group: 用来保存组名、GID、组内包含的用户
使用cat命令查看 [root@localhost ~]# cat /etc/group root:x:0: bin:x:1: yuqian:x:1000:yuqian gentoo:x:1001: ubuntu:x:1002: yuqian1:x:1003: |
输出以三个“:” 分割成4列,而每一列有代表什么内容呢?
Groupname:password:GID:组内包含用户
1. grouprname:组名由字母和数字组成和/etc/passwd中的username一样,祖名不能重复。
2. password:用户组密码
3. GID:组标识号
4. 组内包含用户:显示这个组内的所用用户。
/etc/shadow :用来保存用户的密码及相关属性
使用cat命令查看 [root@localhost ~]# cat /etc/shadow root:$6$jLo8ZnY1YB6YhTmL$MNyOs.CGJ8cHwNnx5JZXTIupRMmGlkNhum6F.ahvNftt9nfxZ5F3homBhAEL.kN8XddlwJg.e1tNdsmXBAxAB0:16667:0:99999:7::: bin:*:16372:0:99999:7::: yuqian:$6$lCedzr5UEMcl5tKv$SnZ8htoRbQvD9Ci.hZMyrWD4xCBqUFzaO.lWH4alvp1mBk58qu6NCSAZmTfx6HLClP8QeSGN7iIW7coBbo/aJ.:16667:0:99999:7::: gentoo:!!:16672:0:99999:7::: |
输出以八个“:” 分割成9列,而每一列有代表什么内容呢?
login name :encrypted password :date of last password change:minimum password age:maximum password age :password warning period:password inactivity period:账户过期日期:保留字段
1. login name :登录名
2. 密码:登陆密码
3. 最后一次更改密码的日期:这个日期是以unix元年 1970 年1月1号作为1也就是说1971年1月1日就是365天。
4. 密码不可被更动的天数:如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码
5. 密码重新变更的天数:你必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。
6. 密码需要变更期限前的警告期限:系统会依据这个栏位的设定,发出‘警告’言论给这个帐号,提醒他‘再过 n 天你的密码就要失效了,请尽快重新设定你的密码
7. 密码过期的恕限时间:如果用户过了警告期限没有重新输入密码, 使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’ 那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~ 意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。 而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!
8. 帐号失效日期:这个日期跟第三个栏位一样,都是使用 1970 年以来的总日数设定。这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用啦!
9. 保留:最后一个栏位是保留的,看以后有没有新功能加入。
/etc/gshadow :组的密码及相关属性
cat /etc/gshadown [root@localhost ~]# cat /etc/gshadow root::: bin::: daemon::: yuqian:!!::yuqian |
输出以3个“:” 分割成4列,而每一列有代表什么内容呢?
1. 用户组
2. 用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;
3. 用户组管理者,这个字段也可为空,如果有多个用户组管理者,用,号分割;
4. 组成员,如果有多个成员,用,号分割;
原文地址:http://yuqian0425.blog.51cto.com/2948738/1689476