5.13. 特殊账户

重要的是要禁用所有你系统中不使用的默认供应商账户。即使你的服务器上没有安装相关服务,某些账户也默认存在。每次升级或安装新软件后都应该检查这一点。Linux 提供这些账户用于各种系统活动,如果你的服务器上没有安装这些服务,你可能不需要这些账户。如果你不需要这些账户,请删除它们。你拥有的账户越多,你的系统就越容易被访问。

我们假设你在你的 Linux 系统上使用 Shadow 密码套件。如果你没有使用,你应该考虑使用,因为它有助于稍微加强安全性。如果你已经按照我们到目前为止的说明进行操作,并在 身份验证配置 下选择了 启用 Shadow 密码 选项(请参阅 分区后配置 获取更多信息),那么这应该已经设置好了。要在你的系统上删除用户,请使用命令
               [root@deep] /# userdel username
               
要在你的系统上删除组,请使用命令
               [root@deep] /# groupdel username
               

  1. 在你的终端上输入以下命令以删除下面列出的用户
                   [root@deep] /# userdel adm
                   [root@deep] /# userdel lp
                   [root@deep] /# userdel sync
                   [root@deep] /# userdel shutdown
                   [root@deep] /# userdel halt
                   [root@deep] /# userdel news
                   [root@deep] /# userdel uucp
                   [root@deep] /# userdel operator
                   [root@deep] /# userdel games       (1)  
                   [root@deep] /# userdel gopher
                   [root@deep] /# userdel ftp         (2)
                   

    (1)
    如果你不使用 X Window Server,请删除此用户。
    (2)
    如果你不使用 ftp 匿名服务器,请删除此用户。
    默认情况下,userdel 命令不会删除用户的家目录。如果你也想删除账户的家目录,请添加-r选项到 userdel 命令。

  2. 在你的终端上输入以下命令以删除下面列出的用户组
                   [root@deep] /# groupdel adm
                   [root@deep] /# groupdel lp
                   [root@deep] /# groupdel news
                   [root@deep] /# groupdel uucp
                   [root@deep] /# groupdel games      (1) 
                   [root@deep] /# groupdel dip
                   [root@deep] /# groupdel pppusers
                   [root@deep] /# groupdel popusers   (2) 
                   [root@deep] /# groupdel slipusers
                   

    (1)
    如果你不使用 X Window Server,请删除此组。
    (2)
    如果你不使用 pop 服务器接收邮件,请删除此组。

  3. 将必要的用户添加到系统中,要在你的系统上添加新用户,请使用命令
                   [root@deep] /# useradd username
                   
    要在你的系统上添加或更改用户密码,请使用命令
                   [root@deep] /# passwd username
                   
    例如
                   [root@deep] /# useradd admin
                   [root@deep] /# passwd admin
                   
    输出应该看起来像这样。
    
                   Changing password for user admin
                   New UNIX password: somepasswd
                   passwd: all authentication tokens updated successfully
                   

  4. 不可变位可以用于防止意外删除或覆盖必须保护的文件。它还可以防止某人创建指向此文件的符号链接,这曾经是涉及删除以下文件的攻击的来源/etc/passwd, /etc/shadow, /etc/group/etc/gshadow。要在密码和组文件上设置不可变位,请使用命令
                   [root@deep] /# chattr   +i /etc/passwd
                   [root@deep] /# chattr   +i /etc/shadow
                   [root@deep] /# chattr   +i /etc/group
                   [root@deep] /# chattr   +i /etc/gshadow
                   

Note: 在未来,如果你打算添加或删除用户、密码、用户组或组文件,你必须取消设置所有这些文件上的不可变位,否则你将无法进行更改。此外,如果你打算安装一个 RPM 程序,该程序将自动向不同的受保护的 passwd 和 group 文件添加新用户,那么如果你没有取消设置这些文件上的不可变位,你将在安装期间收到错误消息。