Debian/访问限制(Restricting access)

来自站长百科
跳转至: 导航、​ 搜索

Debian | Debian安装 | Debian使用 | Debian系统升级 | Debian常见问题

用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。

为什么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

各标准用户组的目的[ ]

一些有趣的用户组:

如果 pam_wheel.so 不带任何 group= 参数,root group 就是 su默认的 wheel group。

  • adm group 可以阅读日志文件。
  • cdrom group 可在本地赋予一组用户访问 CD-ROM 驱动器的权限。
  • floppy group 可在本地赋予一组用户访问软盘驱动器的权限。
  • audio group 可在本地赋予一组用户访问声音设备的权限。
  • src group 拥有源代码以及 /usr/src 目录下的文件。它可以在本地赋予某个用户管理系统源代码的权限。

对于管理桌面或低级别的系统管理员,可设置他们为 staff 成员,该类成员可以在 /usr/local 下工作并且可以在 /home 下创建目录。

更安全地工作–sudo[ ]

安装 sudo 然后编辑 sudoers 中有关选项激活它。还可在 file:///usr/share/doc/sudo/OPTIONS 中查看 sudo 的用户组特性。

样例中的配置,设定“staff”用户组成员可通过 sudo 执行任何 root 权限的命令而“src”用户组成员只可执行规定的一部分 root 权限的命令。

使用 sudo 的好处在于只需一个普通用户密码登录,并且所有的活动都受到监控。用它为低级别的系统管理员赋权是个好主意。例如:

$ sudo chown -R myself:mygrp .

当然,如果你知道 root 密码(绝大部分在家安装系统的用户都会知道),就可以在普通用户下执行任何 root 命令:

$ su -c "shutdown -h now"
Password:

(对于家中的服务器,就不用考虑那么多了。)

想了解其它允许普通用户执行 root 权限命令的程序,可以看看 super 软件包。

服务的访问限制[ ]

对于 Internet 超级服务器,inetd 会在系统启动时通过 /etc/rc2.d/S20inetd(for RUNLEVEL=2)加载,S20inetd 是一个指向 /etc/init.d/inetd 的符号链接。本质上,inetd 允许一个运行中的守护进程(daemon)调用其它多个守护进程,以减轻系统的负载。

当某个服务请求到达,系统会查询 /etc/protocols 和 /etc/services 中的数据库,确定该请求所指定的相关协议和服务,接着 inetd 会在 /etc/inetd.conf 数据库中查找普通 Internet 服务或 /etc/rpc.conf 中查找基于 Sun-RPC 的服务。

为了系统安全,请在 /etc/inetd.conf 中关闭所有不用的服务。涉及到 NFS 和其它基于 RPC 的程序时需要激活 Sun-RPC 服务。

有时,inetd 并不直接打开请求的服务,而是在 /etc/inetd.conf 中将该服务名作为的参数,打开 tcpd TCP/IP 守护进程包装程序。这时,tcpd 首先登记请求并使用 /etc/hosts.deny 和 /etc/hosts.allow 进行附加的检查,然后再运行相应的服务程序。

如果新版的 Debian 系统进行远程访问时出现问题,可以在 /etc/hosts.deny 中注释掉“ALL: PARANOID”,如果有该行的话。

集中式验证–LDAP[ ]

使用轻形目录访问控制协议(LDAP) 参阅:

  • OpenLDAP
  • OpenLDAP 管理员指南在软将包 openldap-guide 中
  • LDP: LDAP Linux HOWTO
  • LDP: LDAP Implementation HOWTO
  • OpenLDAP, extensive use reports
  • Open LDAP with Courier IMAP and Postfix

参考来源[ ]

http://www.debian.org/doc/manuals/debian-reference/ch-tune.zh-cn.html#s-init-hints

Debian使用手册导航

Debian安装

安装Debian GNU/Linux前准备 | 获取系统安装介质 | 使用Debian安装程序 | 启动进入新 Debian 系统 | 内核及其它信息 | 为Debian准备分区 | 安装指南 | 在Debian上安装Apache+Mysql+PHP

Debian使用

Debian 文件 | Debian基本操作 | Midnight Commander (MC) | 类Unix工作环境 | 类Unix文本处理 | 类Unix文件系统 | Debian生存命令 | Debian进阶 | Debian其他特性 | Debian下的Linux内核 | 启动系统 | Debian/活动记录及拷贝、创建子目录 | 差量备份、数据同步与系统冻结恢复 |常用命令与典型错误| 系统初始化 | 访问限制(Restricting access) | 刻录机 | 本地化

Debian升级

Debian系统升级 | 发行版升级到stable、testing或unstable

Debian技术支持

Debian技术支持

Debian常见问题

定义与概述 | 兼容性问题 | Debian 的软件系统 | Debian 的 FTP | Debian 的包管理系统 |Debian 的包管理工具 |更新系统 | Debian 与内核 | 定制 Debian GNU/Linux 的安装 |获取 Debian GNU/Linux 的支持 | 为 Debian 项目捐赠 | 作为商品销售Debian以及对其的展望