用户账号管理 | |
用户账户概述 | 用户常见账号的分类: 1.超级用户:root UID=0,GID=0 权限最大 2.普通用户:UID>=500,做一般权限的系统管理,权限有限 3.程序用户:1=<UID<500,为了提升系统安全性,支持所对应服务对系统资源的使用,不能用于登录系统或管理系统。(一般进程会拥有用户权限,用户有什么权限,进程就有什么权限,那么这个用户叫做程序用户) UID:用户标识,GID:组标识 |
用户账户文件: 1./etc/passwd 作用:保护用户名称、宿主目录、登录Shell等基本信息,每一行对应一个用户的账号记录。共7个字段,每个字段都有特殊含义。 如: 第一个字段:用户账号名,123 第二个字段:密码占位符,x 第三个字段:UID,500 第四个字段:GID,500 第五个字段:用户备注,空 第六个字段:用户宿主目录,/home/123 第七个字段:登录的Shell,/bin/bash(可以登录);/sbin/nologin(不能登录) 2./etc/shadow 作用:保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。共9个字段,每个字段都有其特殊含义。 如: 第一个字段:用户账号名,123 第二个字段:密文密码,$6$5…pH. 第三个字段:账号上次修改时间距1970年1月1日过去多少天 第四个字段:距离上次更改密码起多少天内不能再次修改密码,单位天,0表示可以随时修改密码 第五个字段:密码过期天数,999999表示永久可以使用 第六个字段:强制密码修改提醒时间 第七个字段:密码过期后经过多少天账户会被禁用 第八个字段:密码过期日期 两个叹号表示当前用户被锁定,一般空密码默认被锁定。 | |
useradd:添加用户账号 格式:useradd [选项] 用户名 useradd = adduser | |
id用户名 用于查看用户是否存在 | |
chsh 用户名 /sbin/nologin或 /bin/bash 设置用户能否登录 | |
选项 | -u:指定UID标记号 |
-d:指定宿主目录,缺省默认为/home/用户名 | |
-e:指定账号失效时间(常用) | |
-M:不为用户建立宿主目录(常用) | |
-s:指定用户的登录shell(常用) | |
-g:指定用户的基本组名或GID | |
-G:指定用户的附加组名或GID | |
-c:添加备注,显示与/etc/passwd第五字段 | |
实例 | 1.创建一个没有家目录且不能登录的用户
/home中没有lijinglong的家目录,lijinglong用户为/sbin/nologin表示不能登录。 2.-e参数的两种方法 useradd 账户名 -e 30days 增量,从系统当前时间向后推30天 useradd 账户名 -e 2022-10-1 到2022-10-1这天失效 |
passwd:设置/更改用户口令 格式:passwd [选项] 用户名 | |
常用 选项 | -d:清空用户密码(常用) |
-l:锁定用户账号(常用) | |
-S:查看用户账号的状态(常用) | |
-u:解锁用户账号(常用) | |
-x:密码的最长有效时限,--maximum=DAYS | |
-n:密码的最长有效时效,--minimum=DAYS | |
-w:在密码过期前多少天开始提醒用户,--warning=DAYS | |
-i:当密码过期后经过多少天账户会被禁用,--inactive=DAYS | |
实例 | 1.清除用户密码 2.锁定用户账号 3.解锁用户账号 4.查看用户账号状态 |
usermod:修改用户属性 格式:usermod [选项].. 用户名 | |
常用 选项 | -l:更改用户账号的登录名字 |
-c:修改用户备注 | |
-L:锁定用户账号 | |
-U:解锁用户账号 | |
-u、-d、-e、-s、-c与useradd含义相同 | |
userdel:删除用户账号 格式:userdel 用户名 | |
常用 选项 | -r:删除用户同时删除用户的家目录 |
实例 | 1.删除321用户
2.删除123用户及其家目录 |
组账号管理 | |
组账号概述 | 1.组账号分类: 基本组(私有组) 附加组(公共组) |
2.GID:组标识号 | |
3.组账号文件 /etc/group:保存组账号基本信息 /etc/gshadow:保存组账号妇的密码信息(较少使用) | |
groupadd:添加组账号 格式:groupadd [-g GID] 组账号名 | |
常用 选项 | -g GID |
实例 | 创建组,组名为li,GID为888 |
gpaasswd:设置组账号密码(少用),添加、删除组成员gpasswd命令 格式:gpasswd [选项]… 组账号名 | |
常用 选项 | -a:向组内添加一个用户 -d:从组内删除一个用户成员 -M:定义组成员列表,以逗号分隔 |
实例 | 1.将账户lijinglong添加到li组中 可以看到lijinglong同时在lijinglong和li组中 2.将账户lijinglong从li组中移除 |
groupdel:删除组账号名 格式:groupdel 组账号名 | |
实例 | 删除li组 |
id、groups、finger、w、whoami、who:查询命令 | |
id | 作用:查询用户身份标识 |
格式:id [用户名] | |
实例: | |
groups | 作用:查询客户所属的组 |
格式:groups [用户名] | |
实例: | |
finger | 作用:查询账号的详细信息 |
格式:finger [用户名] | |
实例: 如果系统提示找不到该命令,那么使用yum进行安装即可。 yum -y install finger | |
whoami | 作用:查询当前登录的账号名(多用于脚本) |
实例: | |
who | 作用:查询已登录到主机的用户 |
实例: 第一列为进程的权限 第二列为进程所用的客户端(tty1表示本地登录,也就是在服务器前登录;pts表示远程登录) | |
w | 作用:查询已登录到主机的用户信息 |
实例: | |
进程接待过程 | bash:翻译器,命令界面。 子进程生成bash翻译器,来翻译我们输入的命令,bash进行翻译后,再生成一个子进程帮助命令执行。 |
进程的不同状态 |
软中断:系统软件中断;硬中断:系统某个机制导致的。 |
CPU的响应级别 | CPU在操作进程的时候,因为操作级别(权限的)不同造成了进程的两种状态,CPU有0-3,四个操作级别。0级别的权限最高(可以操作内核),3级别权限最低(用户空间,内存)。 当用户使用程序的时候,进程会在内存中开辟一块存储数据的空间来存放用户的数据,这块空间,我们叫做用户空间,运行在这个空间的进程叫做用户进程。 当进程触发了I/O等需要通过设备文件沟通其他物理硬件的情况的时候,此时CPU会操作进程,从3级别过度到0级别。处于0级别内核空间(系统空间)的时候,此时进程叫做内核态进程。然后CPU在0级别的时候,拥有系统所有权,可以根据设备文件作为接口,通过kernel作为中介帮助内核态进程访问物理设备。 在这个过程中,用户空间的进程处于挂起状态,CPU处于停滞状态,因此,用户的游戏处于卡机状态。 |
平均负载值 | 查看方法: 1:w 2:cat /proc/loadavg (proc是个特殊的目录,里面的数据是在内存中的,是内存的映射) 3:uptime |
表示当前系统的繁忙程度,主要体现为CPU的繁忙程度,如果值过高,服务器将可能宕机。 | |
一般来说,CPU操作一个进程在持续运行的话,他的负载值为1。 如果CPU同时操作8个进程在运行,他的负载值为8。 四核八线程:物理核心数为4,逻辑核心数为8。 如果同时运行的程序个数恰好等于逻辑核心数的个数,那么CPU的使用率为100%,平均负载值为8。没有抢到CPU的进程,会进行等待,也会增加平均负载值。如果有八个等待的,那么负载值为16,使用率仍为100%。 | |
CPU的速度很快,系统实际上给CPU划分了很多的时间片段,这些时间片段会平均分配给所有需要的CPU的进程上。 | |
在工作中,一般系统的平均负载值高于50%,就要引起注意,如果高于75%,就要及时处理。 | |
一分钟,五分钟,十五分钟 | |
面试 实例 | 阿里巴巴:一个操作系统CPU使用率不高,但是系统负载值却很高。请分析问题产生的可能原因。 答:I/O读写问题,硬盘可能出现坏道,需要更换。 |
Linux基础(四)账号管理
最新推荐文章于 2024-08-26 19:45:00 发布