HOME

useradd命令安全加固

useradd 命令是 Linux 系统中用于创建新用户的常用工具之一。通过正确使用 useradd,管理员可以有效地控制用户账户的安全性。以下是一些关键步骤和最佳实践来确保在使用 useradd 创建用户时加强安全性。

1. 使用适当选项

-c option

使用 -c 选项可以为新用户设置注释字段,通常用于描述用户的详细信息。

useradd -c "John Doe, Software Engineer" john_doe

-d option

指定用户的主目录。确保这些目录符合公司的安全标准,并且不会指向敏感文件或系统目录。

useradd -d /home/john_doe john_doe

-e option

使用 -e 选项设置用户账户的有效期,避免长期未使用的账户成为安全隐患。

useradd -e `date -d "+1 year" +%Y%m%d` john_doe

2. 设置默认配置

通过编辑 /etc/default/useradd 文件来设定一些系统级参数。这可以确保新创建的用户符合组织的安全策略。

示例内容:

# 在这里设置默认值
DEFAULT_USER_ID=1000
DEFAULT_GROUP_ID=1000
DEFAULT_HOME_DIR=/home/%u

3. 使用 PAM 配置

通过配置 /etc/login.defs 来限制密码策略、最大登录次数等。

PASS_MAX_DAYS      90
PASS_MIN_DAYS      7
MIN_CLASS          S0
MAX_CLASS          C12
ULIMIT_NOFILE      1024

4. 设置用户组

使用 -g 选项指定默认的主组。确保这些组具有适当的权限。

useradd -g users john_doe

也可以通过 groupadd 命令创建新的组。

示例:

groupadd developers
useradd -G developers,john_doe

5. 使用 shadow 密文

确保所有用户密码都存储在 /etc/shadow 中,并且不以明文形式出现在任何地方。这样可以防止敏感信息被意外泄露。

配置方法:

passwd --stdin john_doe < /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 > /etc/shadow

6. 审计和监控

使用 pam_tally2 或类似工具来记录失败登录尝试,以加强安全审计。

echo 'account required pam_tally2.so onerr=fail audit even_deny=ignore deny=3 unlock_time=900' >> /etc/pam.d/common-auth

7. 用户权限检查

确保创建用户时没有赋予不必要的 root 权限。使用 sudo 管理系统权限,为用户提供最小必要权限。

usermod -G sudo john_doe

通过遵循上述步骤和最佳实践,管理员可以更有效地使用 useradd 命令来创建安全的用户账户,并确保整个系统的安全性得到提升。