开发运维基础课程-03-系统用户权限管理
系统用户权限管理
本章内容主要是以系统基础权限管理与用户管理为主,同时涉及相应用户操作命令与用户权限管理命令,以及系统信息常用查看命令,帮助初学者能更了解系统环境。
2.1 系统权限管理操作介绍
在linux操作系统中,不管是目录信息或是文件数据信息,都有权限设定,主要控制系统不同用户对数据管理能力,但是Linux系统权限不像windows系统权限那样的复杂,主要记住3中权限作用和对应的9中权限位即可,下面通过两个方面来了解Linux系统权限知识。
2.1.1 系统权限作用说明
· 系统普通文件权限划分:
[root@oldboyedu ~]# ll /etc/hosts
-rw-r--r--. 1 root root 158 Jun 7 2013 /etc/hosts
[root@oldboyedu ~]# ll /bin/cat
-rwxr-xr-x. 1 root root 54080 Apr 11 2018 /bin/cat
以上文件属性中,显示了文件权限信息有:r表示read读权限;w表示write写权限;x表示execute执行权限;以及-表示权限未设置
根据以上属性权限一般将权限划分9个权限位:
| 编号 | 权限信息 | 组成说明 |
|---|---|---|
| 文件权限位说明 | ||
| 第一个三位 | rwx | 表示文件的属主信息具有读写执行权限 |
| 第二个三位 | r-x | 表示文件的属组信息具有读和执行权限,但不具有写权限 |
| 第三个三位 | r-x | 表示文件的其他用户具有读和执行权限,但不具有写权限 |
| 文件不同权限作用 | ||
| 1 | r-read | 读权限表示文件内容信息具有读取查看能力 |
| 2 | w-write | 写权限表示文件内容信息具有编辑修改能力 |
| 3 | x-execute | 执行权限表示文件内容代码信息具有执行或运行能力 |
| 一般对于文件来说,必须要具有的是读权限(特殊文件除外),只有在具有读权限前提下,写权限和执行权限才能发挥作用,并且对于一般文件只有属主具有编写能力,其他用户和属组用户均只有查看能力或执行能力。 | ||
| · 系统目录文件权限划分: |
[root@oldboyedu ~]# ll /etc/ -d
drwxr-xr-x. 79 root root 8192 Sep 7 02:09 /etc/
[root@oldboyedu ~]# ll /var/ -d
drwxr-xr-x. 19 root root 267 Sep 3 04:44 /var/
以上目录属性中,显示了文件权限信息有:r表示read读权限;w表示write写权限;x表示execute执行权限;以及-表示权限未设置
根据以上属性权限一般将权限划分9个权限位:
| 编号 | 权限信息 | 组成说明 |
|---|---|---|
| 文件权限位说明 | ||
| 第一个三位 | rwx | 表示文件的属主信息具有读写执行权限 |
| 第二个三位 | r-x | 表示文件的属组信息具有读和执行权限,但不具有写权限 |
| 第三个三位 | r-x | 表示文件的其他用户具有读和执行权限,但不具有写权限 |
| 文件不同权限作用 | ||
| 1 | r-read | 读权限表示目录中数据信息具有读取查看能力 |
| 2 | w-write | 写权限表示目录中数据信息具有删除、创建、重命名能力 |
| 3 | x-execute | 执行权限表示目录可以进行切换能力 |
| 一般对于目录来说,必须要具有的是执行权限(特殊文件除外),只有在具有执行限前提下,写权限和读权限才能发挥作用,并且对于一般目录只有属主具有编写能力,其他用户和属组用户均只有查看能力或执行能力。 |
2.1.2 系统权限修改操作
· 数据文件权限单独修改方式
[root@oldboyedu ~]# touch heqing.txt
[root@oldboyedu ~]# chmod 000 heqing.txt
[root@oldboyedu ~]# ll heqing.txt
----------. 1 root root 0 Sep 7 02:54 heqing.txt
#单独设置属主权限信息,添加读权限
[root@oldboyedu ~]# chmod u+r heqing.txt //u表示设置属主权限,即u=user
[root@oldboyedu ~]# ll heqing.txt
-r--------. 1 root root 0 Sep 7 02:54 heqing.txt
#单独设置属组权限信息,添加读权限和写权限
[root@oldboyedu ~]# chmod g+rw heqing.txt //g表示设置属组权限,即g=group
[root@oldboyedu ~]# ll heqing.txt
-r--rw----. 1 root root 0 Sep 7 02:54 heqing.txt
#单独设置其他用户权限信息,添加读权限和执行权限
[root@oldboyedu ~]# chmod o+rx heqing.txt //o表示设置其他用户权限,即o=other
[root@oldboyedu ~]# ll heqing.txt
-r--rw-r-x. 1 root root 0 Sep 7 02:54 heqing.txt
· 数据文件权限批量修改方式
采用字符方式批量设置权限
[root@oldboyedu ~]# touch heqing.txt
[root@oldboyedu ~]# chmod 000 heqing.txt
[root@oldboyedu ~]# ll heqing.txt
----------. 1 root root 0 Sep 7 02:59 heqing.txt
//所有用户信息添加执行权限
[root@oldboyedu ~]# chmod a+x heqing.txt
[root@oldboyedu ~]# ll heqing.txt
---x--x--x. 1 root root 0 Sep 7 02:59 heqing.txt
//所有用户信息去掉执行权限
[root@oldboyedu ~]# chmod a-x heqing.txt
[root@oldboyedu ~]# ll heqing.txt
----------. 1 root root 0 Sep 7 02:59 heqing.txt
//所有用户信息设置权限为具有读和执行权限
[root@oldboyedu ~]# chmod a=rx heqing.txt
[root@oldboyedu ~]# ll heqing.txt
-r-xr-xr-x. 1 root root 0 Sep 7 02:59 heqing.txt
采用数字方式批量设置权限
[root@oldboyedu ~]# touch heqing.txt
[root@oldboyedu ~]# chmod 000 heqing.txt
[root@oldboyedu ~]# ll heqing.txt
----------. 1 root root 0 Sep 7 02:59 heqing.txt
#所有用户信息添写权限
[root@oldboyedu ~]# chmod 444 heqing.txt //读权限可以用数值4表示
[root@oldboyedu ~]# ll heqing.txt
-r--r--r--. 1 root root 0 Sep 7 03:03 heqing.txt
#所有用户信息添加写权限
[root@oldboyedu ~]# chmod 666 heqing.txt //读权限可以用数值2表示
[root@oldboyedu ~]# ll heqing.txt
-rw-rw-rw-. 1 root root 0 Sep 7 03:03 heqing.txt
#所有用户信息执行写权限
[root@oldboyedu ~]# chmod 777 heqing.txt //读权限可以用数值1表示
[root@oldboyedu ~]# ll heqing.txt
-rwxrwxrwx. 1 root root 0 Sep 7 03:03 heqing.txt
#设置属主具有读写执行,属组具有读执行,其他用户具有读能力
[root@oldboyedu ~]# chmod 754 heqing.txt //多种权限设置可以利用权限数值求和方式
[root@oldboyedu ~]# ll heqing.txt
-rwxr-xr--. 1 root root 0 Sep 7 03:03 heqing.txt
2.2 系统用户管理操作介绍
在linux系统中用户是分角色的,在linux系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和GID识别的;特别是UID,在linux系统运维工作中,一个UID是唯一标识一个系统用户的账号(相当于我们的身份证)。用户系统账号的名称(如 oldboy)其实给人(管理员)看的,linux系统能够识别的仅仅是UID和GID这样的数字。用户的UID就相当于我们的身份证一样,用户名就相当于我们的名字。
UID useridentify 用户id
GID groupidentify 组id
2.2.1 系统用户管理分类介绍
· 超级用户
默认是root用户,其UID和GID均是0。root用户在每台unix/linux操作系统中都是唯一且真实存在的。通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。在生产环境中,一般会禁止root账号通过SSH远程连接服务器,当然了,也会更改默认的SSH端口,以加强系统的安全。
企业工作中:没有特殊需求,应该尽量在普通用户下操作任务,而不是root。
在linux系统中,uid为0的用户就是超级用户。但是通常不这么做,而是sudo管理提权,可以细到每个命令权限分配。
root比喻为皇帝。root家目录是皇宫。操作系统:全国
· 普通用户
这类用户一般是由具备系统管理员root的权限的运维或系统管理人员添加的。例如:oldboy这类用户可以登录系统,但仅具有操作自己家目录中的文件及目录的权限;
普通用户:皇帝的臣民,干坏事时,国家有法律管束你。为普通用户授权(sudo)封官。布衣也可以提权。
· 虚拟用户
与真实普通用户区分开来,这类用户最大的特点是安装系统后默认就会存在,且默认情况大多数不能登录系统,但是,他们是系统正常运行不可缺少的,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。例如:系统默认的bin adm nobody mail用户等。由于服务器业务角色的不同,有部分用不到的系统服务被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)
用户分类信息简单总结如下表所示
| UID取值 | 用户类型 | 用户描述说明 |
|---|---|---|
| 0 | 超级用户 | 当用户的UID为0时,表示这个账号为超级管理员账号 如果要增加一个系统管理员账号的话,只需要将该账号UID改为0即可 但是不建议这样做,最好用sudo替代 |
| 1-999 | 虚拟用户 | 这个范围是保留给系统使用的UID 之所以这样划分,是为了防止人为建立账号的UID和系统UID之间冲突,并没有其它特殊的含义 可以看到passwd虚拟用户的UID都会在这个范围内。除了0之外,所有的UID在使用上没有任何区别 |
| 1000-65535 | 普通用户 | 普通账户UID范围 当使用useradd oldboy建立账户时,默认情况下UID是从500开始;还可以随时指定UID来创建账户 |
2.2.2 系统用户管理操作命令
创建新的用户信息:
[root@oldboyedu ~]# useradd heqing
[root@oldboyedu ~]# id heqing
uid=1000(heqing) gid=1000(heqing) groups=1000(heqing)
用户信息设置密码
[root@oldboyedu ~]# passwd heqing //给指定用户设置密码信息,只能root用户进行操作
Changing password for user heqing.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@oldboyedu ~]# passwd //给当前登录系统用户设置密码,所有用户均可使用
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
说明:
root用户在给本身或其他用户设置密码时,可以设置简单密码信息。比如123456
普通用户在给本身设置密码时,需要考虑密码负载度,必须大于6位需要有字符和数字组合。
删除存在用户信息:
[root@oldboyedu ~]# userdel heqing //只删除用户信息,不会删除用户产生的数据文件信息
[root@oldboyedu ~]# userdel -r heqing //彻底删除用户信息,以及用户产生的数据文件信息
2.3 系统用户提权操作介绍
在Linux系统中,用于超级管理用户root的权限太大,如果管理不好,就会带来严重的系统安全隐患。因此在工作场景中,只有在必要时才使用超级用户权限。一般临时性工作处理,都是以普通用户的身份完成的,那么,当普通用户需要具有超级用户的权限能力时,需要如何进行操作?主要可以用到两种方式,改变普通用户权限能力,使系统管理人员对系统具有绝对控制权。
方式一:实现普通用户到管理员用户的切换(su)
方式二:实现普通用户权限提权操作的过程(sudo)
2.3.1 实现普通用户到管理员用户的切换
su命令介绍说明
su命令可以在用户之间进行切换,超级权限用户root向普通用户切换不需要密码验证,其他普通权限用户之间或者从普通用户切换到root,都需要切换用户的密码验证。
su命令用法说明
[语法格式]
su [option] [user]
su [选项] [用户名]
说明:
1). 若命令后面的用户名省略了,则默认切换为root用户
2). 从root用户切换到普通用户时,不需要任何密码,从普通用户切换到root用户时,则需要输入root密码
[选项说明]
下表中展示了su命令的常用参数选项说明:
| 编号 | su参数选项 | 注释说明 |
|---|---|---|
| 01 | -,-l | 使一个shell成为登录的shell,如执行su - oldboy时,表示该用户希望改变的身份为oldboy,并且使用oldboy用户对应的环境变量配置 |
| 02 | -c | 切换到一个shell下,执行一个命令,然后退出所切换的用户环境 |
| 03 | -m | 切换用户时,不需要重置用户环境变量,-p的功能同-m,这个参数为su的默认值,一般较少使用 |
| 04 | -s | 如果/etc/shells允许,则运行指定的shell |
在生产场景中,su命令比较常用的参数为"-"和"-c",其他的参数很少用到。如果初学者有兴趣,可执行man su进行查看。
su命令使用实践
由普通用户oldboy切换到root用户。
[root@web01 ~]# su - oldboy //root用户切换为普通用户时,会直接进行切换
[oldboy@web01 ~]$ whoami //查看当前登录系统用身份命令
oldboy
[oldboy@web01 ~]$ su - //普通用户切换为管理员用户时,需要输入密码信息
密码:
[root@web01 ~]# whoami //查看当前登录系统用身份命令
root
2.3.2 实现普通用户权限提权操作的过程
sudo命令和visudo命令可以让普通用户在执行指定的命令或程序时,拥有超级用户的权利,并且可以有针对性将不同命令或程序授予指定的普通用户,同时普通用户不需要知道root密码就可以得到授权,这个授权可以使用visudo配置管理。
visudo命令操作使用说明
visudo命令是专门用来编辑/etc/sudoers这个文件的,同时它还提供了语法检查等功能。/etc/sudoers文件时sudo命令的配置文件。
[语法格式]
visudo [option]
visudo [选项]
[选项说明]
| 编号 | 参数选项 | 注释说明 |
|---|---|---|
| 01 | -c | 手动执行语法检查 |
| [操作实践] | ||
| 执行visudo命令对普通用户oldboy和oldgirl授权操作;执行如下visudo命令,即可打开sudo的配置文件进行编辑 |
[root@web01 ~]# visudo //此命令执行相当于执行vim /etc/sudoers编辑,但使用此命令方式更安全,推荐此种方式。
在/etc/sudoers文件的大约第92行下面添加需要提升为root权限的普通用户名及对应权限,格式如下:
93 oldboy ALL=(ALL) ALL //将oldboy用户提权为root身份
94 oldgirl ALL=(ALL) /usr/sbin/useradd, /usr/sbin/userdel //授权oldgirl用户使其可以以root身份添加和删除用户权限
95 olddog ALL=(ALL) NOPASSWD: ALL //添加NOPASSWD信息,表示在普通用户使用特权时,可以不用输入密码信息
上述授权配置内容对应说明如下所示:
| 编号 | 待授权的用户或组 | 机器=(授权角色) | 可以执行的命令 |
|---|---|---|---|
| 01 | user | MACHINE= | COMMANDS |
| 02 | oldboy | ALL=(ALL) | /usr/sbin/useradd,/usr/sbin/userdel |
| 通过visudo命令进行系统的授权管理的目的是,既能让运维人员正常工作,又不会威胁到系统的安全,还可以审计用户使用sudo的提权操作命令,默认的用户是无法获得root权限的。 | |||
| 为了管理方便,工作中可以为某一个普通用户授权为ALL权限,既可管理整个系统,平时也可以使用用户处理工作,而无需使用root用户 | |||
| [语法检查] | |||
| 有的时候,运维管理员并不是使用visudo编辑sudoers文件,而是使用vim或者echo命令编辑的sudoers文件,此时就需要执行如下命令检查编辑文件的语法是否正确。 |
[root@web01 ~]# visudo -c
/etc/sudoers: parsed OK
sudo命令操作使用说明
sudo命令可以让普通用户在执行指定的命令或程序时,拥有超级用户的权限,并且可以有针对性将不同命令或程序授予指定的普通用户,同时普通用户不需要知道root密码就可以得到授权,这个授权可以使用visudo配置管理。
[语法格式]
sudo [option]
sudo [选项]
[选项说明]
针对sudo命令的参数选项进行说明
| 编号 | 参数选项 | 注释说明 |
|---|---|---|
| 01 | -l | 列出当前用户可以执行的命令,只有sudoers文件里的用户才能使用该选项 |
| 02 | -u | 可以指定用户的身份执行命令。后面是除root之外的用户,可以是用户名,也可以是uid |
| 03 | -k | 清除时间戳上的时间,下次再使用sudo时还需要再次输入密码 |
| 04 | -b | 在后台执行指定的命令 |
| 05 | -e | 不执行命令,而是修改文件,相当于命令sudo edit |
| [操作实践] | ||
| 已经对oldboy用户进行了授权,此时再以oldboy用户的身份登录系统,就可以通过执行类似sudo ls -l /root(sudo后面加上正常命令)的命令来以root用户的权限管理系统了: |
[oldboy@oldboyedu ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
//可以看到,oldboy用户是无法直接访问/root家目录的
[oldboy@oldboyedu ~]$ sudo ls /root
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for oldboy:
//如果授权配置中含有NOPASSWD,则执行时将不提示密码,否则会要求输入当前用户的密码
anaconda-ks.cfg anaconda-screenshots data heqing.txt
//通过sudo命令,使得oldboy用户具备访问/root目录的权限
[操作总结]
· 通过sudo授权管理后,所有用户执行授权的特殊权限格式为"sudo 命令";
· 如果需要切换到root执行相关操作,则可以通过"sudo su -"命令,注意,此命令提示的密码为当前用户的密码,而不是root的密码
· 执行"sudo -l"命令可以查看当前用户被授予的sudo权限集合;
以下是查看oldboy用户授权的结果情况:
[oldboy@oldboyedu ~]$ sudo -l
Matching Defaults entries for oldboy on oldboyedu:
!visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL
PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User oldboy may run the following commands on oldboyedu:
(ALL) ALL
· 对于Linux系统bash的内置命令,一般无法进行sudo授权,例如,cd命令。
2.4 系统常见查看命令介绍
在管理Linux系统时,需要尽量确保系统能够尽量保证7*24小时稳定运行,也就是经常一些大的互联网公司所指定的网站运行几个9的指标。为了能尽量保证系统稳定运行,除了一些必备的监控服务的使用之外,还需人为的定期对系统环境进行巡检查看,从而确保系统的稳定运行,将系统可能出现的潜在问题,扼杀在萌芽中。
本章节会介绍一些系统环境基础查看命令,帮助管理者可以清楚的掌握系统运行状态情况,好对系统做出及时的优化调整。
2.4.1 系统硬件信息查看命令
01. 系统CPU硬件信息查看
系统服务器CPU硬件信息常用查看命令:
[oldboy@oldboyedu ~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit //表示CPU支持的系统架构
Byte Order: Little Endian
CPU(s): 1 //表示CPU核心数信息
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1 //表示CPU安装配置颗数信息
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 16
Model name: AMD A10-5800K APU with Radeon(tm) HD Graphics //表示CPU使用的型号信息
Stepping: 1
CPU MHz: 3800.000 //表示CPU使用主频信息
02. 系统内存硬件信息查看
系统服务器内存硬件信息常用查看命令:
[oldboy@oldboyedu ~]$ free -h
total used free shared buff/cache available
Mem: 1.8G 112M 1.4G 9.5M 239M 1.5G
//总内存数量 //使用内存情况 //空闲内存情况 //未使用内存情况
Swap: 1.0G 0B 1.0G
//总交换空间 //交换空间使用情况 //交换空间剩余情况
03. 系统磁盘硬件信息查看
系统服务器磁盘硬件信息常用查看命令:
[oldboy@oldboyedu ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 99G 1.5G 98G 2% /
/dev/sda1 197M 112M 85M 57% /boot
//以上信息与实际显示信息有出入,部分信息已省略
输出信息不同列作用说明:
| 编号 | 列信息 | 解释说明 |
|---|---|---|
| 01 | Size | 显示指定分区磁盘总大小信息 |
| 02 | Used | 显示指定分区磁盘空间使用大小情况 |
| 03 | Avail | 显示磁盘空间可利用情况百分比 |
| 04 | Use% | 显示磁盘空间使用情况百分比 |
| 05 | Mounted on | 显示磁盘分区设备挂在点目录信息 |
| 04. 系统网卡硬件信息查看 | ||
| 系统服务器网卡硬件信息常用查看命令: |
//显示网卡地址配置信息
[oldboy@oldboyedu ~]$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:47:7f:d9 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::a392:8be7:81e7:2851/64 scope link noprefixroute
valid_lft forever preferred_lft forever
//显示系统网络路由情况
[oldboy@oldboyedu ~]$ ip route show
default via 10.0.0.254 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.200 metric 100
2.4.2 系统运行服务查看命令
01. 显示系统运行服务程序进程
[oldboy@oldboyedu ~]$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Sep05 ? 00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 Sep05 ? 00:00:00 [kthreadd]
root 3 2 0 Sep05 ? 00:00:02 [ksoftirqd/0]
root 5 2 0 Sep05 ? 00:00:00 [kworker/0:0H]
root 6 2 0 Sep05 ? 00:00:05 [kworker/u256:0]
... 部分信息省略...
//过滤筛选指定进程信息
[oldboy@oldboyedu ~]$ ps -ef|grep sshd
root 1293 1 0 Sep05 ? 00:00:00 /usr/sbin/sshd -D
root 2140 1293 0 Sep06 ? 00:00:02 sshd: root@pts/0
root 3325 1293 0 Sep07 ? 00:00:01 sshd: root@pts/1
oldboy 3464 3385 0 00:26 pts/1 00:00:00 grep --color=auto sshd
02. 显示系统运行服务端口信息
[oldboy@oldboyedu ~]$ ss -lntup
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 127.0.0.1:323 *:*
udp UNCONN 0 0 ::1:323 :::*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 :::22 :::*
tcp LISTEN 0 100 ::1:25 :::*
03. 显示系统服务运行负载情况
[oldboy@oldboyedu ~]$ uptime
00:29:19 up 2 days, 5:40, 2 users, load average: 0.00, 0.01, 0.05
04. 显示服务占用硬件资源情况
[oldboy@oldboyedu ~]$ top -b -n 2 > ~/top
//-b表示开启批处理模式,可以用于将显示信息输出到指定文件中;-n指定截取多少次屏幕实时变化信息
[oldboy@oldboyedu ~]$ cat top
top - 00:36:34 up 2 days, 5:47, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 93 total, 2 running, 91 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 11.8 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1865284 total, 1503228 free, 115944 used, 246112 buff/cache
KiB Swap: 1048572 total, 1048572 free, 0 used. 1559700 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128200 6896 4116 S 0.0 0.4 0:03.74 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:02.93 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:05.97 kworker/u256:0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 R 0.0 0.0 0:02.52 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:01.97 watchdog/0
--- 下面部分信息省略 ---
2.4.3 系统基本情况查看命令
01. 显示系统版本情况信息
[root@oldboyedu ~]# cat /etc/redhat-release //显示系统所使用的Linux发行版本
CentOS Linux release 7.5.1804 (Core)
[root@oldboyedu ~]# uname -a //显示系统所使用的内核信息和架构信息
Linux oldboyedu.com 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
02. 显示系统用户情况信息
[root@oldboyedu ~]# w //显示系统登录用户情况
00:42:48 up 2 days, 5:53, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 Sat20 21:18m 0.51s 0.51s -bash
root pts/1 10.0.0.1 23:42 0.00s 0.06s 0.00s w
[root@oldboyedu ~]# id oldboy //确认已存在用户uid gid与所属组配置信息
uid=1001(oldboy) gid=1001(oldboy) groups=1001(oldboy)

浙公网安备 33010602011771号