Ich versuche, ein Spiel namens "Dofus" unter Manjaro Linux auszuführen. Ich habe es mit Packer installiert, der es unter /opt/ankama
Ordner legte. Dieser Ordnerbesitz (und für jede darin enthaltene Datei) ist der Root-Benutzer und die Spielegruppe. Gemäß den Anweisungen des Installationspakets habe ich mich (Benutzer familia
) zur Spielegruppe hinzugefügt (indem ich dies nicht getan habe: "Ich müsste mein Kennwort jedes Mal eingeben, wenn ich versuche, den Updater auszuführen").
Beim Ausführen des Spiels stürzt es jedoch nach Eingabe meines Passworts ab (was nicht erforderlich sein sollte). Beim Überprüfen der Protokolle sind folgende Fehler aufgetreten:
[29/08 20:44:07.114]{T001}INFO c/net/NetworkAccessManager.cpp L87 : Starting request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D
[29/08 20:44:07.291]{T001}INFO c/net/NetworkAccessManager.cpp L313 : Request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D Finished (status : 200)
[29/08 20:44:07.292]{T001}ERROR n/src/update/UpdateProcess.cpp L852 : Can not cache script data
Ich vermute also, dass die Berechtigung verweigert wurde. Eine Fehlermeldung einen Moment nach dem Start
Dies bedeutet: "Beim Schreiben auf die Festplatte ist ein Fehler aufgetreten. Überprüfen Sie, ob Sie über ausreichende Rechte und ausreichend Speicherplatz verfügen."
Nach einigen Recherchen stieß ich dann auf "auditd", das Dateizugriffe in einem Ordner protokollieren kann. Nachdem Sie es eingerichtet und festgestellt haben, welche Dateizugriffe nicht erfolgreich waren, ist dies das Ergebnis .
Alle diese Fehler beziehen sich tatsächlich auf eine eindeutige Datei /opt/ankama/transition/transition
mit einem Syscall an ( open
). Die Berechtigungen dieser Datei sind rwxrwxr-x
( 775
). Ich habe also rwx-Berechtigungen dafür, aber es gibt mir einen Fehler exit -13
, der ein EACESS
Fehler ist (Berechtigung verweigert).
Ich habe bereits versucht, den Computer neu zu starten, mich anzumelden und abzumelden. Keiner von ihnen hat funktioniert.
Wenn ich die Ordnerberechtigungen auf setze familia:games
, läuft es ohne Probleme, ich muss nicht einmal mein Passwort eingeben. Auf diese Weise scheint es jedoch nicht richtig zu sein. Irgendwelche Ideen, warum ich Fehler erhalte, denen die Berechtigung verweigert wurde, obwohl ich Lese- / Schreib- / Ausführungsberechtigungen habe?
Mark hat gesagt, dass ich + x Berechtigungen in allen Verzeichnissen des Pfadpräfixes benötigen könnte. Der Weg selbst ist /opt/ankama/transition/transition
. Die Berechtigungen für die Pfadpräfixe sind:
/ opt - drwxr-xr-x (755), Eigentümer root: root
/ opt / ankama - drwxr-xr-x (755), Besitzstamm: Spiele
/ opt / ankama / Transition - drwxrwxr-x (775), Besitzstamm: Spiele
Eine Sache, die mir jedoch aufgefallen ist, ist, dass alle Unterordner von /opt/ankama
sind 775
, obwohl der Ordner selbst ist 755
. Ich glaube nicht, dass dies etwas bedeutet, und das Ändern der Berechtigungen in 775
funktioniert nicht.
Außerdem schlug Giel vor, AppArmor auf meinem System ausführen zu lassen. Laufen # cat /sys/module/apparmor/parameters/enabled
gibt mir jedoch N
.
quelle
rename
undunlink
in diesem Überwachungsprotokoll. Das Programm kann auf Schreibzugriff auf einige dieser Verzeichnisse angewiesen sein. Wenn dies fehlschlägt, ist das von Ihnen angegebene Kennwort möglicherweise für jemanden bestimmt, der über Schreibzugriff verfügt.rename
undunlink
anrufen?syscall=87
Linie. Das ist nicht verbunden. Die Prüfung zeigt, dass das Verzeichnis Benutzer 0, Gruppe 0, Modus 755 ist. Wenn der Prozess so ausgeführt wird, wie Sie es tun, wird diese Verknüpfung nur dann erfolgreich sein, wenn das Verzeichnis den Modus 777 hat oder der Eigentümer Sie sind oder die Gruppe eine Gruppe istAntworten:
Wenn Sie sich einer Gruppe hinzufügen, wird die Änderung nicht sofort angewendet. Am einfachsten ist es, sich abzumelden und wieder anzumelden.
Dann gibt es Schreibberechtigungen für Datendateien (wie bereits in einigen Kommentaren erwähnt). Die Lösungen sind jedoch nicht gut für die Sicherheit.
chmod -R ugo+rX game-directory
chmod -R ug+w,o-w game-directory
chgrp -R game-group game-directory
,chmod -R g+s game-directory
oder nur
addgroup game-group; chgrp -R game-group game-directory; chmod -R u=rwX,g=rwXs,o=rX game-directory
Wenn das Spiel die Berechtigungen ändern muss, können Sie dasselbe tun, jedoch für Benutzer anstelle von Gruppen. dh.
adduser game-owner; addgroup game-group; chown -R game-owner:game-group game-directory; chmod -R u=rwXs,g=rwXs,o=rX game-directory
quelle
Verzeichnisse müssen zum Öffnen x-Bit gesetzt sein (für das Verzeichnis wird dieses Bit als Suchbit angesehen). Ich verwende also tree, damit ich nur den Ordner festlegen und den Albtraum vermeiden kann, alle Dateien als ausführbare Dateien festzulegen (die Option für tree ist
-d List directories only.
):Warnung!!! Sie sollten dies in Überlegungen haben:
Wenn Sie chmod oder chown rekursiv für Stammverzeichnisse
/
oder Systemverzeichnisse verwenden, wird Ihr Betriebssystem zerstört (alles, was rekursiv für/
Verzeichnisse oder Systemverzeichnisse rekursiv ist, ist gefährlich.)Dies ist keine gute Sicherheitspraxis, um eine solche Berechtigungsmenge festzulegen
quelle