首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WSL上为Ubuntu创建一个新的顶级管理用户

在WSL上为Ubuntu创建一个新的顶级管理用户
EN

Ask Ubuntu用户
提问于 2021-08-26 18:56:34
回答 1查看 5.3K关注 0票数 0

将标准Ubuntu替换为WSL-10w/ "WSL Ubuntu"

五年来,我用GUI桌面引导Ubuntu发行版;今年,我的教授强迫我把Windows添加到我的机器上。在过去,我会双重引导这两个,但是,我相信大多数人可能已经知道,一些Linux发行版已经提供给在"Windows 10“环境中工作的开发人员使用,因此,我决定设置WSL而不是双引导。

我的机器的操作系统

的状态

因此,我正在设置WSL,并在遇到困难时引用这里的文档WSL官方Ubuntu页面。无论出于什么原因,我都无法登录Ubuntu,但是WSL和Ubuntu似乎运行良好,所以我只使用了世界上最著名的Linux工作,并以root身份登录(这要求我将默认用户设置为root)。问题是,我无法获得最初的提示输入用户名和密码,据我所知,这就是如何正确地为虚拟WSL Ubuntu实例创建新用户。

对手头问题的深入解释

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

关于配置的

内容,我不太清楚,包括:

  1. 这个帐户应该是一个系统帐户吗?它应该使用由ubuntu分配的任意名称吗?
  2. 帐户应该有主目录吗?
  3. Sudo组admin:sudo是唯一需要添加顶级安全级管理帐户(又名Sudo帐户)的组,是否应该创建与我创建的管理帐户同名的另一个组?
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2021-08-26 20:44:41

问题是,我无法获得最初的提示输入用户名和密码,据我所知,这就是如何正确地为虚拟WSL Ubuntu实例创建新用户。

正确的。初始用户创建是在发行版可执行文件(从Microsoft安装的.exe )首次运行时完成的。在Ubuntu的例子中,这通常是ubuntu.exe,尽管它可能会有所不同,这取决于您是否在商店中安装了一个“命名版本”(例如,Ubuntu20.04)。尽管如此,手动创建默认用户是完全可能的(见下文)。

让我们从wsl -l -v开始,看看发行版的名称是什么。它很可能只是"Ubuntu",但是如果它是不同的,则修改下面的命令。

“轻松”按钮

回到初始的“配置”状态是可能的,但有一个很大的假设和警告:will这样做可以擦除实例(虚拟文件系统等)中的所有数据/配置。该命令是wsl --unregister Ubuntu

这样做之后,您应该能够从开始菜单中重新运行"Ubuntu“,并且发行版将被重新创建。然后,它将向您询问默认用户名/密码。

作为根用户运行,不需要sudo

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

代码语言:javascript
运行
复制
wsl ~ -u root
代码语言:javascript
运行
复制
wsl ~ -u fred

虽然您最初可能会对在不使用密码的情况下运行root的能力感到震惊,但请记住,即使是root用户,您在WSL中的权限也永远不会超过您的Windows用户权限。尽管如此,请不要执行此操作

侧边栏:你的问题

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

帐户应该是一个系统帐户吗?它应该使用Ubuntu指定的任意名称吗?

我不知道你到底是什么意思,但我相信答案是“不”。默认用户可以任意命名。为了方便起见,我建议您只使用您通常喜欢的用户名。

帐户应该有主目录吗?

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

Sudo组管理:Sudo是唯一需要添加顶级安全级管理帐户(也称为Sudo帐户)的组,是否应该创建与我创建的admin帐户同名的另一个组?

默认的Ubuntu方法(“纯Linux”和"WSL")是创建一个与用户名相同的组。虽然也许没有必要,但我认为这是一个“最佳做法”。

在不重新安装

的情况下创建新的“默认”WSL用户

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

代码语言:javascript
运行
复制
useradd --create-home --user-group --groups  adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev --password "encryptedPassword" username

当然,将username修改为您想要的任何内容。因为您已经作为根用户运行,所以当然不需要sudo或任何诡计,但是其他没有OP用例的读者可能需要sudowsl -u root (如这个答案中所记录的)。

当然,这些组中的大多数可能在WSL下并不是绝对必要的,但是谁知道呢--有些应用程序可能会期望它们中的一些,并且比遗憾更安全。同样,这是Ubuntu/WSL配置器创建时为用户提供的“股票”组列表。

有关如何创建加密密码,请参见这里。具体来说(虽然没有针对这个确切的命令行亲自进行测试):

代码语言:javascript
运行
复制
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。不过,我推荐一种较新的方法。作为根用户,创建一个具有以下内容的文件/etc/wsl.conf

代码语言:javascript
运行
复制
[user]
default=username

当然,再一次用username代替。

有关其他技术,请参见这个问题及其各种答案。

推荐下一步

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

代码语言:javascript
运行
复制
wsl --export Ubuntu "2021-08-26 Default Ubuntu 20.04.tar"

如果您需要在不修改“每日驱动程序”的情况下抛出一个WSL实例来测试某个东西,那么您可以很容易地使用wsl --import这个发行版(将它称为“Ubuntu”以外的其他东西),然后将它与wsl --unregister一起丢弃。

票数 5
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1360283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档