| 第 9 章 - Debian系统微调 |
9.1 系统初始化Debian 使用 System V 的 init 脚本系统。参阅 的介绍。 9.1.1 自定义 init 脚本最简单的控制 init 脚本的方法是改变 /etc/default 目录下,与 init 脚本同名的文件里的环境变量设置。 [] 例如,/etc/default/hotplug 可以控制 /etc/init.d/hotplug 的行为。文件 /etc/default/rcS 可以用来定制 motd、sulogin 等为默认启动。 如果你不能通过设置这些变量来得到你所需要的行为,你可以去修改 init 脚本:它们都是配置文件。 9.1.2 自定义系统日志可通过 /etc/syslog.conf 配置系统日志记录方式。如果想为日志文件上色可安装 colorize 软件包。参阅 syslogd(8) 和 syslog.conf(5)。 9.1.3 硬件存取优化有一部分硬件优化的配置工作 Debian 留给了系统管理员。
使用 noatime 选项挂载文件系统可有效提高文件的读取速度。参阅 fstab(5) 和 mount(8)。 通过 proc 文件系统,Linux 内核可直接调节某些硬件参数。参阅。 Debian 中有许多专门的硬件配置工具包。其中有不少是针对笔记本电脑的。这儿有一些有趣的软件包:
ACPI 是一种比 APM 更新的电源管理系统。 某些软件包需要专门的内核模块。它们已经包含在许多最新的内核源码中。如果遇此问题,则需要手动打上最新的内核补丁。 9.2 访问限制(Restricting access)9.2.1 用 PAM 来控制登录PAM(Pluggable Authentication Modules 可嵌入认证模块)允许你控制用户是如何登录的。 /etc/pam.d/* # PAM 管理文件
/etc/pam.d/login # PAM 登录管理文件
/etc/security/* # PAM 模块参数
/etc/securetty # 管理通过控制台进行的 root 登录(login)
/etc/login.defs # 管理登录行为(login)
如果想在控制台终端不用密码直接登录系统,可按下面的方法修改 /etc/pam.d/login 文件的内容,风险自负。 #auth required pam_unix.so nullok
auth required pam_permit.so
该方法亦可用于 xdm、gdm,实现无密码 X 控制台。 相反,如果你希望强化密码政策,可安装 cracklib2 并按下面的方法修改/etc/pam.d/passwd: password required pam_cracklib.so retry=3 minlen=6 difok=3 使用一次性登录密码激活帐户也很有用。要实现该功能,在 passwd 命令后加上 -e 参数,参阅 passwd(1)。 要设置系统最大进程数,可在 Bash shell 中设定 ulimit -u 1000 或设置 PAM 的 /etc/security/limits.conf 文件。其它参数如 core 等的设置方法与之类似。PATH 的初始值可在 /etc/login.defs 中先于 shell 启动脚本设置。 PAM 的文档位于 libpam-doc 软件包内。其中 The Linux-PAM System Administrator's Guide 一文涵盖了 PAM 配置、可用模块等内容,文档中还包括了 The Linux-PAM Application Developers' Guide 和 The Linux-PAM Module Writers' Guide。 9.2.2 “为什么 GNU su 命令不支持 wheel group”这是 Richard M. Stallman 的一句名言,位于旧版 info su 页面末尾。别担心:在 Debian 中,当前版本的 su 使用 PAM,因此你可以用 /etc/pam.d/su 下的 pam_wheel.so 来限制任何用户组使用 su 的能力。下面的操作将在 Debian 系统中赋予 adm 用户等同于 BSD wheel 用户组的权限,而且该组成员不需要密码就能使用 su 命令。 # anti-RMS configuration in /etc/pam.d/su
auth required pam_wheel.so group=adm
# Wheel members to be able to su without a password
auth sufficient pam_wheel.so trust group=adm
9.2.3 各标准用户组的目的一些有趣的用户组: 如果 pam_wheel.so 不带任何 group= 参数,root group 就是 su默认的 wheel group。 adm group 可以阅读日志文件。 cdrom group 可在本地赋予一组用户访问 CD-ROM 驱动器的权限。 floppy group 可在本地赋予一组用户访问软盘驱动器的权限。 audio group 可在本地赋予一组用户访问声音设备的权限。 src group 拥有源代码以及 /usr/src 目录下的文件。它可以在本地赋予某个用户管理系统源代码的权限。
|
||||