我有一个运行 python 应用程序的 Ubuntu 12.04 服务器。该应用程序tmux
在服务器启动时手动启动或自动启动。
应用程序处理来自 Android 客户端的 http 请求。它将一些数据保存到硬盘驱动器:
os.mkdir(directory_path)
with open(file_name, "w") as f:
f.write(text)
应用程序向电报聊天发送异常:
OSError: [Errno 13] Permission denied: '/home/username/Desktop'
通过有效的 ssh 连接,一切正常。关闭客户端 ssh 终端后,我在服务器日志中收到许多有关尝试创建文件或目录的“权限被拒绝”错误。使用 ssh 连接(仅连接,不运行任何命令)后,一切正常,并且应用程序创建新文件或文件夹。
-- 当程序由服务器启动而不是在 tmux 会话中启动时,会发生这种情况吗?是的。两种情况下都会出现此问题。
-- 连接到机器是否会自动重新连接 tmux 会话?不需要。附加到 tmux 是手动的(tmux a)。 ssh 连接到服务器后应用程序工作正常。不需要附加 tmux。
ssh 连接如何影响正在运行的应用程序进程或系统访问权限?
答案1
Ubuntu 中的默认主目录加密工作原理如下:当您打开会话 (PAM) 时目录会被解密,而当会话关闭时目录会被加密回来。如果您需要服务/存储来自该用户的一些数据,这对于服务器使用来说并不理想。
您可以将数据存储在其他地方(最简单的解决方案:))或禁用加密。如果没有一个选项,请提供您需要实现的更多详细信息。
可能还有一种方法可以保留会话(我没有发现),因此您不会对目录进行加密,但可能没有理由进行加密。 :)