LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1367|回复: 0

银河麒麟(KylinOS)基本系统配置

[复制链接]
发表于 2024-1-5 18:02:08 | 显示全部楼层 |阅读模式
本文涵盖了基本的系统管理任务,如键盘配置、日期和时间配置、用户和组群配置以及授权配置。


系统地区和键盘配置‌
系统地区配置是指系统服务和用户界面的语言环境配置。键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。这些设置可以通过修改
/etc/locale.conf 配置文件或使用 localectl 命令。此外,您可以在用户图形界面来执行任务,详情请参考安装手册。
配置系统地区‌
LANG=de_DE.UTF-8 LC_MESSAGES=C
系统地区配置文件为/etc/locale.conf,在系统启动时引导 systemd 守护进程。这个配置文件可以被每一个服务或者用户继承,单个服务或者用户也可修改配置文件。例如语言为英语,地区为德国的/etc/locale 文件的配置内容如下:
LC_MESSAGES 选项决定了诊断消息的标准输出文本格式。其他选项说明总结在表 1-1 在所示。
表 1-1 在/etc/locale.conf 文件中可配置项
[td]
配置项描述
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 status
Localectl 命令可用于配置语言环境和键盘布局。显示当前配置,可使用如下命令:
显示可用键盘布局列表
显示可用键盘布局列表可使用如下命令:
localectl list-keymaps
配置键盘
配置系统默认键盘布局,需要以 root 用户身份运行:
localectl set-keymap *{map}*localectl set-x11-keymap cz
用户可以配置适合的键盘布局标示符以代替{map},如“cz”,可通过 localectl list-keymaps 检索适合的键盘布局。该命令还可用于配置 X11 窗口的键盘布局映射,但使用--no–convert 参数的话则不生效。同样也可用以下命令单独配置 X11窗口的键盘布局:
如果用户希望 X11 窗口和命令行终端的键盘布局不一样,可以使用如下命令:
localectl --no-convert set-x11-keymap cz
网络访问配置‌动态网络配置‌
打开终端,以网口 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
命令 timedatectl 可以显示当前系统时间和机器的物理时间及其详细信息。如下示例是未启用 NTP 时钟同步的系统时间:
systemctl restart systemd-timedated.service
变更 chrony 或 ntpd 服务状态不会主动通知 timedatectl 工具,如果想要更新服务的配置信息,请执行以下命令:
变更当前时间
以 root 用户运行以下命令可以修改当前时间:
timedatectl set-time HH: MM: SS
其中 HH 代表小时,MM 代表分钟,SS 代表秒数,均需两位表示。这个命令同样可以更新系统时间和物理时间,效果类似于 date --set 和 hwclock --systohc命令。
timedatectl set-local-rtc boolean
系统默认时间配置基于 UTC,如果想基于本地时间来配置系统时间,需要以 root 用户运行以下命令修改。
如果基于本地时间,需要将 boolean 配置为 yes(或者 y,true,t 或者 1)。如果使用 UTC 时间,则要将 boolean 配置为 no(或者 n,false,f 或者 0)。系统默认 boolean 为 no。
变更当前日期
以 root 用户运行以下命令可以修改当前日期:
timedatectl set-time YYYY-MM-DDtimedatectl set-time '2020-02-17 23:26:00'
其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:
修改时区
执行以下命令可以显示当前时区:
timedatectl show
以 root 用户运行以下命令可以修改当前时区,如修改为“上海”:
timedatectl set-timezone Asia/Shanghai
显示所有时区命令如下:
timedatectl list-timezones
同步系统与远程服务器时间
以 root 用户运行以下命令可以启用/禁用时间同步服务:
timedatectl set-ntp booleantimedatectl set-ntp yes
启用与禁用需要配置 boolean 值为 yes 或者 no。例如需要自动同步一个远程时间服务器,可以执行以下命令:
date 工具使用说明‌显示当前日期和时间
命令 date 可以显示当前系统时间、时区、日期等信息。并可以通过参数--utc显示当前时区时间。通过“format”标示符来输出特定状态。常用的 format 说明如下:
表 1-2 参数介绍
[td]
参数描述
%H以 HH 格式输出当前小时
%M以 MM 格式输出当前分钟
%S以 SS 格式输出当前秒数
%d以 DD 格式输出当前日期
%m以 MM 格式输出当前月份
[td]
%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 命令。
date --set HH: MM: SS --utc
系统默认时间配置基于本地时间,如果想基于 UTC 时间来配置系统时间,需要以 root 用户运行以下命令修改。
变更当前日期
以 root 用户运行以下命令可以修改当前日期:
date --set YYYY-MM-DDdate --set 2020-02-20 23:26:00
其中 YYYY 代表年份,需 4 位数表示;MM 代表月份,需两位数表示;DD代表日期,需两位表示。如果还需要配置时间,可以补充上时间参数,示例如下:
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 时区时间和本地时间
hwclock --set --date "20 Feb 2020 21:17" --utc
基于 UTC 时间来配置系统时间,需要以 root 用户运行以下命令修改,示例如下。
同步系统与远程服务器时间
以 root 用户运行以下命令同步远程时间:
hwclock --systohc
用户配置‌
用户配置可以对用户进行创建与管理,点击开始->控制面板->用户账户->创建一个新账户可以新建用户,并且可以配置头像、是否自动登录以及用户类型,输入用户名以及密码,点击创建用户即可创建成功。
图 1-1 创建账户
用户创建成功后,可以对账户密码以及头像进行重新更改,点击“更换密码”以及“更换头像”即可更改,点击“删除用户”即可将用户删除。
图 1-2 用户账户
Kdump 机制‌
Kdump 是基于 kexec 的内核崩溃转储机制,在系统崩溃、死锁或死机时用来转储内存运行参数的一个工具和服务,用来捕获内核崩溃的时候产生的 crash dump。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 需要的软件包
表 1-6 Kdump 所需的软件包
[td]
软件包名称软件包说明
kdumpkdump软件包
kexec-toolskexec软件包,kdump用到的各种工具都在此包中
kernel-debuginfo用来分析vmcore文件
kernel-debuginfo-commonkernel-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 项。
systemctl status kdump.service
启动和查看 Kdump 服务
查看 Kdump 服务命令如下:
如果 Kdump 服务未开启,使用如下命令来启动 kdump 服务:
systemctl start kdump.service
获取特权‌
系统普通用户的权限有不同的限制,某些情况下普通需用需要执行管理员用户权限才能执行的命令,此时可以通过 su 或者 sudo 命令获得管理员权限特权。
su 命令工具usermod -G wheel username
用户使用 su 命令时,需要输入 root 用户密码,验证通过后可以获取 root 的脚本环境。一旦通过 su 命令登入,这个用户的所有操作均视为 root 用户操作。由于 su 可以获取 root 全部权限,并因此获取其他用户的权限,可能存在一定安全问题。因此可以通过管理员组群 wheel 来进行限制。以 root 用户执行以下命令:
auth required pam_wheel.so use_uid
当将用户加入 wheel 组群后,可以限制只有这个组群的用户可以使用 su 命令访问。配置 su 的 PAM 可以编辑/etc/pam.d/su 文件,通过添加删除#字符来确认添加或删除相应内容。
上述内容表示管理员组群 wheel 内的用户可以通过 su 访问其他用户。
sudo 命令工具
sudo 命令允许系统管理员让普通用户执行一些或者全部的 root 命令。当可信用户执行 sudo 命令时,需要提供他们自己的用户密码,然后以 root 权限执行命令。
基本的 sudo 命令如下:
sudo command
sudo 命令有很大的弹性,只有在/etc/sudoers 文件中被允许的用户可以执行在他们自己的 shell 环境中执行 sudo 命令,而不是 root 的 shell 环境。这意味着在 7 系列中 root 的 shell 环境是被禁止访问的。
juan ALL=(ALL) ALL
配置 sudo 必须通过编辑/etc/sudoers 文件,而且只有管理员用户才可以修改它,必须使用 visudo 编辑。之所以使用 visudo 有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行一些的语法检查。以 root 身份用 visudo 打开配置文件,输入以下内容:
这条信息意思是 juan 用户可以以任何主机连接并通过 sudo 执行任何命令。下面这条信息说明users 用户可以本地主机可以执行/sbin/shutdown -h now 命令:
%users localhost=/sbin/shutdown -h now
版权声明:如无特殊说明,文章均为本站原创,版权所有,转载需注明本文链接

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表