sudo -s和sudo有什么区别

问题描述:

我想用命令sudo jupyterhub来启动JupyterHub。这会启动服务器,但用户无法登录。但是当我使用sudo -s切换到root用户,然后键入jupyterhub时​​,一切正常。sudo -s和sudo有什么区别

通过在其之前键入sudo运行命令和使用sudo -s切换到root用户然后运行该命令之间有什么区别。

我的主要目标是将此命令添加到/etc/rc.local,以便jupyterhub在系统启动时自动启动并在后台运行。现在我该如何在那里添加sudo -s

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://*.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww

假设您的默认shell是zsh,并且root的shell是bash。当您运行sudo -s sudo将启动zsh而不是bash

默认shell在/etc/passwd中配置。请检查man sudo

+0

如何知道我的默认shell是什么? – p0712

+0

正如我所说的,它是在'/ etc/passwd'中配置的。 'echo“$ {SHELL}”'也会起作用 – hek2mgl

+0

我刚刚检查过我的'/ etc/passwd'。 shell和root用户(ubuntu)都是'/ bin/bash'。那为什么有这种差异? – p0712