一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。
一、Linux用户身份介绍
1.1 Linux用户介绍
Linux下的用户分为三类:超级用户、系统用户和普通用户。每个用户都有一个数值,称为UID。
名称 | UID | 权限 | 功能 |
---|---|---|---|
超级用户(root) | 0 | 具有一切权限 | 管理系统的各项功能,如添加/删除用户,启动/关闭服务进程,开启/禁用硬件设备 |
系统用户 | 1~999 | 为了满足相应的系统进程对文件属主的要求而建立的(系统用户不能用来登录) | Linux系统正常工作所必需的内建的用户,如:bin、deamon、adm等 |
普通用户 | 从1000开始 | 由管理员赋予的一般权限 | 由管理员创建的用于日常工作的用户 |
1.2 Linux用户相关的文件
- 用户账号信息保存在passwd文件中:/etc/passwd
- 用户的加密口令保存在shadow文件中:/etc/shadow
- 用户的宿主目录是home目录中与用户名称相同的目录:/home/username
- 用户的初始配置文件保存在skle目录(配置模板):/etc/skel
1.3 passwd 文件的介绍
/etc/passwd 文件每一行都表示的是一个用户的信息,一行有7个字段,每个字段用:分割。
root:x:0:0:root:/root:/bin/bash
上面的信息分别对应
账号名称: | 密码: | UID: | GID: | 个人资料: | 主目录 |
---|
- 第一字段:用户名(也被称为登录名)
- 第二字段:口令;在以上看到的是一个x,但实际上密码已被映射到/etc/shadow文件中
- 第三字段:UID;用户ID
- 第四字段:GID;用户组的ID
- 第五字段:用户名全称;可选
- 第六字段:用户的家目录所在位置;root这个用户的家目录是/root
- 第七字段:用户所有的Shell类型,root用的是bash,所以设置为/bin/bash
1.4 shadow文件介绍
在/etc/passwd文件中,有一个字段是用来存放经过加密的密码。先看看passwd文件的权限
可以看到任何用户对它都有读的权限。为了保证系统的正常运行和安全,Linux系统对密码提供了更多一层的保护,即把加密后的密码重定向到另一个文件/etc/shadow文件中
1.4.1 shadow文件介绍之root
Shadow文件一共有9个字段来表示跟密码有关部分,每个字段用:来分割,即:
用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志字段说明
1.4.2 shadow文件介绍之bin
- 用户名:和/etc/passwd文件中相对应的用户名。
- 密码:存放加密后的口令(密码)。密码字段为“*”表示用户被禁止登录,为“!!”表示密码未设置,为“!”表示用户被锁定。
- 最后一次修改时间:用户最后一次修改口令的时间(从1970-1-1起计算)。
- 最小时间间隔:两次修改口令允许的最小天数。
- 最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令。
- 警告时间:从系统提前警告到口令正式失效的天数。
- 不活动时间:口令国旗多少天后,该账号被禁用。
- 失效时间:指示口令失效得到绝对天数(从1970-1-1起计算)。
- 标志:未使用。
1.5 group文件介绍
Linux系统关于组的信息存放在文件/etc/group中。
Linux的组有私有组、系统组、标准组之分。
- 私有组:建立账户是,若没有指定账户所属的组,系统会建立一个组名和用户名相同的组,这个组就是私有组,只容纳了一个用户。
- 标准组:可以容纳多个用户,组中的用户具有组所拥有的权利。
- 系统组:Linux系统正常运行所必需的,安装Linux系统或添加新的软件包会自动建立系统组。
1.5.1 group文件详解
组名:组的密码:GID:组成员
(组的密码:设置加入组的密码:一般情况下不使用组密码,该字段通常没用)