银河麒麟高级服务器操作系统V10-系统管理员手册:01 基本系统配置

服务器 0

目录

第一章 基本系统配置

1.1. 系统地区和键盘配置

1.1.1. 配置系统地区

1.1.1.1. 显示当前配置

1.1.1.2. 显示可用地区列表

1.1.1.3. 配置地区

1.1.2. 配置键盘布局

1.1.2.1. 显示当前配置

1.1.2.2. 显示可用键盘布局列表

1.1.2.3. 配置键盘

1.1.3. 其他资源

1.2. 网络访问配置

1.2.1. 动态网络配置

1.2.2. 静态网络配置

1.2.3. 配置 DNS

1.3. 日期和时间配置

1.3.1. timedatectl 工具使用说明

1.3.1.1. 显示当前日期和时间

1.3.1.2. 变更当前时间

1.3.1.3. 变更当前日期

1.3.1.4. 修改时区

1.3.1.5. 同步系统与远程服务器时间

1.3.2. date 工具使用说明

1.3.2.1. 显示当前日期和时间

1.3.2.2. 变更当前时间

1.3.2.3. 变更当前日期

1.3.3. hwclock 工具使用说明

1.3.3.1. 显示当前日期和时间

1.3.3.2. 变更当前日期和时间

1.3.3.3. 同步系统与远程服务器时间

1.4. 用户配置

1.5. Kdump 机制

1.5.1. Kdump 命令行配置

1.5.2.1.安装 Kdump 需要的软件包

1.5.2.2.配置 grub

1.5.2.3.启动和查看 Kdump 服务

1.6. 获取特权

1.6.1. su 命令工具

1.6.2. sudo 命令工具


第一章 基本系统配置

这部分涵盖了基本的系统管理任务,如键盘配置、日期和时间配置、用户和组群配置以及授权配置。

1.1. 系统地区和键盘配置

系统地区配置是指系统服务和用户界面的语言环境配置。键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。这些设置可以通过修改/etc/locale.conf 配置文件或使用 localectl 命令。此外,您可以在用户图形界面来执行任务,详情请参考安装手册。

1.1.1. 配置系统地区

系统地区配置文件为/etc/locale.conf,在系统启动时引导 systemd 守护进程。这个配置文件可以被每一个服务或者用户继承,单个服务或者用户也可修改配置 文件。例如语言为英语,地区为德国的/etc/locale 文件的配置内容如下:

LANG=de_DE.UTF-8

LC_MESSAGES=C

LC_MESSAGES 选项决定了诊断消息的标准输出文本格式。其他选项说明

总结在表 1-1 在所示。

1.1.1.1. 显示当前配置

Localectl 命令可用于配置语言环境和键盘布局。显示当前配置,可使用如下命令:

#localectl status

1.1.1.2. 显示可用地区列表

显示可用地区列表可使用如下命令:

#localectl list-locales | grep en_

1.1.1.3. 配置地区

配置系统默认地区,需要以 root 用户身份运行:

#localectl set-locale LANG=locale

用户可以配置适合的地区标示符以代替 locale,可通过 localectl list-locales

检索适合的地区。

1.1.2. 配置键盘布局

键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。

1.1.2.1. 显示当前配置

Localectl 命令可用于配置语言环境和键盘布局。显示当前配置,可使用如下

命令

#localectl status

1.1.2.2. 显示可用键盘布局列表

显示可用键盘布局列表可使用如下命令:

#localectl list-keymaps

1.1.2.3. 配置键盘

配置系统默认键盘布局,需要以 root 用户身份运行:

#localectl set-keymap {map}

用户可以配置适合的键盘布局标示符以代替{map},如“cz”,可通过 localectl

映 射,但使用--no–convert 参数的话则不生效。同样也可用以下命令单独配置 X11 窗口的键盘布局:

#localectl set-x11-keymap cz

如果用户希望 X11 窗口和命令行终端的键盘布局不一样,可以使用如下命令:

#localectl --no-convert set-x11-keymap cz

1.1.3. 其他资源

其他官方配置系统地区和键盘布局的内容可以参考安装手册。同时还可参考

1.6 获取特权章节和 5.1 章节。

1.2. 网络访问配置

1.2.1. 动态网络配置

打开终端,以网口 eth0 为例:

#nmcli conn add connection.id eth0-dhcp type ether ifname eth0 ipv4.method auto

其中“eth0-dhcp”为连接的名字,可以根据自己的需要命名方便记忆和操作

的名字;“ifname eth0”为配置的网口,根据自己的设备情况按需调整。

1.2.2. 静态网络配置

打开终端,以网口 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、子网掩码、网关根据实际网络按需配置。

1.2.3. 配置 DNS

打开终端,编辑/etc/resolv.conf,设置 nameserver

1.3. 日期和时间配置

操作系统区分以下两种时区:

Ø 实时时间(RTC),通常作为物理时钟,它可以独立于系统当前状态计时,在主机关机情况下也可计时。

Ø 系统时间,是基于实时时间的由操作系统内核维护的软件时间。等系统启动内核初始化系统时间后,系统时间就独立于实时时间自行计时。

系统时间通常还保持一套世界统一时间(UTC),用于转换系统的不同时区,本地时间就是用户所在时区的真实时间。

操作系统提供了三种命令行时间管理工具,timedatectldate hwclock。以下将分别介绍各个工具的使用。

1.3.1. timedatectl 工具使用说明

1.3.1.1. 显示当前日期和时间

命令 timedatectl 可以显示当前系统时间和机器的物理时间及其详细信息。如下示例是未启用 NTP 时钟同步的系统时间:

#timedatectl

变更 chrony ntpd 服务状态不会主动通知 timedatectl 工具,如果想要更新 服务的配置信息,请执行以下命令:

#systemctl restart systemd-timedated.service

1.3.1.2. 变更当前时间

root 用户运行以下命令可以修改当前时间:

#timedatectl set-time HH: MM: SS

其中 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。这个命

令同样可以更新系统时间和物理时间,效果类似于 date --set hwclock--systohc

命令。

系统默认时间配置基于 UTC,如果想基于本地时间来配置系统时间,需要

root 用户运行以下命令修改。

#timedatectl set-local-rtc boolean

如果基于本地时间,需要将 boolean 配置为 yes(或者 ytruet 或者 1)。

如果使用 UTC 时间,则要将 boolean 配置为 no(或者 nfalsef 或者 0)。系统默认 boolean no

1.3.1.3. 变更当前日期

root 用户运行以下命令可以修改当前日期:

#timedatectl set-time YYYY-MM-DD

其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD 代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:

#timedatectl set-time '2020-02-17 23:26:00'

1.3.1.4. 修改时区

执行以下命令可以显示当前时区:

#timedatectl show

root 用户运行以下命令可以修改当前时区,如修改为“上海”:

#timedatectl set-timezone Asia/Shanghai

显示所有时区命令如下:

#timedatectl list-timezones

1.3.1.5. 同步系统与远程服务器时间

root 用户运行以下命令可以启用/禁用时间同步服务:

#timedatectl set-ntp boolean

启用与禁用需要配置 boolean 值为 yes 或者 no。例如需要自动同步一个远程时间服务器,可以执行以下命令:

#timedatectl set-ntp yes

1.3.2. date 工具使用说明

1.3.2.1. 显示当前日期和时间

命令 date 可以显示当前系统时间、时区、日期等信息。并可以通过参数--utc显示当前时区时间。通过“format”标示符来输出特定状态。常用的 format 说明如下:

示例如下:

#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

1.3.2.2. 变更当前时间

root 用户运行以下命令可以修改当前时间:

#date --set HH: MM: SS

其中 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。这个命令同样可以更新系统时间和物理时间,效果类似于 hwclock –systohc 命令。

系统默认时间配置基于本地时间,如果想基于 UTC 时间来配置系统时间,需要以 root 用户运行以下命令修改。

#date --set HH: MM: SS --utc

1.3.2.3. 变更当前日期

root 用户运行以下命令可以修改当前日期:

#date --set YYYY-MM-DD

其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD

代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:

#date --set 2020-02-20 23:26:00

1.3.3. hwclock 工具使用说明

1.3.3.1. 显示当前日期和时间

命令 hwclock 可以显示当前系统时间、时区、日期等信息。并可以通过参数--utc --localtime 显示当前 UTC 时区时间和本地时间。示例如下:

#hwclock

Thur 13 Feb 2020 04:23:46 PM CEST -0.329272 seconds

1.3.3.2. 变更当前日期和时间

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

1.3.3.3. 同步系统与远程服务器时间

root 用户运行以下命令同步远程时间:

#hwclock --systohc

1.4. 用户配置

用户配置可以对用户进行创建与管理,点击开始->控制面板->用户账户->创建一个新账户可以新建用户,并且可以配置头像、是否自动登录以及用户类型,输入用户名以及密码,点击创建用户即可创建成功。

 

 用户创建成功后,可以对账户密码以及头像进行重新更改,点击“更换密码” 以及“更换头像”即可更改,点击“删除用户”即可将用户删除。

1.5. Kdump 机制

        Kdump 是基于 kexec 的内核崩溃转储机制,在系统崩溃、死锁或死机时用来转储内存运行参数的一个工具和服务,用来捕获内核崩溃的时候产生的 crash dumpKdump 是迄今为止最可靠的内核转存机制,最大的优点在于崩溃转储数 据可从一个新启动内核的上下文中获取,而不是从已经崩溃内核的上下文。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他 将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的 地址并运行。

1.5.1. Kdump 命令行配置

1.5.2.1.安装 Kdump 需要的软件包

        使用Kdump服务,需先安装这些工具包。安装命令如下:

        dnf install kdump kexec-tools kernel-debuginfo-common kernel-debuginfo

1.5.2.2.配置 grub

        Kdump 的使用需要配置 kdump kernel 的内存区域。Kdump 要求操作系统正 常使用的时候,不能使用 kdump kernel 所占用的内存,配置这个需要修改 /boot/grub/grub.conf 文件,修改用到的引导部分,加入 crashkernelCrashkernel 的格式如下:

crashkernel=nn[KMG]@ss[KMG]

        其中 nn 表示要为 crashkernel 预留多少内存,ss 表示为 crashkernel 预留内存 的起始位置。

        修改完成并重启后,可以通过 cat /proc/cmdline 查看 kernel 启动配置选项,其中已经加入了 crashkernel 项。

1.5.2.3.启动和查看 Kdump 服务

查看 Kdump 服务命令如下:

#systemctl status kdump.service

如果 Kdump 服务未开启,使用如下命令来启动 kdump 服务:

#systemctl start kdump.service

1.6. 获取特权

        系统普通用户的权限有不同的限制,某些情况下普通需用需要执行管理员用户权限才能执行的命令,此时可以通过 su 或者 sudo 命令获得管理员权限特权。

1.6.1. su 命令工具

        用户使用 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 访问其他用户。

1.6.2. 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

也许您对下面的内容还感兴趣: