目录
这部分涵盖了基本的系统管理任务,如键盘配置、日期和时间配置、用户和组群配置以及授权配置。
系统地区配置是指系统服务和用户界面的语言环境配置。键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。这些设置可以通过修改/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. 动态网络配置
打开终端,以网口 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:
操作系统区分以下两种时区:
Ø 实时时间(RTC),通常作为物理时钟,它可以独立于系统当前状态计时,在主机关机情况下也可计时。
Ø 系统时间,是基于实时时间的由操作系统内核维护的软件时间。等系统启动内核初始化系统时间后,系统时间就独立于实时时间自行计时。
系统时间通常还保持一套世界统一时间(UTC),用于转换系统的不同时区,本地时间就是用户所在时区的真实时间。
操作系统提供了三种命令行时间管理工具,timedatectl、date 和 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(或者 y,true,t 或者 1)。
如果使用 UTC 时间,则要将 boolean 配置为 no(或者 n,false,f 或者 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
用户配置可以对用户进行创建与管理,点击开始->控制面板->用户账户->创建一个新账户可以新建用户,并且可以配置头像、是否自动登录以及用户类型,输入用户名以及密码,点击创建用户即可创建成功。
用户创建成功后,可以对账户密码以及头像进行重新更改,点击“更换密码” 以及“更换头像”即可更改,点击“删除用户”即可将用户删除。
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他 将捕获内核的地址传递给生产内核,从而在系统崩溃的时候能够找到捕获内核的 地址并运行。
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 文件,修改用到的引导部分,加入 crashkernel。Crashkernel 的格式如下:
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
系统普通用户的权限有不同的限制,某些情况下普通需用需要执行管理员用户权限才能执行的命令,此时可以通过 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
来源地址:https://blog.csdn.net/weixin_57099902/article/details/130705613