
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)を開くと、ディレクトリが復号化され、セッションが閉じられたときに再暗号化されます。そのユーザーの一部のデータを提供/保存する必要がある場合は、サーバーの使用には適していません。
データを他の場所に保存したり(最も簡単な解決策:)暗号化を無効にしたりできます。オプションがない場合は、実装すべき事項の詳細を提供してください。
ディレクトリを暗号化しないようにセッションを維持する方法もあるかもしれませんが(見つかりませんでした)、おそらくその理由はありません。 :)