【问题解决】VMware +Ubuntu20.04创建用户后无法登陆的问题

🌞这个blog用于解决VMware +Ubuntu20.04创建用户后无法登陆的问题

文章目录

问题说明

这件事是这样的,我尝试用虚拟机创建一个新用户

大概步骤就是

复制代码
sudo useradd username
sudo passwd username
id username  //查看是否创建成功

这两步结束之后

复制代码
cd ~
cat /etc/passwd

确实是创建成功了

这个时候我在虚拟机上面切换用户 并登陆 发现登陆不上去,密码当然是包对的!就是一直处于登陆的界面。

解决方案

然后我问了一下万能的AI:

可以确定是新用户的默认 shell 设置不正确导致的。

问题分析:

useradd -m mosong:使用 sudo 运行 useradd -m mosong 成功创建了用户 mosong 和其家目录 /home/mosong。

默认无密码:useradd 默认创建的用户是没有密码的,所以你最初 su mosong 失败了。

passwd mosong:你通过 sudo passwd mosong 成功为 mosong 设置了密码。

su mosong 后的异常行为

正常的 bash 或 zsh 会话会显示如 mosong@ubuntu:~$ 这样的提示符。

你看到的 $ 提示符暗示它可能运行的是 /bin/sh(在 Ubuntu 上通常是 /bin/dash 的符号链接),或一个更简陋的 shell。

更重要的是, 1 报错 sh: 1: 1: not found 和 PATH 报错 sh: 2: ... not found 表明这个 shell 环境非常不健全,甚至无法正确解析 PATH 变量或你输入的简单命令。这通常发生在用户的 默认 shell 没有被正确设置,或者设置了一个不存在或有问题的程序作为 shell。

图形界面无法登录:这是以上问题的直接后果。图形登录管理器(如 GDM3, LightDM)在尝试为用户启动会话时,会尝试执行用户指定的默认 shell。如果这个 shell 无效、缺失或配置错误,会话就无法启动,登录管理器会简单地把你踢回登录界面,而不会给出详细错误。

解决方案:

所以需要为 mosong 用户设置一个正确的默认交互式 shell,例如 /bin/bash。

步骤:

切换回你的管理员用户或其他有 sudo 权限的用户。

如果你还在 su mosong 的简陋 shell 里,可以输入 exit 退回到用户的 shell。

更改 mosong 用户的默认 shell 为 /bin/bash。

使用 usermod 命令:

复制代码
sudo usermod -s /bin/bash mosong

-s 或 --shell 选项用于指定用户的登录 shell。

/bin/bash 是 Ubuntu 和大多数 Linux 发行版上标准的、功能齐全的交互式 shell。

验证(可选):可以检查用户 mosong 的 shell 是否已更改:

复制代码
grep mosong /etc/passwd

输出应该类似于:

mosong : x: 1001:1001:mosong,:/home/mosong:/bin/bash

(注意最后一部分是 /bin/bash)

最后尝试重新登陆。

总结:

useradd 命令在默认情况下(如果没有使用 -s 参数指定 shell),可能会给用户分配一个 /bin/sh 或者一个非常基础的 shell。对于需要交互式登录(尤其是图形界面登录)的用户,通常需要指定一个功能更强大的 shell,比如 /bin/bash。通过 usermod -s /bin/bash mosong,你为 mosong 设置了一个合适的 shell,解决了登录问题。

于是!!可以了!!

相关推荐
如若12311 小时前
Windows SSH + Headscale/Tailscale 组网及免密登录完整配置教程
运维·windows·ubuntu·ssh·内网穿透
菌菌的快乐生活19 小时前
Rufus + Ubuntu 24.04 Server(中山大学镜像)通用安装教程
ubuntu
垆边人似月.20 小时前
Ubuntu 配置 Samba 共享文件夹并映射到 Windows 完整指南
linux·windows·ubuntu
用户8351414049492 天前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
进击的荆棘2 天前
MySQL——在ubuntu环境下安装MySQL
数据库·mysql·ubuntu
易点云徐源3 天前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
Sayai3 天前
Ubuntu 开发环境搭建避坑(一):网卡 EEE 致 60% 周期性丢包,Realtek RTL8125 网络黑洞排查与修复
linux·运维·网络·ubuntu·性能优化
牢姐与蒯3 天前
WSL2 迁移教程:把Ubuntu+WSL2从C盘挪到别的盘
linux·运维·服务器·网络·ubuntu·1024程序员节
小菜要扣篮3 天前
Ubuntu 下使用 vscode 打开 C++ 项目后,无法通过 F12 定位到定义问题解决
c++·vscode·ubuntu
hhhjhl4 天前
Undici 跨端三方库仓颉适配全流程
java·开发语言·ubuntu