创建用户前的准备
- 权限要求:
- 必须拥有
root
权限 或sudo
权限(普通用户需在命令前加sudo
)。
- 必须拥有
- 检查现有用户:
执行以下命令查看是否已存在同名用户,避免冲突:cat /etc/passwd | grep 用户名
若返回空结果,表示用户名可用。
创建用户的两种方法
方法1:使用 useradd
命令(推荐)
useradd
是基础命令,需手动配置密码和其他属性:
sudo useradd -m 用户名 # -m 选项自动创建用户家目录(/home/用户名)
关键参数说明:
-m
:创建用户家目录(必需,否则用户无个人文件夹)。-s /bin/bash
:指定登录Shell(默认/bin/sh,建议改为/bin/bash)。-G sudo
:将用户加入sudo
组(获取管理员权限)。-c "注释"
:添加用户描述(如全名)。
示例:创建用户 john
并赋予sudo权限:
sudo useradd -m -s /bin/bash -G sudo -c "John Smith" john
方法2:使用 adduser
命令(交互式,适合新手)
部分发行版(如Ubuntu)提供更友好的交互式工具:
sudo adduser 用户名
按提示输入密码、全名等信息,系统自动完成家目录和基础配置。
设置用户密码
创建用户后必须设置密码,否则无法登录:
sudo passwd 用户名
按提示输入两次密码(输入时无显示)。
安全建议:
- 密码长度 ≥ 8位,包含大小写字母、数字、符号。
- 避免使用姓名、生日等易猜信息。
验证用户是否创建成功
- 检查
/etc/passwd
文件:grep 用户名 /etc/passwd
返回类似
john:x:1001:1001:John Smith:/home/john:/bin/bash
即表示成功。 - 检查家目录:
ls -l /home/用户名
- 测试用户切换:
su - 用户名 # 输入密码后切换用户 whoami # 显示当前用户名 exit # 退回原用户
高级配置(可选)
- 修改用户属性:
使用usermod
命令调整用户组、Shell等:sudo usermod -aG docker 用户名 # 加入docker组 sudo usermod -s /bin/zsh 用户名 # 更改登录Shell
- 设置密码过期策略:
强制用户定期更新密码:sudo chage -M 90 用户名 # 密码90天后过期
安全与最佳实践
- 最小权限原则:
- 非管理员用户不要加入
sudo
组。 - 按需分配组权限(如
www-data
组管理网站文件)。
- 非管理员用户不要加入
- 禁用无用账户:
sudo usermod -L 用户名 # 锁定账户 sudo usermod -U 用户名 # 解锁账户
- 删除用户:
sudo userdel -r 用户名 # -r 同时删除家目录和邮件
常见问题解答
- Q:创建用户后无法登录?
A:检查密码是否正确、家目录权限(应为drwxr-xr-x
)及Shell路径(/etc/passwd
中第7字段)。 - Q:忘记设置
-m
参数导致无家目录?
A:手动创建并修正权限:sudo mkdir /home/用户名 sudo chown 用户名:用户名 /home/用户名 sudo chmod 700 /home/用户名
- Q:
useradd
与adduser
区别?
A:useradd
是底层工具,需手动配置;adduser
是高级脚本,自动交互式配置(依赖发行版)。
在Linux中创建用户需三步:
- 用
useradd -m 用户名
或adduser 用户名
创建账户; - 用
passwd 用户名
设置强密码; - 通过
/etc/passwd
和家目录验证结果。
遵循最小权限原则和密码策略是保障系统安全的关键。
引用说明基于Linux核心工具(
useradd
,passwd
)的官方文档(man pages)及Ubuntu、Red Hat等发行版的最佳实践,命令细节可查阅man useradd
或访问 Linux man-pages项目。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5104.html