银河麒麟高级服务器操作系统V10 系统管理员手册
文章目录
-
- 1. 系统地区和键盘配置
- 网络访问配置
- 日期和时间配置
- 用户配置
- Kdump 机制
- 获取特权
这部分涵盖了基本的系统管理任务,如键盘配置、日期和时间配置、用户和组群配置以及授权配置。
1. 系统地区和键盘配置
系统地区配置是指系统服务和用户界面的语言环境配置。键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。这些设置可以通过修改/etc/locale.conf 配置文件或使用 localectl 命令。此外,您可以在用户图形界面来执行任务,详情请参考安装手册。
配置系统地区
系统地区配置文件为/etc/locale.conf,在系统启动时引导systemd 守护进程。这个配置文件可以被每一个服务或者用户继承,单个服务或者用户也可修改配置文件。例如语言为英语,地区为德国的/etc/locale 文件的配置内容如下:
LANG=de_DE.UTF-8
LC_MESSAGES=C
LC_MESSAGES 选项决定了诊断消息的标准输出文本格式。其他选项说明总结在表 1-1 在所示。
表 1-1 在/etc/locale.conf 文件中可配置项
LANG | 提供系统时区的默认值 |
LC_COLLATE | 定义该环境的排序和比较规则 |
LC_CTYPE | 用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量 |
LC_NUMERIC | 非货币的数字显示格式 |
LC_TIME | 时间和日期格式 |
LC_MESSAGES | 提示信息的语言 |
显示当前配置
Localectl 命令可用于配置语言环境和键盘布局。显示当前配置,可使用如下命令:
#localectl status
. 显示可用地区列表
显示可用地区列表可使用如下命令:
#localectl list-locales | grep en_
配置地区
配置系统默认地区,需要以 root 用户身份运行:
#localectl set-locale LANG=locale
用户可以配置适合的地区标示符以代替 locale,可通过localectl list-locales 检索适合的地区.
配置键盘布局
键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。
显示当前配置
Localectl 命令可用于配置语言环境和键盘布局。显示当前配置,可使用如下命令:
#localectl status
显示可用键盘布局列表
显示可用键盘布局列表可使用如下命令:
#localectl list-keymaps
配置键盘
配置系统默认键盘布局,需要以 root 用户身份运行:
#localectl set-keymap {map}
用户可以配置适合的键盘布局标示符以代替{map},如“cz”,可通过localectl list-keymaps 检索适合的键盘布局。该命令还可用于配置X11 窗口的键盘布局映射,但使用–no–convert 参数的话则不生效。同样也可用以下命令单独配置X11窗口的键盘布局:
#localectl set-x11-keymap cz
如果用户希望 X11 窗口和命令行终端的键盘布局不一样,可以使用如下命令:
#localectl –no-convert set-x11-keymap cz
其他资源
其他官方配置系统地区和键盘布局的内容可以参考安装手册。同时还可参考 1.6 获取特权章节和 5.1 章节。
网络访问配置
动态网络配置
打开终端,以网口 eth0 为例:
#nmcli conn add connection.id eth0-dhcp type ether ifname eth0
ipv4.method auto
其中“eth0-dhcp”为连接的名字,可以根据自己的需要命名方便记忆和操作的名字;“ifname eth0”为配置的网口,根据自己的设备情况按需调整。
静态网络配置
打开终端,以网口 eth0 为例:
#nmcli conn add connection.id eth0-static type ether ifname eth0
ipv4.method manual ipv4.address 192.168.1.10/24 ipv4.gateway
192.168.1.254 ipv4.dns 192.168.1.254
其中“eth0-static”为连接的名字,可以根据自己的需要命名方便记忆和操作的名字;“ifname eth0”为配置的网口,根据设备情况按需调整;IP、子网掩码、网关根据实际网络按需配置
配置 DNS
打开终端,编辑/etc/resolv.conf,设置 nameserver:
日期和时间配置
操作系统区分以下两种时区:
-
实时时间(RTC),通常作为物理时钟,它可以独立于系统当前状态计时,在主机关机情况下也可计时。
-
系统时间,是基于实时时间的由操作系统内核维护的软件时间。等系统启动内核初始化系统时间后,系统时间就独立于实时时间自行计时。
系统时间通常还保持一套世界统一时间(UTC),用于转换系统的不同时区,本地时间就是用户所在时区的真实时间。 操作系统提供了三种命令行时间管理工具,timedatectl、date 和hwclock。以下将分别介绍各个工具的使用。
timedatectl 工具使用说明
- 显示当前日期和时间 命令 timedatectl 可以显示当前系统时间和机器的物理时间及其详细信息。如下示例是未启用 NTP 时钟同步的系统时间:
#timedatectl
变更 chrony 或 ntpd 服务状态不会主动通知 timedatectl 工具,如果想要更新服务的配置信息,请执行以下命令:
#systemctl restart systemd-timedated.service
- 变更当前时间 以 root 用户运行以下命令可以修改当前时间:
#timedatectl set-time HH: MM: SS
其中 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。这个命令同样可以更新系统时间和物理时间,效果类似于 date –set 和hwclock –systohc命令。 系统默认时间配置基于 UTC,如果想基于本地时间来配置系统时间,需要以 root 用户运行以下命令修改。
#timedatectl set-local-rtc boolean
如果基于本地时间,需要将 boolean 配置为 yes(或者y,true,t 或者1)。如果使用 UTC 时间,则要将 boolean 配置为 no(或者n,false,f 或者0)。系统默认 boolean 为 no。
- 变更当前日期 以 root 用户运行以下命令可以修改当前日期:
#timedatectl set-time YYYY-MM-DD
其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:
#timedatectl set-time '2020-02-17 23:26:00'
- 修改时区 执行以下命令可以显示当前时区:
#timedatectl show
以 root 用户运行以下命令可以修改当前时区,如修改为“上海”:
#timedatectl set-timezone Asia/Shanghai
显示所有时区命令如下:
#timedatectl list-timezones
- 同步系统与远程服务器时间 以 root 用户运行以下命令可以启用/禁用时间同步服务:
#timedatectl set-ntp boolean
启用与禁用需要配置 boolean 值为 yes 或者 no。例如需要自动同步一个远程时间服务器,可以执行以下命令:
#timedatectl set-ntp yes
date 工具使用说明
- 显示当前日期和时间 命令 date 可以显示当前系统时间、时区、日期等信息。并可以通过参数–utc显示当前时区时间。通过“format”标示符来输出特定状态。常用的format 说明如下:
表 1-2 参数介绍
%H | 以 HH 格式输出当前小时 |
%M | 以 MM 格式输出当前分钟 |
%S | 以 SS 格式输出当前秒数 |
%d | 以 DD 格式输出当前日期 |
%m | 以 MM 格式输出当前月份 |
%Y | 以 YYYY 格式输出当前年份 |
%Z | 显示时区制式,例如 C EST |
%F | 以 YYYY-MM-DD 格式输出当前年月日,等价于参数%Y-%m-%d |
%T | 以 HH:MM:SS 格式输出当前时间,等价于参数%H:%M:%S |
示例如下:
#date
Mon Feb 17 17:30:24 CEST 2020
#date –utc
Mon Feb 17 15:30:34 UTC 2020
#date+"%Y-%m-%d%H%M"
2020-02-17 17:30
- 变更当前时间 以 root 用户运行以下命令可以修改当前时间:
#date –set HH: MM: SS
其中 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。这个命令同样可以更新系统时间和物理时间,效果类似于 hwclock –systohc 命令。系统默认时间配置基于本地时间,如果想基于 UTC 时间来配置系统时间,需要以 root 用户运行以下命令修改。
#date –set HH: MM: SS –utc
- 变更当前日期 以 root 用户运行以下命令可以修改当前日期:
#date –set YYYY-MM-DD
其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:
#date –set 2020-02-20 23:26:00
hwclock 工具使用说明
- 显示当前日期和时间 命令 hwclock 可以显示当前系统时间、时区、日期等信息。并可以通过参数–utc 或–localtime 显示当前 UTC 时区时间和本地时间。示例如下:
#hwclock
Thur 13 Feb 2020 04:23:46 PM CEST -0.329272 seconds
- 变更当前日期和时间 以 root 用户运行以下命令可以修改当前时间:
#hwclock –set –date "dd mmm yyyy HH:MM"
其中 dd 代表日期 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。Mmm 代表月份,以月份英文三位字母简写表示,yyyy 代表年份,以四位数字表示。这个命令通过参数–utc 或—localtime 区分配置当前UTC 时区时间和本地时间 基于 UTC 时间来配置系统时间,需要以 root 用户运行以下命令修改,示例如下。
#hwclock –set –date "20 Feb 2020 21:17" –utc
- 同步系统与远程服务器时间 以 root 用户运行以下命令同步远程时间:
#hwclock –systohc
用户配置
用户配置可以对用户进行创建与管理,点击开始->控制面板->用户账户->创建一个新账户可以新建用户,并且可以配置头像、是否自动登录以及用户类型,输入用户名以及密码,点击创建用户即可创建成功。
图 1-1 创建账户 用户创建成功后,可以对账户密码以及头像进行重新更改,点击“更换密码”以及“更换头像”即可更改,点击“删除用户”即可将用户删除。
图 1-2 用户账户
Kdump 机制
Kdump 是基于 kexec 的内核崩溃转储机制,在系统崩溃、死锁或死机时用来转储内存运行参数的一个工具和服务,用来捕获内核崩溃的时候产生的crashdump。Kdump 是迄今为止最可靠的内核转存机制,最大的优点在于崩溃转储数据可从一个新启动内核的上下文中获取,而不是从已经崩溃内核的上下文。Kdump 需要两个不同目的的内核,生产内核和捕获内核。生产内核是捕获内核服务的对像:如果系统一旦崩溃,那么正常的内核就没有办法工作了,在这个时候将由 Kdump 产生一个用于捕获当前运行信息的内核,该内核会与相应的ramdisk(虚拟内存盘:将内存模拟成硬盘的技术)一起组建一个微环境,将此时的内存中的所有运行状态和数据信息收集到一个 dump core 文件中,一旦内存信息收集完成,系统将会自动重启。 Kdump 机制主要包括两个组件:kdump 和 kexec。kdump 使用 kexec 启动到捕获内核,以很小内存启动以捕获转储镜像。生产内核保留了内存的一部分给捕获内核启动用。由于 kdump 利用kexec 启动捕获内核,绕过了 BIOS,所以第一个内核的内存得以保留。这是内核崩溃转储的本质。kexec 是一个快速启动 kernel 的机制,它运行在某一正在运行的kernel 中,启动一个新的 kernel 而且不用重新经过 BIOS 就可以完成启动。因为一般BIOS都会花费很长的时间,尤其是在大型并且同时连接许多外部设备的Server 上的环境下,BIOS 会花费更多的时间。 kexec 包括 2 个组成部分:一是内核空间的系统调用kexec_load,负责在生产内核启动时将捕获内核加载到指定地址。二是用户空间的工具kexec-tools,他将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的地址并运行。
Kdump 命令行配置
- 安装 Kdump 需要的软件包
kdump | kdump软件包 |
kexec-tools | kexec软件包,kdump用到的各种工具都在此包中 |
kernel-debuginfo | 用来分析vmcore文件 |
kernel-debuginfo-common | kernel-debuginfo依赖包 |
使用Kdump服务,需先安装这些工具包。安装命令如下:
dnf install kdump kexec-tools kernel-debuginfo-common kernel-debuginfo
- 配置 grub Kdump 的使用需要配置 kdump kernel 的内存区域。Kdump 要求操作系统正常使用的时候,不能使用 kdump kernel 所占用的内存,配置这个需要修改/boot/grub/grub.conf 文件,修改用到的引导部分,加入crashkernel。Crashkernel 的格式如下:
crashkernel=nn[KMG]@ss[KMG]
其中 nn 表示要为 crashkernel 预留多少内存,ss 表示为crashkernel 预留内存的起始位置。 修改完成并重启后,可以通过 cat /proc/cmdline 查看kernel 启动配置选项,其中已经加入了 crashkernel 项。
- 启动和查看 Kdump 服务 查看 Kdump 服务命令如下:
#systemctl status kdump.service
如果 Kdump 服务未开启,使用如下命令来启动 kdump 服务:
#systemctl start kdump.service
获取特权
系统普通用户的权限有不同的限制,某些情况下普通需用需要执行管理员用户权限才能执行的命令,此时可以通过 su 或者 sudo 命令获得管理员权限特权。
u 命令工具
用户使用 su 命令时,需要输入 root 用户密码,验证通过后可以获取root 的脚本环境。一旦通过 su 命令登入,这个用户的所有操作均视为root 用户操作。由于 su 可以获取 root 全部权限,并因此获取其他用户的权限,可能存在一定安全问题。因此可以通过管理员组群 wheel 来进行限制。以root 用户执行以下命令:
#usermod -G wheel username
当将用户加入 wheel 组群后,可以限制只有这个组群的用户可以使用su命令访问。配置 su 的 PAM 可以编辑/etc/pam.d/su 文件,通过添加删除#字符来确认添加或删除相应内容。
#auth required pam_wheel.so use_uid
上述内容表示管理员组群 wheel 内的用户可以通过su 访问其他用户。
sudo 命令工具
sudo 命令允许系统管理员让普通用户执行一些或者全部的root 命令。当可信用户执行 sudo 命令时,需要提供他们自己的用户密码,然后以root 权限执行命令。 基本的 sudo 命令如下:
#sudo command
sudo 命令有很大的弹性,只有在/etc/sudoers 文件中被允许的用户可以执行在他们自己的 shell 环境中执行 sudo 命令,而不是 root 的shell 环境。这意味着在 7 系列中 root 的 shell 环境是被禁止访问的。 配置 sudo 必须通过编辑/etc/sudoers 文件,而且只有管理员用户才可以修改它,必须使用 visudo 编辑。之所以使用 visudo 有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行一些的语法检查。以root 身份用visudo打开配置文件,输入以下内容:
#juan ALL=(ALL) ALL
这条信息意思是 juan 用户可以以任何主机连接并通过sudo 执行任何命令。下面这条信息说明users用户可以本地主机可以执行/sbin/shutdown -h now命令:
%users localhost=/sbin/shutdown -h now
评论前必须登录!
注册