【问题解决】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,解决了登录问题。

于是!!可以了!!

相关推荐
明王明王2 小时前
Ubuntu 26.04 使用 Windows Spotlight:给 Bing Wallpaper 加上 Spotlight 支持
linux·windows·ubuntu
江湖有缘2 小时前
Docker开源项目: 基于Ubuntu系统部署ExpenseOwl自托管记账工具实战教程
ubuntu·docker·开源
一直C3 小时前
【数据结构】哈希表+算法复杂度与经典排序查找(C语言)
java·linux·开发语言·数据结构·算法·ubuntu·散列表
kobe_OKOK_6 小时前
ubuntu server 打包成一个压缩文件,并且在另一台电脑中解压缩
服务器·数据库·ubuntu
敲代码还房贷6 小时前
安装wsl报错:HCS_E_HYPERV_NOT_INSTALLED
linux·python·ubuntu
一直C6 小时前
【Linux应用编程】深入理解Linux多任务机制:进程原理、状态转换与进程控制实战
linux·开发语言·算法·ubuntu·vim·visual studio code
智者向内寻求力量8 小时前
【记录】ubuntu 24.04 安装在levnoval PC上之后,蓝牙设备找不到解决方法
linux·服务器·ubuntu
敲代码还房贷1 天前
VMware17 + Ubuntu22.04 共享 完整步骤
linux·python·ubuntu
好果不榨汁1 天前
网络安全攻防实战:基于 Ubuntu 的攻击机与防守机搭建与演练
安全·web安全·ubuntu
w01_02_031 天前
虚拟机, ubuntu , samba
linux·运维·ubuntu