本文涵盖了基本的系统管理任务,如键盘配置、日期和时间配置、用户和组群配置以及授权配置。
系统地区和键盘配置系统地区配置是指系统服务和用户界面的语言环境配置。键盘布局配置是指文本控制台和图形用户界面的键盘布局规则。这些设置可以通过修改 /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]软件包名称 | 软件包说明 | 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
配置 grubKdump 的使用需要配置 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
版权声明:如无特殊说明,文章均为本站原创,版权所有,转载需注明本文链接
|