目录
管理用户账号
用户账号概述
用户账号的分类
超级用户:root 用户是 Linux 操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限
程序用户:安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,不允许登录到系统,仅维持系统或某个程序的正常运行,如bin、daemon等
用户标识UID(用户标识号)
root用户账号的UID固定值0
程序用户账号的UID默认为Centos5,6: 1~499,Centos7:1~999
普通用户的UID默认为Centos5, 6: 500~ 65535,Centos7:1000~60000
用户账号文件/etc/passwd
作用:保存用户名称、宿主目录、登录Shell等基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
root:x:0:0:root:/root:/bin/bash
- 字段1:用户帐号的名称
- 字段2:用户密码占位符“x”
- 字段3:用户帐号的UID号
- 字段4:所属基本组帐号的GID号
- 字段5:用户说名
- 字段6:宿主目录
- 字段7:登录Shell信息
用户账号文件/etc/shadow
作用:保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
默认只有root用户能够读取shadow文件在的内容,且不允许直接编译该文件的内容
第一字段:用户名root
第二字段:加密的密码字串信息,当为*或!!时表示用户不能登录到此系统,若该字段为空,则表示无需密码即可登录
第三字段:上次修改密码时间
1970年01月01日这是linux诞生的第一年已他作为元年开始计算
date -d "1970-01-01 19031 days"
第四字段:最小修改密码间隔时间,今天下一次间隔天数,才能修改,频紧修改,也就是说,该字段规定了从第3字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是0,则密码可以随时修改;如果是10,则代表密码修改后10天之内不能再次修改密码。此字段是为了针对某些人频繁更改账户密码而设计的安全性考虑
第五字段:密码有效期
经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第3字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默认值为99999,也就是273年,可认为是永久生效。如果改为90,则表示密码被修改90天之后必须再次修改,否则该用户即将过期.管理服务器时,通过这个字段强制用户定期修改密码。
第六字段:密码到期提醒(提示密码即将过期时间)7密码将要过期的前7天会提醒你与第5字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户”再过n天你的密码就要过期了,请尽快重新设置你的密码该字段的默认值是7,也就是说,距离密码有效期的第7天开始,每次登录系统都会向该账户发出”修改密码”的警告信息。
第七字段:密码过期后的宽限天数(密码过期后多少天禁用此用户)90这个
也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是10,则代表密码过期10天后失效;如果是0,则代表密码过期后立即失效;如果是-1,则代表密码永远不会失效。
第八字段:账号失效时间
同第3个字段一样,使用自1970年1月1日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在具有收费服务的系统中。账号无法登录生命值
第九字段:保留字段收费内容
用户账户管理
添加用户-useradd
格式:useradd [选项] 用户名
添加用户:查看是否在passwd和shadow文件中生成信息
1.在/etc/passwd文件和/etc/shadow文件的未尾增加该用户账号的记录
2.若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。
3.若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/shadow文件中。
常用选项
-u | 指定用户的UID号,要求该UID号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效) |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组名(或使用GID号),对应的组名必须已存在 |
-G | 指定用户的附加组名(或使用GID号),对应的组名必须已存在 |
-M | 不建立宿主目录。(一般用于系统用户账号) |
-s | 指定用户的登录Shell |
示例
[root@localhost ~]# useradd yang ##添加名为yang的用户
[root@localhost ~]# tail -1 /etc/passwd
yang:x:1001:1001::/home/yang:/bin/bash ##显示/etc/passwd 末尾一行,看有没有添加成功
[root@localhost ~]# tail -1 /etc/sh