设置了具有 Windows 的 "sudo" 权限的非根用户帐户

Nonroot user account set up that has "sudo" privileges for Windows

这个问题有点具体,我想做以下代码的等价物:

 # these commands must be run as root
 root@server:$ useradd -m -s /bin/bash elspeth # add user named elspeth
 # -m creates a home folder, -s sets elspeth to use bash by default
 root@server:$ usermod -a -G sudo elspeth # add elspeth to the sudoers group
 root@server:$ passwd elspeth # set password for elspeth
 root@server:$ su - elspeth # switch-user to being elspeth!
 elspeth@server:$

 elspeth@server:$ sudo apt-get install nginx
 elspeth@server:$ sudo service nginx start

我在打开命令提示符时单击 "Run as administrator",我假设是 "running as root."

我做了一些研究,发现像 net user (username) (pwd) 这样的命令我认为是 Windows 等价物。现在首先,我对 sudo 组部分感到困惑。我输入:

net localgroup sudo (user) /add

但是得到一个 "The specified local group does not exist." 我是要创建一个新的 "sudo" 组吗?

还有一部分代码将用户设置为 "use bash by default",我没有 know/understand 等同于 Windows。

最后,对于第一段代码,有一个 su 命令。 运行as 是否等价?我读到您可以从 Windows 上的命令提示符切换用户到 运行as 但是我必须指定一个程序到 运行(将在这种情况下是bash?)

根据我在 Whosebug 上的阅读,运行as 实际上是 Windows 等同于 Linux 的 sudo,这在我们必须使用 sudo 的第二段代码中让我更加困惑(对于它的价值,sudo 对我来说是无法识别的命令。

作为参考和上下文,这是我正在使用的书以及处理此代码的确切摘录: http://chimera.labs.oreilly.com/books/1234000000754/ch08.html#_user_accounts_ssh_and_privileges

你不能把这样的命令翻译成 Windows; Linux和Windows完全不同尤其是在用户管理方面

sudo 只是 switch user do;它允许您 运行 作为另一个用户执行命令。在大多数情况下,这样做是为了允许普通用户以 root 身份执行命令。

在Windows,这是"Run As Administrator";或者,如果您已经是管理员组的一员 - 那么您可以完全跳过此步骤。

第一行添加一个用户,为他们分配一个主目录和一个 shell.

在Windows中,您只需添加一个用户;因为 Windows 中确实没有 "shell" 的概念——也就是说,默认情况下所有用户都使用 Windows 桌面环境——这是他们的 "shell"。 shell 只是一个接受输入以执行的程序。大多数文本会告诉您 cmd.exe(或 PowerShell)是 "shell",但这并不完全正确。这些只是执行命令的另一个界面 - 主要 "shell" 是 Windows 本身。

此外,默认情况下所有用户都有一个主目录(除非他们是系统帐户)。

有关如何实际创建用户并将其添加到组的更多信息,请参阅 PowerShell: Create Local User Account

你最后两行是安装nginx; Windows 上最接近该命令的是 chocolatey,但它需要已经安装。

否则,专门针对 nginx,您只需下载 zip 和 运行 命令。