useradd
命令是 Linux 系统中用于创建新用户的常用工具之一。通过正确使用 useradd
,管理员可以有效地控制用户账户的安全性。以下是一些关键步骤和最佳实践来确保在使用 useradd
创建用户时加强安全性。
使用 -c
选项可以为新用户设置注释字段,通常用于描述用户的详细信息。
useradd -c "John Doe, Software Engineer" john_doe
指定用户的主目录。确保这些目录符合公司的安全标准,并且不会指向敏感文件或系统目录。
useradd -d /home/john_doe john_doe
使用 -e
选项设置用户账户的有效期,避免长期未使用的账户成为安全隐患。
useradd -e `date -d "+1 year" +%Y%m%d` john_doe
通过编辑 /etc/default/useradd
文件来设定一些系统级参数。这可以确保新创建的用户符合组织的安全策略。
# 在这里设置默认值
DEFAULT_USER_ID=1000
DEFAULT_GROUP_ID=1000
DEFAULT_HOME_DIR=/home/%u
通过配置 /etc/login.defs
来限制密码策略、最大登录次数等。
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
MIN_CLASS S0
MAX_CLASS C12
ULIMIT_NOFILE 1024
使用 -g
选项指定默认的主组。确保这些组具有适当的权限。
useradd -g users john_doe
也可以通过 groupadd
命令创建新的组。
groupadd developers
useradd -G developers,john_doe
确保所有用户密码都存储在 /etc/shadow
中,并且不以明文形式出现在任何地方。这样可以防止敏感信息被意外泄露。
passwd --stdin john_doe < /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 > /etc/shadow
使用 pam_tally2
或类似工具来记录失败登录尝试,以加强安全审计。
echo 'account required pam_tally2.so onerr=fail audit even_deny=ignore deny=3 unlock_time=900' >> /etc/pam.d/common-auth
确保创建用户时没有赋予不必要的 root 权限。使用 sudo
管理系统权限,为用户提供最小必要权限。
usermod -G sudo john_doe
通过遵循上述步骤和最佳实践,管理员可以更有效地使用 useradd
命令来创建安全的用户账户,并确保整个系统的安全性得到提升。