linux如何创建用户:终端输入指令即可完成新建与授权配置
深夜接手一台闲置的业务服务器,临时需要新增一个普通运维账号协助处理日志归档工作,这时候实打实实操linux如何创建用户,才发现网上很多碎片化教程根本没说全新手必踩的隐性问题,照着半吊子方法操作,直接卡了半个多小时。当时想着只是简单新建个用户,不用复杂配置,直接打开终端敲了useradd自定义用户名,回车之后终端没有任何报错,看起来一切正常,当时还以为用户已经创建完成,随手关掉了命令窗口,准备用新账号远程登录服务器。
完全没料到第一步就出了问题。
远程ssh连接的时候,反复输入账号密码,始终提示认证失败,明明没有输错字符,那登录弹窗就是一直报错,彻底卡在登录界面动弹不得。最开始压根没怀疑用户创建的步骤有问题,反倒傻乎乎去检查防火墙策略、ssh服务配置,甚至重启了一次ssh服务,折腾来折腾去,白白浪费了二十多分钟的时间,全程找不到问题根源。
折腾好久才搞明白,linux系统和Windows系统的用户创建逻辑完全不一样,单纯使用useradd指令只能生成用户的基础配置文件、用户ID和默认家目录,系统不会自动给新用户初始化登录密码,而系统默认禁止空密码账号远程登录,这就是登录失败的核心原因,也是绝大多数新手第一次操作都会踩的无脑坑。
赶紧在服务器本地终端执行passwd对应的新用户名,按照提示连续输入两次自定义密码,全程不需要复杂设置,输入完成瞬间就完成了账号的密码激活。
本以为到这一步就彻底搞定了,结果登录成功后又发现了新问题。
新账号登录系统后,权限低的离谱,既无法查看业务目录文件,也不能执行基础的查看、复制指令,甚至连切换常规工作目录都没有权限,只能停留在空的用户家目录里,完全没法开展任何运维工作。当时瞬间反应过来,新建的linux用户默认只有最基础的系统访客权限,没有绑定任何业务用户组,自然不具备对应的操作权限。
后来才反应过来,完整的用户创建流程,绝对不是单条创建指令就能收尾的,必须根据使用场景补充权限配置。日常自用或普通运维用户,创建用户、设置密码之后,需要用usermod -aG指定用户组指令,把新用户追加到对应的权限组中,既能保障正常操作权限,又不会赋予过高的root权限,规避安全风险。
整套实操流程理顺之后,后续再创建用户就再也没出过问题。先通过useradd 用户名创建基础用户,再用passwd 用户名设置登录密码,最后根据需求追加用户组权限,三条简单的终端指令,就能完整完成linux用户的创建和基础配置,全程无多余操作,新手也能一次性跑通流程。
调好权限、测试完所有操作功能正常后,保存了服务器的配置,关掉闪烁的终端窗口,工位只剩下电脑风扇轻微的嗡鸣声。