😄
😄
😄
😄
FreeBSD 手册 2022
Search…
FreeBSD 手册
FreeBSD 手册
概述
前言
目标受众
相对于第三版的改动
相对于第二版的改动 (2004)
相对于第一版的改动 (2001)
本书的组织结构
本书中使用的一些约定
致谢
第一部分:快速开始
第1章 简介
1.1.概述
1.2.欢迎来到 FreeBSD!
1.3.关于 FreeBSD 项目
第2章 安装 FreeBSD
2.1.概述
2.2.最低硬件要求
2.3.安装前的准备工作
2.4.开始安装
2.5.使用 bsdinstall
2.6.分配磁盘空间
2.7.获取安装文件
2.8.账户、时区、服务和安全
2.9.网络接口
2.10.故障排除
2.11.使用 Live CD
第3章 FreeBSD 基础
3.1.概述
3.2.虚拟控制台和终端
3.3.用户和基本账户管理
3.4.权限
3.5.目录结构
3.6.磁盘组织
3.7.文件系统的挂载与卸载
3.8.进程和守护进程
3.9.Shell
3.10.文本编辑器
3.11.设备和设备节点
3.12.手册页
第4章 安装应用程序: Package 和 Port
4.1.概述
4.2.软件安装的概述
4.3.寻找所需的应用程序
4.4.使用 pkg 进行二进制包管理
4.5.使用 Ports Collection
4.6.使用 Poudriere 构建软件包
4.7.安装后的注意事项
4.8.如何处理损坏的 port
第5章 X Window 系统
5.1.概述
5.2.术语
5.3.安装 Xorg
5.4.Xorg 配置
5.5.在 X11 中使用字体
5.6.X 显示管理器
5.7.桌面环境
5.8.使用 Compiz Fusion
5.9.故障排除
5.10.FreeBSD 中的 Wayland
第二部分:常见任务
第6章 桌面应用程序
6.1.概述
6.2.浏览器
6.3.生产力工具
6.4.文档阅读器
6.5.财务
第7章 多媒体
7.1.概述
7.2.设置声卡
7.3.MP3 音频
7.4.视频回放
7.5.电视卡
7.6.MythTV
7.7.图像扫描仪
第8章 配置 FreeBSD 内核
8.1.概述
8.2.为什么要构建自定义内核
8.3.浏览系统硬件
8.5.构建与安装自定义内核
8.6.如果发生了一些错误
第9章 打印
9.1.快速入门
9.2.打印机连接
9.3.常见的页面描述语言
9.4.直接打印
9.5.LPD(行式打印机程序)
9.6.其他打印系统
第10章 Linux 二进制兼容层
10.1.概述
10.2.配置 Linux 二进制兼容层
10.3.从 FreeBSD 软件包安装 CentOS 基础系统
10.4.使用 debootstrap(8) 构建 Debian / Ubuntu 基本系统
10.5. 高级主题
第11章 wine
11.1.概述
11.2.WINE 概述和概念
11.3.在 FreeBSD 上安装 WINE
11.4.在 FreeBSD 上运行第一个 WINE 程序
11.5.配置 WINE 安装
11.6.WINE 图形管理用户界面
11.7.FreeBSD 多用户与 WINE
11.8.WINE 与 FreeBSD FAQ
第三部分:系统管理
第12章 设置和调整
12.1.概述
12.2.启动服务
12.3.配置 cron(8)
12.4.管理 FreeBSD 中的服务
12.5.设置网卡
12.6.虚拟主机
12.7.配置系统日志
12.8.配置文件
12.9.使用 sysctl(8) 进行调整
12.10.调整磁盘
12.11.调整内核限制
12.12.添加交换空间
12.13.电源和资源管理
第13章 FreeBSD 的启动过程
13.1.概述
13.2.FreeBSD 的启动过程
13.3.Device Hints
13.4.关机顺序
第14章 安全
14.1.概述
14.2.介绍
14.3.一次性密码
14.4.TCP Wrapper
14.5.Kerberos
14.6.OpenSSL
14.7.IPsec 上的 VPN
14.8.OpenSSH
14.9.文件系统访问控制表
14.10.监测第三方安全问题
14.11.FreeBSD 安全公告
14.12.进程审计
14.13.资源配额
14.14.使用 sudo 管理权限
14.15.使用 doas 作为 sudo 的替代品
第15章 Jail
15.1.概述
15.2.与 Jail 有关的术语
15.3.建立和控制 Jail
15.4.微调和管理
15.5.更新多个 Jail
15.6.使用 ezjail 管理 Jail
第16章 强制访问控制
16.1.概述
16.2.关键术语
16.3.了解 MAC 标签
16.4.规划安全配置
16.5.可用的 MAC 策略
16.6.用户锁定
16.7.MAC Jail 中的 Nagios
16.8.MAC 框架的故障排除
第17章 安全事件审计
17.1.概述
17.2.关键术语
17.3.审计配置
17.4.使用审计追踪
第18章 存储
18.1.概述
18.2.添加磁盘
18.3.调整和增加磁盘大小
18.4.USB 存储设备
18.5.创建和使用 CD 媒体
18.6.创建和使用 DVD 媒体
18.7.创建和使用软盘
18.8.使用 NTFS 磁盘
18.9.备份基础
18.10.内存盘
18.11.文件系统快照
18.12.磁盘配额
18.13.加密磁盘分区
18.14.加密交换分区
18.15.高可用性存储(HAST)
第19章 GEOM: 模块化磁盘转换框架
19.1.概述
19.2.RAID0 - 条带
19.3.RAID1 - 镜像
19.4.RAID3 - 带有专用奇偶校验的字节级条带
19.5.软件 RAID 设备
19.6.GEOM Gate 网络设备
19.7.为磁盘设备添加卷标
19.8.通过 GEOM 实现 UFS 日志
第20章 Z 文件系统 (ZFS)
20.1.什么使 ZFS 与众不同
20.2.快速入门指南
20.3.zpool 管理
20.4.zfs 管理
20.5.委托管理
20.6.高级主题
20.7.更多资源
20.8.ZFS 特性和术语
第21章 其他文件系统
21.1.概述
21.2.Linux® 文件系统
第22章 虚拟化
22.1.概述
22.2.使用 macOS® 上的 Parallels Desktop 安装 FreeBSD
22.3.使用 macOS® 上的 VMware Fusion 安装 FreeBSD
22.4.使用 VirtualBox™ 安装 FreeBSD
22.5.在 FreeBSD 上安装 VirtualBox™
22.6.使用 FreeBSD 上的 bhyve 虚拟机
22.7.使用 FreeBSD 上的 Xen™ 虚拟机
第23章 本地化 - i18n/L10n 的使用和设置
23.1.概述
23.2.使用本地化
23.3.寻找 i18n 应用程序
23.4.特定语言的地域配置
第24章 更新与升级 FreeBSD
24.1.概述
24.2.FreeBSD 更新
24.3.更新文档集
24.4.追踪开发分支
24.5.从源代码更新 FreeBSD
24.6.多台机器的升级
第25章 DTrace
25.1.概述
25.2.实现上的差异
25.3.开启 DTrace 支持
25.4.使用 DTrace
第26章 USB Device 模式 / USB OTG
26.1.概述
26.2.USB 虚拟串行端口
26.3.USB Device 模式网络接口
26.4.USB 虚拟存储设备
第四部分:网络通讯
第27章 串行通信
27.1.概述
27.2.串行术语和硬件
27.3.终端机
27.4.拨入服务
27.5.拨出服务
27.6.设置串行控制台
第28章 PPP
28.1.概述
28.2.配置 PPP
28.3.PPP 连接的故障排除
28.4.使用以太网 PPP(PPPoE)
28.5.使用 ATM 上的 PPP (PPPoA)
第29章:电子邮件
29.1.概述
29.2.邮件组件
29.3.sendmail 配置文件
29.4.改变邮件传输代理
29.5.故障排除
29.6.高级主题
29.7.设置为仅发送
29.8.在拨号连接中使用邮件
29.9.SMTP 认证
29.10.邮件用户代理
29.11.使用 fetchmail
29.12.使用 procmail
第30章 网络服务器
30.1.概述
30.2.inetd 超级服务器
30.3.网络文件系统(NFS)
30.4.网络信息系统(NIS)
30.5.轻型目录访问协议(LDAP)
30.6.动态主机设置协议(DHCP)
30.7.域名系统(DNS)
30.8.Apache HTTP 服务器
30.9.文件传输协议(FTP)
30.10.用于 Microsoft® Windows® 客户端的文件和打印服务(Samba)
30.11.用 NTP 进行时钟同步
30.12.iSCSI 启动器和目标机器配置
第31章 防火墙
31.1.概述
31.2.防火墙的概念
31.3.PF
31.4.IPFW
31.5.IPFILTER (IPF)
31.6.黑名单
第32章 高级网络
32.1.概述
32.2.网关和路由
32.3.无线网络
32.4.USB Tethering
32.5.蓝牙
32.6.桥接
32.7.链接聚合和故障转移
32.8.使用 PXE 进行无盘操作
32.9.IPv6
32.10.共用地址冗余协议((CARP))
32.11.VLAN
第五部分:附录
附录 A. 获取 FreeBSD
A.1.镜像站
A.2.使用 Git
A.3.使用 Subversion
A.4.CD 和 DVD 套装
附录 B. 书目
B.1.FreeBSD 相关书籍
B.2.用户指南
B.3.管理指南
B.4.开发指南
B.6.安全性参考文献
B.5.深入操作系统
B.7.硬件参考文献
B.8.UNIX® 历史
B.9.期刊和杂志
附录 C. 网络资源
C.1.网站
C.2.邮件列表
C.3.Usenet 新闻组
附录 D. OpenPGP 密钥
D.1.官方成员
术语表
签名
Powered By
GitBook
14.14.使用 sudo 管理权限
系统管理员通常需要向用户授予增强的权限,以便他们可以执行特权任务。团队成员可以访问 FreeBSD 系统来执行他们的特定任务,这给每个管理员带来了独特的挑战。这些团队成员只需要超出正常最终用户级别的访问权限子集;但是,他们几乎总是告诉管理层,如果没有超级用户访问权限,他们就无法执行任务。值得庆幸的是,没有理由向最终用户提供此类访问权限,因为存在用于管理此确切要求的工具。
到目前为止,安全章节已涵盖允许授权用户访问以及尝试防止未经授权的访问。授权用户有权访问系统资源后,会出现另一个问题。在许多情况下,某些用户可能需要访问应用程序启动脚本,或者管理员团队需要维护系统。传统上,标准用户和组、文件权限,甚至
su(1)
命令都会管理这种访问。而且,由于应用程序需要更多的访问权限,并且由于更多的用户需要使用系统资源,因此需要更好的解决方案。目前最常用的应用程序是 sudo。
sudo 允许管理员配置对系统命令的更严格的访问,并提供一些高级日志记录功能。作为一个工具。它可从 Ports 的
security/sudo
使用,也可以通过使用
pkg(8)
实用程序获得。要使用
pkg(8)
工具:
1
# pkg install sudo
Copied!
安装完成后,安装的
visudo
将使用文本编辑器打开配置文件。强烈建议使用
visudo
,因为它带有内置的语法检查器,用于在保存文件之前验证没有错误。
配置文件由几个小部分组成,允许进行广泛的配置。在下面的例子中,web 应用程序维护者 user1 需要启动、停止和重新启动 web 应用程序,即 webservice。要授予此用户执行这些任务的权限,请将以下行添加到
/usr/local/etc/sudoers
的末尾:
1
user1 ALL=(ALL) /usr/sbin/service webservice *
Copied!
用户现在可以使用以下命令启动
Web 服务
:
1
% sudo /usr/sbin/service webservice start
Copied!
虽然此配置允许单个用户访问 Web 服务服务;但是,在大多数组织中,有一个完整的Web 团队负责管理服务。单行还可以授予对整个组的访问权限。以下步骤将创建一个 Web 组,将用户添加到此组,并允许该组的所有成员管理服务:
1
# pw groupadd -g 6001 -n webteam
Copied!
使用相同的
pw(8)
命令。用户被添加到 webteam 组:
1
# pw groupmod -m user1 -n webteam
Copied!
最后,
/usr/local/etc/sudoers
中的这一行允许 webteam 组的任何成员管理
webservice
:
1
%webteam ALL=(ALL) /usr/sbin/service webservice *
Copied!
与
su(1)
不同,sudo 只需要最终用户密码。这增加了一个优势,用户不需要共享密码,这是大多数安全审核中的发现,并且一直很糟糕。
允许使用 sudo 运行应用程序的用户只需输入自己的密码。这比su(1)更安全,并能提供更好的控制,在
su(1)
中,用户输入根密码,就能获得所有根权限。
技巧
大多数组织正在或已经转向双因素认证模式。在这些情况下,用户可能没有密码需要输入。sudo 为这些情况提供了
NOPASSWD
变量。将它添加到上述配置中,将允许 webteam 组的所有成员在没有密码要求的情况下管理该服务。
1
%webteam ALL=(ALL) NOPASSWD: /usr/sbin/service webservice *
Copied!
14.14.1. 日志记录输出
实现 sudo 的一个优点是能够启用会话日志记录。使用内置的日志机制和随附的 sudoreplay 命令,将记录通过 sudo 启动的所有命令以供以后验证。若要启用此功能,请添加默认日志目录条目,此示例使用用户变量。还存在其他几种日志文件名约定,有关其他信息,请参阅 sudoreplay 的手册页。
1
Defaults iolog_dir=/var/log/sudo-io/%{user}
Copied!
技巧
这个目录将在配置好日志后自动创建。为了安全起见,最好让系统以默认权限创建目录。此外,这个条目还将记录使用 sudoreplay 命令的管理员。要改变这种行为,请阅读并取消对 sudoers 里面的日志选项的注释。
将此指令添加到
sudoers
文件后,可以使用日志访问请求更新任何用户配置。在所示的示例中,更新后的
webteam
条目将具有以下附加更改:
1
%webteam ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: /usr/sbin/service webservice *
Copied!
从此时起,将记录所有更改
Web 服务
应用程序状态的 web
团队
成员。可以通过以下方式显示以前和当前会话的列表:
1
# sudoreplay -l
Copied!
在输出中,要重播特定会话,请搜索
TSID=
条目,然后将其传递给 sudoreplay,没有其他选项以正常速度重播会话。例如:
1
# sudoreplay user1/00/00/02
Copied!
警告
在记录会话时,任何管理员都可以删除会话,而只留下他们为什么这样做的问题。通过入侵检测系统 (IDS) 或类似软件添加每日检查是值得的,以便其他管理员收到手动更改的警报。
sudoreplay
是非常可扩展的。有关详细信息,请参阅文档。
第14章 安全 - Previous
14.13.资源配额
Next - 第14章 安全
14.15.使用 doas 作为 sudo 的替代品
Last modified
21d ago
Copy link
Edit on GitHub
Contents
14.14.1. 日志记录输出