关于作者,目前在拉勾网任职运维开发部的负责人,长期从事运维开发工作,有多年的运维技能培训能力,培训了多批运维同学,至今大致有300人左右;
发现一问题,好多内容好多年都在重复得讲,没有一个产物直接输出给大家。计划利用空闲时间将多年的知识(分享的内容,包括技能,心得,管理和爱好)沉淀到我的公众号: 北漂悟道之路
感兴趣的同学可以关注一下我的公众号。
技能:擅长python开发,django框架开发,Kubernetes架构、运维开发架构,Linux运维,Hadoop运维和流行监控;了解golang开发和C++开发。
爱好:美食,自驾和旅游
希望了解作者的同学可以加我微信号:XiaoJiaQingShi
RH124系列课程的目标:
1、获得 Redhat 或者 centos 上执行核心系统管理任务所需的足够技能。
2、掌握 RHCSA 认证红帽企业 Linux 系统管理员所需的基本技能。
本章的目标:管理本地 Linux 用户和组,以及本地密码策略。
解释 Linux 系统上用户和组的角色,以及计算机理解它们的方式。
以超级用户运行命令,以管理 Linux 系统。
创建、修改、锁定和删除本地定义的用户帐户。
创建、修改和删除本地定义的组帐户。
手动锁定帐户,或者通过定义在阴影密码文件中设置密码过期策略来锁定。
用户和组
什么是用户
系统中的每个进程(运行程序)都作为一个特定用户运行。每个文件归一个特定用户所有。对文件和目录的访问受到用户的限制。与运行进程相关联的用户可确定该进程可访问的文件和目录。
若要查看与某一文件或目录相关联的用户,则使用ls -l 命令。第三列显示用户名:
要查看进程信息,可使用 ps 命令。默认为仅显示当前 shell 中的进程。添加 a 选项可查看某一终端相关的所有进程。若要查看与进程相关联的用户。请在命令中包含 u 选项,第一列显示用户名:
以上命令的输出按名称显示用户,但操作系统内部是按 UID 号来跟踪用户的,名称到编号的映射在帐号信息数据库中定义。默认情况下,系统使用简单的“平面文件”(即/etc/passwd文件)存储有关本地用户的信息。/etc/passwd 采用以下格式(七个冒号分隔字段):
username:password:UID:GID:GECOS:/home/dir:shell
username 是 UID 到名称的一种映射,便于用户使用。
password 以前是以加密格式保存密码的位置。现在,密码存储在称为 /etc/shadow 的单独文件中。
UID 是用户 ID,即在最基本的级别标识用户的编号。
GID 是用户的主要组 ID 编号。稍后讨论组。
GECOS 字段是任意文本,通常包含用户的实际姓名。
/home/dir 是用户的个人数据和配置文件的位置。
shell 是用户登录时运行的程序。对于普通用户,这通常是提供用户命令行提示符的程序。
什么是组?
与用户一样,组也是名称和编号(GID)。本地组在/etc/group中定义。
主要组
- 每个用户只有一个 主要组。
- 对于本地用户,主要组通过/etc/passwd 第四个字段中的列出的组的 GID 编号定义。
- 通常,新建用户的主要组是名称与用户相同的新建组。用户是此 用户专用组(UPG)的唯一成员。
补充组
- 用户可以是零个或多个补充组的成员。
- 属于本地组补充成员的用户列在 /etc/group 中组条目的最后一个字段中。对于本地组,成员身份由/etc/group 中组条目的最后一个字段中的逗号分隔用户列表确定:
groupname:password:GID:list,of,users,in,this,group
-补充组成员身份用于帮助确保用户具有对系统中文件及其资源的访问权限。
获取超级用户访问权限
root 用户
大多数操作系统都有某舟 超级用户,这是拥有系统所有权限的用户。在 Red Hat Enterprise Linux 中,该用户就是root 用户。该用户的特权高于文件系统上一般特权,用于管理系统。要执行注入诸如安装或删除软件以及管理系统和目录等任务,必须将特权升级到 root 用户。
大多数设备都仅受 root 控制,但也有些设备并非如此。例如,像 USB 设备等可移动的设备就可由一般用户控制。虽然 root 用户可以添加和删除文件以及管理可移动的设备,但默认情况下只有 root 用户可以管理“固定”硬盘。
尽管如此,这种无限制特权也带来了职责问题。root 用户拥有可破坏系统的无限制权限:删除文件和目录、删除用户帐号、添加后门等。如果 root 帐号泄露,则其他人就可能拥有系统的管理控制权限。
建议管理员以正常用户身份登录,仅在需要升级时到 root 权限。
利用 su 切换用户
su 命令可让用户切换至另一个用户帐号。如果未指定用户名,则意味着使用root 帐号、当作为普通用户调用时,系统将提示输入要切到的帐号的密码,当作为 root 用户调用时,则无需输入帐号密码。
命令 su username 启动 非登录 shell ,而命令 su - username 启动 登录 shell 。主要区别是,su - 会将 shell 环境设置为如同以该用户身份完全登录一样,而 su 仅以该用户身份使用前的环境设置启动 shell 。
通过sudo 以 root 身份运行命令
sudo 命令可以使用根据 /etc/sudoers 文件中的设置,而被允许以 root 或其他用户身份运行命令。
使用sudo的另一个优点在于,通过 sudo 执行的所有命令都默认将日志记录到/var/log/secure中。
管理本地用户帐户
useradd创建用户
usermod 修改现有的用户
passwd 设置密码
- passwd username 可用于设置用户的初始密码,或更改该用户的密码。
- root 用户可以将密码设置为任何值。如果密码不符合最低建议标准,系统将显示消息,不过,之后会显示提示要求重新键入该新密码,所有令牌也会成功更新。
UID 范围
特定的 UID 编号和编号范围供红帽企业Linux用于特殊的目的。
- UID 0 始终分配至超级用户帐户 root。
- UID 1-200 是一系列“系统用户”,静态分配给红帽的系统进程。
- UID 201-999 是一系列“系统用户”,供文件系统中没有自己的文件的系统进程使用。
- UID 1000+ 是可供分配给普通用户的范围。
管理本地组帐户
groupadd 创建组
groupmod 修改现有的组
groupdel 删除组
usermod 变更组成员资格
注:《RSCHA认证第六讲管理用户密码》
有疑问加站长微信联系(非本文作者)