![没有 ssh 连接时出现权限被拒绝错误](https://linux22.com/image/83878/%E6%B2%A1%E6%9C%89%20ssh%20%E8%BF%9E%E6%8E%A5%E6%97%B6%E5%87%BA%E7%8E%B0%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D%E9%94%99%E8%AF%AF.png)
我有一个运行 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) 时目录会被解密,而当会话关闭时目录会被加密回来。如果您需要服务/存储来自该用户的一些数据,这对于服务器使用来说并不理想。
您可以将数据存储在其他地方(最简单的解决方案:))或禁用加密。如果没有一个选项,请提供您需要实现的更多详细信息。
可能还有一种方法可以保留会话(我没有发现),因此您不会对目录进行加密,但可能没有理由进行加密。 :)