2. Fedora 针对系统管理员所做的变更
通过如 PXE 的内核直接引导方式安装发生了较大变化。从安装介质中进行常规安装不受影响。
高级用户可能会以各种方式进行网络安装,为了安装通常会涉及一些最小化内核环境的设置。该操作在 Fedora 17 中发生了重要改变。
F16 中一般只需要指定内核以及 initrd 的位置,安装便可开始 - kernel/initrd
到 stage1
,然后 stage1
到 stage2
。
如果没有装载器,那这种情况就不再如此:当进行内核直接引导时,必须指定 stage2
的位置。也就是说,要将 repo=
或 stage2=
(或者是 inst.repo=
或 inst.stage2=
, 目前是首选) 指向一个软件库 (repository)。如果 stage2=
的镜像在某个服务器上,而安装软件包在另一个服务器上,那么必须使用 stage2=
。repo=
仅在一个服务器上包括所有安装所需文件 (stage2
镜像以及要安装的所有软件包) 时才使用。请注意 stage2
还需要有“软件库”的目录树,不能只提供到 squashfs.img
文件的路径 (这曾是 stage2=
在 F15 及更早版本中的工作方式)。
例如:
label linux
kernel vmlinuz
append initrd=initrd.img
不再有效。必须指定
repo
:
label linux
kernel vmlinuz
append initrd=initrd.img repo=http://dl.fedoraproject.org/pub/fedora/linux/development/17/x86_64/os/
或
stage2
:
label linux
kernel vmlinuz
append initrd=initrd.img stage2=http://my.internal.server/17/x86_64/os/
(或任何其它有效镜像)。
Fedora 现在具备单独的可配置库,
libpwquality,来检查系统帐户新密码的质量。由该库提供的系统域密码质量检查可通过修改
/etc/security/pwquality.conf
文件来配置。
想要在自己程序中调用该 API 的开发者可以从由 libpwquality-devel 软件包提供的 pwquality.h
文件中找到 API 描述;并提供了 Python 包装 python-pwquality。
2.3.2. SELinux 禁止 Ptrace
增加了一个新的 SELinux 布尔值,deny_ptrace
。推荐没有计划在机器上进行应用程序除错操作的用户打开该布尔值。该布尔值可以防止恶意进程使用如 ptrace 和gdb 除错程序来读取其他程序的内存,甚至施行攻击。
它甚至可以阻止以根用户或者以相同 SELinux 上下文和标签运行的恶意程序施行攻击。要永久启用由
deny_ptrace
布尔值带来的保护,以根用户执行如下命令:
# setsebool -P deny_ptrace 1
要暂时禁用由 deny_ptrace
布尔值带来的保护,以根用户执行如下命令:
# setsebool deny_ptrace 0
一些由 systemd 管理的服务已经过修改,使得服务能够利用它来为服务自身提供一个单独的 /tmp
目录。授权服务使用 /tmp
目录,而 /var/tmp
目录之前曾被发现因其开放,而收到非授权用户的干扰,进而可能导致权限提升的发生。为每个服务提供单独的 /tmp
目录则可以防止该形式的漏洞。
修改后的服务在其
systemd 单元文件内添加的内容是:
[Service]
PrivateTmp=true
A new tool, sandbox, has been created to streamline creation of secure libvirt containers. When provided with an executable sandbox determines the mount points and libvirt container information required to run the application in a container. The container is then launched by libvirt with SELinux context that will prevent it interacting with other processes on the system, including other containers, while still being able to share system data.
这样可让管理员同时运行一个服务的多个实例,而主机或系统上的其它进程不会因此被打断,即使以 root 运行也是如此。要使用 sandbox,请安装 libvirt-sandbox 软件包。
2.3.4.1. krb5-workstation
Fedora 17 将 Kerberos 验证系统升级至 1.10。该版本增加了本地化以及通过 NAT 修改密码的支持。新增的 kswitch
命令用于在凭据缓存之间切换。另外还为其它命令增加了额外缓存的支持。$HOME/.k5identity
可控制凭据的选择。
Fedora 17 集成了CloudStack 软件包,提供了成熟的基础设施即服务(Iaas)平台。
Fedora 17 中新增的还有 OpenNebula。它是针对数据中心虚拟化的基础设施即服务平台。对这一环境的管理可以通过命令行或者图形界面来完成。而且加入了对 Amazon EC2 开放云计算接口(Open Cloud Computing Interface,或简称 OCCI)的兼容性。
Fedora 17 中集成了最新版本的 OpenStack 套件,项目代号为“Essex”。它包括最新版本的网页管理接口(“Horizon”)和虚拟网络(“Quantum”)。其中做为 AQMP 后端 RabbitMQ 备选的 Qpid 首次引入 Fedora 17。此外,支持多种虚拟磁盘格式的 libguestfs 的引入,使得 Fedora 的 OpenStack 更加灵活。
Fedora 17 中还集成了 Open vSwitch,是一个基于软件的网络交换机,用来向虚拟机提供网络服务。Open vSwitch 支持 OpenFlow,以便于管理。
2.9.1. 针对 GNOME Shell 的软件渲染
GNOME Shell 的体验已经在所有硬件上可用,包括那些使用软件渲染的设备。仍然想要使用 GNOME 后援模式的用户可手动开启。步骤为:访问系统信息控制面板小程序,选择图形,将强制使用后援模式选项设为 开启。
Fedora 17 的 X Server 和库均支持 2.2 版的 XInput 扩展,这其中包括对多点触摸的支持。选择使用的应用程序将能够利用 Fedora 上的多点触摸支持。
更新后的 X server 为支持它的驱动程序及设备提供了平滑滚动特性。滚动数据除了以旧有的按键事件输出外,还以坐标值输出。这让应用程序将速度加入考虑范围,使之能够提供更平滑的滚动体验。像多点触摸一样,要想利用平滑滚动的支持,它必须写入到客户端应用自身当中。
i810、mga、r128、savage、sis、tdfx 以及 unichrome 的 DRI 驱动将不在提供,因为 Mesa 中已不再集成。受影响的硬件包括以下设备及其衍生设备:
Intel i810 和 i815 主板芯片组
Matrox MGA G200, G400, G450 及 G550 卡
ATI Rage 128 卡
S3 Savage 3D 和 Savage 4 卡
SiS 300、540、630 以及 730 芯片组
3dfx Voodoo 3、Voodoo 4、Voodoo 5 卡
VIA Unichrome 及 Unichrome Pro 芯片组
该硬件现在由 llvmpipe 软件 3D 驱动支持。该驱动与以往的 DRI 驱动不同,该驱动提供了 OpenGL 2.x 相关功能。