
Ich habe einen Ubuntu 12.04-Server, auf dem eine Python-Anwendung läuft. Die Anwendung wird manuell tmux
oder automatisch beim Start des Servers gestartet.
Die Anwendung verarbeitet HTTP-Anfragen von Android-Clients. Sie speichert einige Daten auf der Festplatte:
os.mkdir(directory_path)
with open(file_name, "w") as f:
f.write(text)
Die Anwendung hat Ausnahmen an den Telegramm-Chat gesendet:
OSError: [Errno 13] Permission denied: '/home/username/Desktop'
Bei einer aktiven SSH-Verbindung funktioniert alles einwandfrei. Nach dem Schließen des Client-SSH-Terminals erhalte ich im Serverprotokoll viele „Zugriff verweigert“-Fehler beim Versuch, eine Datei oder ein Verzeichnis zu erstellen. Nach dem Herstellen einer Verbindung mit SSH (nur Verbinden, ohne Ausführen von Befehlen) funktioniert alles wieder einwandfrei und neue Dateien oder Ordner werden von der Anwendung erstellt.
-- Passiert das, wenn das Programm vom Server und nicht in einer tmux-Sitzung gestartet wird? Ja. Das Problem tritt in beiden Fällen auf.
-- Wird beim Verbinden mit der Maschine die tmux-Sitzung automatisch wiederhergestellt? Nein. Das Verbinden mit tmux erfolgt manuell (tmux a). Die Anwendung funktioniert nach der SSH-Verbindung mit dem Server einwandfrei. Das Verbinden mit tmux ist nicht erforderlich.
Welchen Einfluss kann die SSH-Verbindung auf einen laufenden Anwendungsprozess oder auf Systemzugriffsrechte haben?
Antwort1
Die standardmäßige Verschlüsselung von Home-Verzeichnissen in Ubuntu funktioniert so, dass das Verzeichnis beim Öffnen der Sitzung (PAM) entschlüsselt und beim Schließen der Sitzung wieder verschlüsselt wird. Dies ist nicht ideal für Serveranwendungen, wenn Sie einige Daten dieses Benutzers bereitstellen/speichern müssen.
Sie können die Daten woanders speichern (die einfachste Lösung :)) oder die Verschlüsselung deaktivieren. Wenn keine dieser Optionen in Frage kommt, geben Sie bitte genauere Informationen dazu an, was Sie erreichen möchten.
Es gibt möglicherweise auch eine Möglichkeit, die Sitzung beizubehalten (ich habe das nicht herausgefunden), sodass das Verzeichnis nicht verschlüsselt wird, aber dann gibt es wahrscheinlich keinen Grund für die Verschlüsselung. :)