AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1360283
Accepted
J-D3V
J-D3V
Asked: 2021-08-27 10:56:34 +0800 CST2021-08-27 10:56:34 +0800 CST 2021-08-27 10:56:34 +0800 CST

在 WSL 上为 Ubuntu 创建新的顶级管理员用户

  • 772

将标准 Ubuntu 换成带有“WSL Ubuntu”的 win-10

然而,5 年来,我使用 GUI 桌面引导到 Ubuntu Distros;今年,我的教授强迫我在我的机器上添加 Windows。过去我会双启动这两者,但是,我相信你们中的大多数人可能已经知道,有几个 Linux 发行版可供在“Windows 10”环境中工作的开发人员使用”,因此,我决定设置 WSL 而不是双引导。

我的机器操作系统的状态

因此,我正在设置 WSL,并在遇到问题时参考此处的文档Official Ubuntu page on WSL 。无论出于何种原因,我都无法登录 Ubuntu,但是 WSL 和 Ubuntu 似乎工作正常,所以我只是使用了世界上最著名的 Linux 工作,并以 root 身份登录(这需要我将默认用户设置为 root) . 问题是,我无法返回输入用户名和密码的初始提示,据我了解,这是如何为虚拟 WSL Ubuntu 实例正确创建新用户。

手头问题的深入解释

我从来没有这样做过,所以我不知道在 Windows-10 子系统中运行的“Ubuntu 操作系统”上正确的默认 sudo/admin 帐户应该是什么样子。我有必要得到提示,还是我可以自己设置一个新用户?如果我自己设置了一个新用户,那么为 Ubuntu 的 WSL 实例配置顶级管理员帐户(又名 Sudo 帐户)的正确方法是什么。

关于配置我不太清楚的事情包括:

  1. 该帐户是否应该是系统帐户,是否应该使用 ubuntu 分配的任意名称?
  2. 该帐户应该有一个主目录吗?
  3. sudo-groupadmin:sudo是唯一需要添加顶级安全级别管理员帐户(又名 Sudo 帐户)的组,我是否应该创建另一个与我正在创建的管理员帐户同名的组?
users
  • 1 1 个回答
  • 2228 Views

1 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2021-08-27T12:44:41+08:002021-08-27T12:44:41+08:00

    问题是,我无法返回输入用户名和密码的初始提示,据我了解,这是如何为虚拟 WSL Ubuntu 实例正确创建新用户。

    正确的。.exe首次运行分发可执行文件(从 Microsoft Store 安装的)时完成初始用户创建。在 Ubuntu 的情况下,这通常是ubuntu.exe,尽管它可能会有所不同,具体取决于您是否在应用商店中安装了“命名版本”(例如 Ubuntu 20.04)。也就是说,完全可以手动创建默认用户(见下文)。

    让我们wsl -l -v先来看看发行版的名称是什么。它很可能只是“Ubuntu”,但如果它不同,请修改以下命令。


    “简单”按钮

    有可能回到初始的“配置”状态,但前提是这样做会删除实例中的所有数据/配置(虚拟文件系统等)。该命令是wsl --unregister Ubuntu.

    完成此操作后,您应该能够从“开始”菜单重新运行“Ubuntu”,并且将重新创建发行版。然后它会询问您默认的用户名/密码。


    以root身份运行,无需sudo

    您可能会发现有用的一个巧妙技巧是 WSL 可以使用任何可用用户启动,包括root,而无需密码:

    wsl ~ -u root
    
    wsl ~ -u fred
    

    虽然您最初可能会对在没有密码的情况下运行 root 的能力感到震惊,但请记住,即使作为 root,您在 WSL 中的权限也永远不会超过您的 Windows 用户权限。也就是说,请永远 不要这样做。


    侧边栏:您的问题

    首先,回答您的一些问题:

    该帐户是否应该是系统帐户,是否应该使用 Ubuntu 分配的任意名称?

    不确定您在这里的确切意思,但我相信答案是“不”。默认用户可以任意命名。为了方便起见,我建议只使用您通常首选的用户名。

    该帐户应该有一个主目录吗?

    是的,该主目录应该在 中/home,而不是在 Windows 安装的驱动器上(例如/mnt/c)。

    sudo-group admin:sudo 是唯一需要添加顶级安全级别管理员帐户(又名 Sudo 帐户)的组,我是否应该创建另一个与我正在创建的管理员帐户同名的组?

    默认的 Ubuntu 方法(“纯 Linux”和“WSL”)是创建一个与用户名同名的组。虽然可能不是必需的,但我认为这是“最佳实践”。


    无需重新安装即可创建新的“默认”WSL 用户

    据我所知,以下将使用与股票安装程序/配置相同的设置创建默认用户。从 Ubuntu 内部:

    useradd --create-home --user-group --groups  adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" username
    

    当然,修改username为你想要的任何东西。由于您已经以 root 身份运行,因此当然不需要sudo或任何技巧,但没有 OP 用例的其他读者可能需要sudo或wsl -u root(如本答案中所述)。

    当然,在 WSL 下,这些组中的大多数可能并不是绝对必要的,但谁知道 - 有些应用程序可能会期待其中的一些,而且安全总比抱歉好。同样,这是由 Ubuntu/WSL 配置器创建时为用户提供的“库存”组列表。

    请参阅此处了解如何创建加密密码。具体来说(虽然个人未经测试这个确切的命令行):

    useradd --create-home --user-group --groups  adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password $(read -sp Password: pw ; echo $pw | openssl passwd -1 -stdin) username
    

    设置默认 WSL 用户

    “通常”,WSL 发行版安装程序(例如ubuntu.exe)使用发行版的默认用户名修改 Windows 注册表。不过,我推荐一种更新的方法。以 root 身份创建一个/etc/wsl.conf包含以下内容的文件:

    [user]
    default=username
    

    当然,再次替换您的username.

    有关替代技术,请参阅此问题及其各种答案。


    建议的后续步骤

    我个人建议在此阶段备份您的发行版的“准备运行”副本。同样,来自 PowerShell:

    wsl --export Ubuntu "2021-08-26 Default Ubuntu 20.04.tar"
    

    如果您需要在不修改“日常驱动程序”的情况下启动一次性 WSL 实例来测试某些东西,您可以轻松地使用wsl --import此发行版(将其称为“Ubuntu”以外的其他名称),然后将其与wsl --unregister.

    • 5

相关问题

  • 如何限制其他用户访问程序?

  • 如何更改登录屏幕中显示的默认用户?

  • Ubuntu 和 Windows Server 2008 NFS

  • xubuntu 中没有其他用户的面板

  • 如何防止自己在多用户设置中自动注销?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve