关注我们,获取更多干货内容!
炎炎夏日,是否想清凉一下?

消夏的方式除了冷饮、西瓜,还有学习!

作为一名传递资讯和知识的小达人,学院君能送给学员朋友们的就是各类干货课程,让大家在炎炎夏日可以安心学习,给职场生活加点“料”!
今天,我们麒麟软件OS课堂将带来全新的主题内容——linux上的用户账号管理,请开始学习吧!

在Linux 上的账号可以分成两类:
用户:用户也叫做账号,是用来登陆计算机系统的凭证,是一种用来记录单个用户或是多个用户的数据,类似入场券的道理。需要使用计算机的用户必须获得对应登陆计算机的账号、密码才可以进入计算机。同时在创建用户账号的时候,通常会给用户赋予对应的权限,比如备份权限、用户管理权限、文件管理权限等等。通过权限的合理分配可以让工作更加合理、高效、安全。
组账号:用来储存多个用户的信息,每一个群组账号可以用来记录一组用户的数据,也代表一组账号的权限,当希望对多个用户赋予相同权限的时候,只需要创建一个组账号,将多个用户账户加入该组,然后在给该组账号赋予权限就可以了,组内用户就继承了该组的权限。
我们可以把 Linux 的所有账号依照账号的位置和功能两种方法进行分类。
1、依照账号存储的位置分类
账号数据存放在不同的地方,其可使用的范围就会不太一样,账号的使用范围我们称为视野。依照账号储存的位置与视野不同,我们可以区分本机账号与网域账号两种:
本机账号: 账号密码储存于本机硬盘中,我们称为本机账号。本机账号使用范围只能在账号建立的 Linux 系统上,如果超出范围时,本机账号将无法使用。比如:你在自己电脑上登录用的账号和密码,正常是无法在其它的电脑上使用的。
· 本机账号的优点:是简单易用,你无须作额外的设置,就可以直接建立本机账号;
· 本机账号的缺点:则是无法具备延展性(Scalability)。比如:你在一个拥有很多主机的环境中,想拥有一个在每台主机都可以登录的账号时,你就需要在所有的主机上都建立相关的用户
网域账号:你也可以把大量的计算机组织成为一个网域,然后在网域中的某一台 Linux 上建立账号数据,并且通过某些通信协议,将账号数据分享出来。当其他计算机需要取得账号数据时,再通过网络调用这些分享的账号即可。这种账号我们称为网域账号 (Domain Account)。
· 网域账号的优点:在于具备延展性。在大规模的环境中,使用网域账号往往能节省管理账号的时间;
· 但网域账号也有缺点,其最大的缺点就是要配置网域账号前,你必须先建立“域”的环境才行。
2、依照账号的功能分类
不管是本机账号或是网域账号,我们还可以把所有账号依照功能分成下面几类:

用户账号部分:包含了超级用户、普通用户;而普通用户中还可细分为系统用户、真实用户两种。
· 超级用户:在Linux 系统上拥有完整的控制能力,常被称为系统管理员,在 系统上拥有完整的控制能力,你可以利用超级用户读取或写入 上任何文件、安装或删除软硬件、启动或停止服务,甚至关机与停止系统的执行。通常只有在管理系统时才会使用超级用户账号登录,所以超级用户常被称为系统管理员 (System Administrator)。由于超级用户的权限不受任何限制,你可以使用该账号来管理 系统;但是,也可能因为操作错误,或者打错命令而造成无法挽救的伤害。在此,强烈建议你“除非有必要,否则请不要轻易以超级用户身份使用 Linux”!
在 Linux 系统中,默认超级用户的用户为 root,其 UID(用户ID号)一定为 0。
· 普通用户账号:行为能力会受到限制,只能调用具备权限的文件,如果没有足够的权限,普通用户是完全无法调用的;所以,普通用户账号不太容易危害 Linux 系统。普通用户账号中,我们又可分为两大类:
· 系统账号:这种类型的账号仅提供给Linux 系统本身使用。在某些软件执行的时候,需要你提供一个普通用户类型的账号。为了满足这些软件而建立的账号,我们称为系统账号 (System Account)。
· 真实用户:系统用户账号是给软件或程序使用的,那么,什么账号是让我们登录Linux 时使用的呢?答案就是真实用户(Real User)。真实用户账号是为了让其他人登录系统使用的
群组账号部分:包含了超级用户群组、系统群组以及用户自定义组三大类。
· 超级用户群组:Linux 有一个叫做 root 的群组,因为这个群组的名称与 root 这个超级用户的名称相同,所以,我们习惯把 root 群组叫做超级用户群组。超级用户群组的 GID 为 0。
· 系统群组:与系统账号一样,系统群组是给 Linux 系统本身,或是某个软件所使用
· 用户自定义组:除了上述的群组外其余的所有群组,皆是由管理者自行定义,因此我们把这些群组称之为用户自定义组
另外,Linux 系统的“用户自定义组“类型中,还有一种名为用户私有群组 (UPG, User Private Group)的群组。什么是 用户私有群组呢?用户私有群组(UPG, User Private Group)是指 “与用户账号名称相同,且为用户的主要群组”的群组。当你建立新的用户账号时,Linux 会自动建立该用户的私有群组。
· 创建用户 · 修改用户属性· 查看用户· 删除用户
useradd命令
useradd - 创建一个新用户或更新默认新用户信息

参考:关于/etc/subuid 和 /etc/subgid文件说明
为防止容器内的特权升级攻击主机的最好方法是将容器的应用程序配置为作为非特权用户运行。对于其进程必须作为容器中的 root 用户运行的容器,可以将此用户重新映射到 Docker 主机上权限较低的用户。映射的用户被分配了一系列 UID,这些 UID 在命名空间内作为从 0 到 65536 的普通 UID 运行,但在主机上没有特权。
创建用户练习
创建一个默认用户kylinos
[root@kylinv10 ~]# useradd kylinos
· 创建一个用户alex,要求
· 用户uid为98989;
· 属组为root,不创建同名组;
· 家目录为/users/alex;
· 描述为"kylinos user";
· 用户过期时间为"2021-12-31";
· 密码过期时间为3天;
· 登陆shell为/bin/sh.

usermod - 修改一个用户账户 [修改系统账户文件和在命令行上指定的相关更改]。

修改用户属性练习
修改kylinos用户属性:
· 附加组为daemon;
· UID 修改为 4000
· 移动家目录到/users下
· 登录shell为/bin/sh
· 修改用户名为kylin_os
· 该账户过期时间为2021-12-31
· 用户密码过期3天后失效

锁定用户alex:

· id命令
查看用户的基本信息,输出格式为
用户id=UID(用户名) 组id=GID(组名) 组=属组GID(属组名),附加组GID(附加组名)
id命令练习:
[root@kylinv10 ~]# id kylin_os
用户id=4000(kylin_os) 组id=1000(kylinos) 组=1000(kylinos),2(daemon)
· /etc/passwd文件
/etc/passwd文件为系统用户密码文件,本机的用户账号数据储存于/etc/passwd文件中,默认只有root用户可以修改,其他用户只能读。文件保存了用户相关信息,文件分为由冒号(:) 分割为7个字段,分别代表以下信息:
用户名:密码字段:UID:GID:描述:家目录:登陆shell
==警告==:
1、工作中尽量不要手动修改该文件,防止因为失误造成登陆失败。
2、这里面我们所提到的日期都是从1970年1月1日起经过的天数,所以我们看到的不是日期的格式,而是一组数字
· /etc/shadow密码文件
/etc/shadow为密码文件,主要针对用户密码进行定义的。文件默认权限为root用户为读写权限,其他用户没有权限。文件分为由冒号(:) 分割为9个字段,分别代表以下信息:
用户名:加密密码,密码最后一次修改日期:密码修改的最小间隔天数:密码修改最大间隔天数:密码过期前警告的天数:密码过期日期:账号失效日期:保留位,未定义功能。

userdel命令练习:
删除alex用户,连同邮箱、家目录一起删除
[root@kylinv10 ~]# userdel -r alex

今天的课程就学到这里,
学员朋友们,
涨知识了吗?

在此,也特别欢迎给我们后台留言说说你想学的课堂内容!自成立以来,麒麟软件学院已逐步形成了源自麒麟操作系统核心技术的“5序12级”培训认证体系、课件体系、教材体系、师资体系、平台体系五大体系。学院成立后即联合工信部教考中心推出了“百城百万”麒麟操作系统培训专项行动,持续为我国培养创新型、技术型和应用型的国产操作系统专业人才。参加麒麟操作系统认证培训的学员考试及格,即可获得工信部教考中心和麒麟软件颁发的专项技术双证书!

扫码添加微信咨询报名
偷偷告诉你,认真学习麒麟软件OS课堂的同学未来在麒麟操作系统认证考试中一定会先人一步,取得好成绩!
每周学习多一点,
距离升职加薪更近一点!
敬请期待五月新课程吧!
你可能还想看 ↓
最新OS课堂!
文末有彩蛋
提升技能必看!↑
麒麟软件学院
麒麟软件有限公司下设的一级组织机构,主要负责麒麟操作系统培训品牌建设、人才生态的打造,人才培训体系与培养体系的建设与落地。自2019年开展麒麟认证培训业务以来,麒麟软件已经为来自数千家单位学员提供了培训服务,获得了业内一致好评。其中包含各党、政、军机关及企事业单位,也不乏在校学生及自由职业者。




