目录
1、useradd 添加用户账号
一、管理用户账号和组账号
1、Linux基于用户身份对资源访问进行控制
用户账号
- 超级用户、普通用户、程序用户
组账号
- 基本组(私有组),附加组(公共组)
UID和GID
- UID(User IDentity,用户标识号)、GID(Group IDentify,组标识号)
2、用户账号的分类
- 超级用户:拥有最高权限,root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
- 普通用户:权限受限的用户,账号需要由root用户或其他管理员用户创建,拥有的权限会受到限制,处理问题收到限制,一般只在用户自己的宿主目录中拥有完整权限。
- 程序用户:是给程序用的,在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。
3、组账号的分类
- 基本组(私有组):基本组账号必须有,有且只有一个,一般为创建用户时指定的组。
- 附加组(公共组):用户除了基本组以外,额外添加指定的组。附加组可以有多个,也可以没有,附加组在 /etc/group 文件中指定。
4、标识号分类
- UID(User IDentity ,用户标识号)
Linux中每个用户是通过UID来唯一标识的 1-60000自动分配
超级用户UID 0
普通用户UID CentOs6以前 500+ CentOs7以后 1000-60000
程序用户UID CentOs6以前 1-499 CentOs7以后 1-999 预留给系统
在/etc/passwd文件中第4段记录的即为该用户的基本组GID号。
-
GID(Group IDentifi,组标识号)
与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID(Group IDentity,组标识号)。root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
二、用户账号文件
1、 /etc/passwd 存放用户信息
- 保存用户名称、宿主目录、登录Shell等基本信息
- 文件位置: /etc/passwd
- 每一行对应一个用户的帐号记录
- 字段1:用户帐号
- 字段2:密码占位符“x”
- 字段3:用户账号id
- 字段4:组id
- 字段5:用户说明
- 字段6:宿主目录
- 字段7:登录Shell信息( /bin/bash是可登陆系统,/sbin/nologin是禁止用户登陆系统)
2、 /etc/shadow 保存密码信息
- 保存用户的密码、账号有效期等信息
- 文件位置: /etc/shadow
- 每一行对应一个用户的密码记录
- 第一字段:用户名lisi。
- 第二字段:$6$bNVu9kS...wTuZzgJI.是加密后的密码,此时可以登录此系统;当为!!和 * 表示没有密码用户不能登录到此系统;若该字段为空,用了代码 passwd -d lisi清空了密码,表示无需密码即可登录。
- 第三字段:上次修改密码时间,最后一次修改密码的时间(1970 年 01 月 01 日这是linux诞生的第一年已他作为元年开始计算)。
- 第四字段:从最后一次修改密码的日期起,多长时间之内不能修改密码,0表示不限制,可以随时修改密码;如果是4,则代表密码修改后4天之内不能再次修改密码。
- 第五字段:密码有限期,99999表示不限期限;如果改为 90,则表示密码被修改 90 天之后必须再次修改。
- 第六字段:密码到期提醒,7表示密码将要过期的前7天会提醒你 ,请修改密码。
- 第七字段:密码过期后的宽限天数 (密码过期后多少天禁用此用户),如果写7,表示密码到期后还能再使用七天;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。
- 第八字段:账号失效时间,如果写的是19275(根据例子),代表明天失效,如果失效,那么用户将锁定,无法登录。
- 第九字段:保留字段收费内容。
三、用户账号管理
1、useradd 添加用户账号
格式:useradd [选项] 用户名
对新建的用户设置,对已有用户无法设置
选项 | 作用 |
---|---|
-u | 指定用户的UID号,要求该UID号码未被其他用户使用 |
-d | 指定用户的宿主目录位置(当与-M一起使用时,不生效)只能用绝对路径指定目录,且不需要事先创建目录 |
-e | 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式 |
-g | 指定用户的基本组名(或使用GID号) |
-r | 生成随机的系统用户 |
-c | 提供备注信息 |
-G | 指定用户的附加组名(或使用GID号) |
-M | 不建立宿主目录,即使/etc/login.defs系统配置中已经设定要建立宿主目录 |
-s | 指定用户的登录Shell |
实例:
-u 指定用户的UID号,此时也会创建和UID号相同的基本组
-u 指定用户的UID号,-d 指定用户宿主目录