第八章 学习系统管理
8.1 理解系统管理
-
su 命令 — 以 root 用户身份打开一个 shell
-
sudo 命令 — 普通用户通过此命令运行其他命令时,该才会被赋予 root 权限
8.2 使用图形化管理工具
Cockpit 是基于浏览器的系统管理工具
- 安装 Cockpit
1
sudo dnf install cockpit
- 以 root 身份登录,启用 Cockpit 套接字
1
sudo systemctl enable --now cockpit.socker
- 在浏览器打开界面:
localhost:9090
8.2.1 使用 system-config-* 工具
工具 | 命令 | 描述 |
---|---|---|
域名系统 | system-config-bind | 如果计算机充当 DNS 服务器,应创建和配置区域 (Zone) |
HTTP | system-config-httpd | Apache Web 服务器 |
NFS | system-config-nfs | 设置与其他使用了 NFS 服务的计算机共享的目录 |
Root Password | system-config-rootpassword | 更改 root 密码 |
Samba NFS | system-config-samba | 配置 Win 共享文件夹 |
Services | system-config-services | 显示和更改 Fedora 中在不同运行级别的服务 |
Authentication | authconfig-gtk | 更改系统中对用户进行身份验证的方式 |
Date & Time | system-config-date | 设置日期和时间或与 NTP 服务器保存同步 |
Firewall | system-config-firewall | 配置防火墙 |
Language | system-config-language | 选择语言 |
Printing | system-config-printer | 配置本地和网络打印机 |
SELinux Management | policycoreutils-gui | 设置 SELinux 的强制模式和默认策略 |
Users & Groups | system-config-users | 用户账户相关 |
8.3 使用 root 用户账户
8.3.1 通过 shell 成为 root 用户
使用命令 su
即可转为 root 用户,但此时环境变量还是原来的账户
使用 su -
以将变量也转变为 root 用户的
此外,通过 su - username
可切换到指定用户
8.3.2 使用 sudo 获取管理访问权限
使用 sudo 运行的命令拥有 root 权限,而且不需要 root 密码,只需要赋予相应用户权限即可
以下为赋予 sudo 权限
-
以 root 身份运行
visudo
命令 -
添加如下所示行
1
2
3
4
5
yexca ALL=(ALL) ALL
# 或下面为使用 sudo 时不需要密码
# (该用户的密码,不是 root 用户的密码)
yexca ALL=(ALL) NOPASSWD:ALL
这样将赋予用户 yexca 以 sudo 权限
- 保存更改后文件
8.4.2 管理配置文件
大部分配置文件以纯文本的形式存在 /etc 目录下,以下为部分文件
目录 | 描述 |
---|---|
/etc/cron* | 定义了 crond 计划执行的程序,如 cron.daily、cron.hourly |
/etc/cups | 配置 CUPS 打印服务的文件 |
/etc/default | 为各种实用工具设置默认值的文件 |
/etc/httpd | 配置 Apache Web 服务器行为 |
/etc/rc?.d | 针对每一种有效的系统状态,都有一个单独的 rc?.d 目录:rc0.d (关闭状态)、rc1.d (单用户状态)、rc2.d (多用户状态)、rc3.d (多用户加网络状态)、rc4.d (用户定义的状态)、rc5.d (多用户、网络与 GUI 登录状态) 和 rc6.d (重新启动状态) |
/etc/skel | 创建新用户时,该目录文件被复制到新用户的主目录 |
/etc/sysconfig | 包含各种服务所创建和维护的重要系统配置文件 |
/etc/systemd | 包含与 systemd 实用工具 (用来管理启动进程和系统服务) 相关联的文件 |
/etc/xinetd.d | 包含一组文件,每一个文件定义了一个 xinted 守护进程监听某一个特定端口所需的点播网络服务 |
8.4.3 管理日志文件和 Systemd.Journal
rsyslogd 和 systemd 的 journalctl
命令
rsyslogd 及前身 syslogd 将文件放到 /var/log
目录
8.5 使用其他管理账户
例如 lp 、apache 、bin 等用户,默认不允许登录
如果要登录需要将默认 shell 从 /sbin/nologin
或 /bin/false
改为真实 shell,例如 /bin/bash
8.6 检查和配置硬件
8.6.1 检查硬件
通过 dmesg
或 journalctl
命令查看 Linux 启动时硬件检测信息以及驱动加载信息
通过 lspci
命令查看计算机上 PCI 总线及连接到这些总线上的设备,lsusb
命令列出 USB 设备信息,lscpu
列出处理器信息
8.6.2 使用可加载模块
如果想添加未被正确识别的硬件,可能需要手动加载
- 列出可加载模块
通过 lsmod
命令,如要获取某一模块详情,通过 modinfo -d 模块
命令
- 加载模块
使用 modprobe
命令加载任何被编译并安装到运行内核的模块
- 删除模块
使用 rmmod
命令,或使用 modprobe -r
以将依赖模块一起删除
8.7 小结
在 Linux中应该把各项服务 (http、git 等) 单独创建用户并限制登录权限以保证系统安全
第九章 安装 Linux
なし
图形化安装不必多说,其他安装可参考 Arch 参考手册
我也写了一篇比 Arch 手册垃圾的文章:虚拟机中 Arch Linux 安装记录 – yexca’Blog
另有远程安装例 PXE 启动之类因无法复现,无法理解