SSH接続なしでアクセス拒否エラー

SSH接続なしでアクセス拒否エラー

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) を開くとディレクトリが復号化され、セッションを閉じると再び暗号化されるという仕組みです。これは、そのユーザーからのデータを提供/保存する必要がある場合、サーバーでの使用には適していません。

データを別の場所に保存するか (最も簡単な解決策:) )、暗号化を無効にすることもできます。 いずれも選択できない場合は、達成する必要のある詳細を提供してください。

セッションを保存する方法もあるかもしれません (私は知りませんでした)。その場合、ディレクトリは暗号化されませんが、その場合は暗号化を行う理由はおそらくないでしょう。 :)

関連情報