在Linux服务器上设置用户名和密码,核心命令是useradd和passwd,前者创建账户,后者设定或修改密码。整个过程在终端里操作,不需要图形界面,熟练后十几秒就能完成,下面从创建用户、设置密码、批量管理到常见问题,一步步拆开讲清楚。
创建新用户:从命令到细节
用useradd创建账户
登录服务器后,在终端输入以下命令:
useradd 用户名
比如创建一个叫devops的用户,直接执行useradd devops,这条命令默认不会创建家目录,也不会设置密码,所以紧接着必须用passwd补上密码,不少新手在这里踩坑:建完用户就切换过去,结果发现连家目录都没有。
推荐加参数创建
更规范的做法是创建时带上参数,一次性把家目录、Shell、用户组都定好:
useradd -m -s /bin/bash -d /home/devops devops
-m:自动创建家目录-s /bin/bash:指定登录Shell为bash-d /home/devops:指定家目录路径
行业共识认为,给每个业务用户单独设置家目录和Shell,可以避免很多权限混乱和登录异常的问题。
设置和修改密码:passwd命令全解
首次设置密码
创建用户后,切换到root或使用sudo执行:
passwd devops
系统会提示输入两次新密码,输入时不显示字符,这是正常的,密码设置得足够复杂,混合大小写字母、数字和符号,长度不少于12位。
修改现有用户密码
这里依然是passwd,只是不需要创建操作了:
passwd devops
如果忘记当前登录用户的密码,可以用root身份直接重置,不需要知道旧密码,这是Linux服务器修改用户密码步骤里最常用的一条路径。
强制用户下次登录改密码
有些场景下,管理员给新员工开通账号后,希望对方第一次登录时自己改掉临时密码,用以下命令实现:
chage -d 0 devops
这样该用户下次登录,系统会强制要求修改密码。
用户管理进阶:删除、锁定、批量操作
删除用户
userdel -r devops
-r参数会连同家目录和邮件池一起删除,如果不加-r,只删除账户信息,家目录文件会保留。
锁定与解锁用户
临时禁止某个账号登录时:
passwd -l devops
解锁则用:
passwd -u devops
锁定后该用户无法登录,但已登录的会话不会被踢出,必要时需要手动杀掉对应进程。
批量创建用户
运维场景中,一次创建多个账号可用循环指令:
for u in user1 user2 user3; do useradd -m $u; echo "$u:初始密码" | chpasswd; done
这里用到了chpasswd,它支持批量从标准输入读取用户名和密码对,比逐个执行passwd高效得多,不过在真实生产环境里,批量创建用户后建议立刻让用户首次登录改密,降低泄露风险。
密码安全策略:别让用户名成为唯一防线
设置密码有效期
通过chage命令管理密码老化规则:
chage -M 90 devops
这行命令表示密码最长使用90天,到期前系统会提示用户修改,避免长期不换密码带来的安全隐患。
检查密码强度
Linux里修改密码时,如果密码太简单,会收到”password is too simple”之类的警告,但这个检查并不强制,只有配置了PAM策略才会拦截,需要在/etc/pam.d/system-auth或/etc/pam.d/passwd中启用pwquality模块。
设置密码时避开下面这些情况:
- 单纯用用户名相关字符,比如
devops123 - 连续数字或键盘顺序,比如
qwerty - 常见弱口令,比如
password、123456 - 只在密码末尾加一个数字,本质上太容易被猜中
SSH登录方式与密码的关系
真正生产环境里,很多人更偏好用SSH密钥登录,密码只用做应急入口,两者可以并存:
- 密钥登录适合自动化部署和日常操作
- 密码登录适合控制台管理和紧急救援
多数情况下,服务器放在公网时,建议关闭密码登录,只保留密钥认证,但若你是个人练习用的云服务器,用密码登录完全够用。
不同Linux发行版之间的差别
CentOS、Ubuntu、Debian的核心命令一致
上述命令在主流发行版上都通用,区别主要体现在权限执行上:Ubuntu默认不允许root直接登录,需用sudo passwd 用户名;而CentOS的root账户直接可用。
图形化管理工具
如果你不想记命令,可以用以下方式:
- Webmin:浏览器界面管理用户
- Cockpit:Red Hat系自带的Web管理面板
但图形工具的本质还是调用底层的useradd、passwd命令,理解命令行才是根本。
实操中常见的疑问
为什么设置密码时屏幕不显示任何内容?
这是终端的安全设计,防止旁人在屏幕上看到密码长度,输入完成直接回车即可,光标不会移动属于正常现象。
普通用户可以修改自己的密码吗?
可以,普通用户在自身登录状态下执行:
passwd
不需要加用户名,系统会默认修改当前账户的密码,此时必须输入旧密码,验证通过后才能设置新密码。
用sudo修改密码和用root修改有区别吗?
没有本质区别,sudo执行passwd devops时,无需输入旧密码,效果等同于root重置密码,区别在于sudo会记录操作日志,安全性更高。
关键点小结
Linux服务器设置用户名和密码,归根结底就是useradd建号、passwd设密、chage做策略,无论你是管理一台云服务器,还是维护几十台业务机器,这些命令足够覆盖日常所有需求,把密码策略配置好,比记住一堆花哨的运维技巧更实在密码这道门守住了,服务器才谈得上安全。
常见问题速查
linux服务器怎么设置用户名和密码最稳妥?
先用useradd -m -s /bin/bash 用户名创建并生成家目录,再用passwd 用户名设定强密码,如果服务器暴露在公网,后续可以把SSH的密码登录关掉,改用密钥认证。
如何批量重置多个用户的密码?
准备一个文本文件,每行写入”用户名:新密码”,然后执行chpasswd < 文件,这个方法适合初始化新账号或统一重置密码,操作前注意整理好用户名单,避免误改。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/773995.html


