Linux虚拟机从零创建用户,4步轻松搞定+权限进阶小技巧
这是一篇适合Linux虚拟机个人管理、开发环境隔离等场景的从零创建用户实用短教程,含4步核心基础+权限关联进阶小补充,4步基础操作依次为:通用版用useradd -m 用户名自动生成用户专属家目录;再用passwd 用户名设置强安全密码(需二次确认);接着用id 用户名快速核验用户UID、GID及所属组;最后用su 用户名切换身份测试,进阶可绑定sudo权限实现临时提权。
在Linux虚拟机(如VMware、VirtualBox上的CentOS、Ubuntu)中,root超级用户拥有系统最高权限,日常操作误触命令(比如rm -rf /)可能直接搞崩环境;而给不同任务分配专属普通用户,不仅能提升安全性,还能清晰管理文件权限。
这篇文章会带你从0到1掌握Linux虚拟机创建用户的全流程,附常用权限配置,新手友好!
前置准备:以root身份登录
创建/修改Linux用户,必须先切换到root超级用户或使用sudo(普通用户有sudo权限时)临时获取权限。
从虚拟机登录界面直接选root
有些虚拟机安装时会允许勾选“允许root SSH登录”或桌面直接登录root,桌面版的话直接输入root密码即可;命令行版直接敲用户名root和密码。
普通用户临时提权(推荐方式)
如果安装后默认只能登普通用户(比如Ubuntu桌面/轻量版),在终端输入:
sudo su -
回车后输入当前普通用户的密码,成功后终端提示符会从变成,表示已切换到root。
核心流程:4步创建完整的用户
我们以创建一个名为devuser(开发用户)的账号为例,通用所有主流Linux发行版(CentOS/RHEL/Ubuntu/Debian等)。
第1步:用useradd创建基础账号
在root终端输入:
# 通用命令(会同时创建同名主目录/home/devuser、默认shell/bin/bash,无密码) useradd -m -s /bin/bash devuser
-m(或--create-home):必须加! 没有这个参数的话,用户登录后会没有自己的专属文件夹,只能用/tmp临时目录,体验很差;-s /bin/bash:指定登录后的默认shell(Linux默认可能是sh,功能不如bash全,新手直接选bash就行)。
第2步:用passwd给用户设置登录密码
刚创建的devuser没有密码,无法登录!继续输入:
passwd devuser
然后按提示输入两次密码(注意Linux密码输入时不会显示星号/字符,直接敲就行),出现“passwd: all authentication tokens updated successfully”就成功了。
第3步:可选——把用户加入sudo组(给权限)
如果这个普通用户需要临时执行root操作(比如装软件、改系统配置),可以把它加入sudo权限组:
- Ubuntu/Debian系:默认sudo组叫
sudousermod -aG sudo devuser
- CentOS/RHEL/AlmaLinux系:默认sudo组叫
wheelusermod -aG wheel devuser
-a(append):追加用户到组,不要单独用-G,否则会覆盖用户原有的所有组!usermod:修改用户属性的命令。
第4步:验证用户是否创建成功
可以通过三种方式验证:
- 查看用户信息:
id devuser
会输出用户ID(UID)、组ID(GID)、所属组列表,有这些信息就没问题;
- 直接切换到新用户测试:
su - devuser
回车输刚才设的密码,提示符从变,当前目录变成
/home/devuser,就说明创建完成了! - 桌面版的话可以直接登出,重新选
devuser登录。
进阶小技巧:自定义创建更灵活
如果不想用默认的主目录、组、UID,这里有几个useradd的常用参数组合:
指定自定义主目录
比如想把主目录放在/data/devwork:
useradd -m -d /data/devwork -s /bin/bash devuser
-d(或--home-dir):指定自定义主目录路径,-m必须配合用,否则系统不会自动建这个文件夹。
不创建同名主组,指定已有主组
比如系统已有一个devteam组,想让devuser直接加入:
useradd -m -g devteam -s /bin/bash devuser
-g(或--gid):指定主组,主组只能有一个;- 注意要先确保
devteam组存在!如果没有可以先建:groupadd devteam。
禁止用户登录(给服务用)
比如创建一个nginx服务专属账号,不需要有人登:
useradd -M -s /sbin/nologin nginx
-M:不创建主目录;-s /sbin/nologin:禁止登录shell,输入密码也登不进去。
常见问题解决
输入passwd devuser提示“passwd: Permission denied”
说明你没有用root或sudo权限!赶紧检查终端提示符是还是,用sudo su -重新提权。
切换用户后提示“no directory”
创建用户时忘加-m了!解决方法:
# 重新创建主目录 mkdir /home/devuser # 把目录所有权给devuser chown devuser:devuser /home/devuser # 把默认shell配置文件复制过去(不然登录后界面很乱) cp /etc/skel/.bashrc /etc/skel/.bash_profile /home/devuser/ # 再次修改配置文件的所有权 chown devuser:devuser /home/devuser/.bash*
忘记给用户加sudo权限了
不用重新创建,直接用root执行刚才的sudo/wheel追加命令就行:
# 比如Ubuntu usermod -aG sudo devuser
Linux虚拟机创建用户的核心就是:root提权→useradd加参数建账号→passwd设密码→可选加sudo组→验证,新手前期一定要养成“日常用普通用户,需要root才用sudo”的习惯,能避免90%以上的操作失误!

