操作系统是 Ubuntu 服务器 20.04 LTS(HVM)
我正在尝试配置服务器以在启动时启动 Jupyter 笔记本服务。问题是它拒绝连接。我不知道为什么。
笔记本和虚拟环境下面属于另一个用户(非root)。
在其他用户工作时手动启动笔记本服务
如果我 ssh 进入服务器,su 到其他用户,输入该用户的密码,cd 到他们的主目录并启动笔记本服务,那么它就可以正常工作。也就是说,它不会拒绝连接。
以 root 身份手动启动笔记本服务不起作用。在这种情况下,启动脚本以 root 身份运行,并且连接被拒绝。在这种情况下,笔记本服务似乎正常启动,但拒绝来自外界的连接。
自动启动笔记本服务不起作用
我用来启动它的脚本是
cd /home/anna_user2
source .venv/jupyter/bin/activate
jupyter notebook
我可以su
在启动脚本中向其他用户发出请求,但就我有限的理解而言,存在两个问题:
su
NOPASSWD
即使通过设置,也要求输入密码visudo
- 我在论坛上看到的帖子总是问“为什么要
su
在脚本中这样做?”这让我相信我不应该这样做,而且有更好的方法。
我使用命令启动虚拟环境source ~/.venv/jupyter/bin/activate
。无法启动sudo source...
(未找到命令)
该服务器是 Amazon AWS 实例,此服务提供指定在启动时运行的脚本(“用户数据”)的功能。
我在这里问这个问题的原因是这似乎是用户权限问题。我希望了解为什么如果服务由 root 启动则无法运行以及/或在脚本中使用 su 时出现的问题。