
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) を開くとディレクトリが復号化され、セッションを閉じると再び暗号化されるという仕組みです。これは、そのユーザーからのデータを提供/保存する必要がある場合、サーバーでの使用には適していません。
データを別の場所に保存するか (最も簡単な解決策:) )、暗号化を無効にすることもできます。 いずれも選択できない場合は、達成する必要のある詳細を提供してください。
セッションを保存する方法もあるかもしれません (私は知りませんでした)。その場合、ディレクトリは暗号化されませんが、その場合は暗号化を行う理由はおそらくないでしょう。 :)