Seite 1 von 1
Verständnissfrage QFileInfo permission
Verfasst: 8. April 2006 23:58
von central
Hallo,
wenn ich etwas schreibe wie
Code: Alles auswählen
QFileInfo b("meinfile");
if (!b.permission( QFileInfo::WriteUser))
{
qWarning ("keine ausreichenden rechte");
}
sollte ich doch davon ausgehen können( wenn mein file root gehört),
das ein user keine Schreibrechte darauf hat , es also auch nicht löschen kann.
Doch genau das ist der Punkt.
Mein Programm kann das file trotzdem löschen
was läuft da verkehrt oder mache ich einen Denkfehler .
gruß
central
Verfasst: 9. April 2006 00:54
von Nassian
Nur die Tatsache das das File root gehört macht es nicht löschsicher.
Prüf die Dateirechte. Hat die Datei zb. 777 kann sie dem lieben Gott persönlich gehören und jeder Penner kann sie löschen.
SG Alexander
Verfasst: 9. April 2006 02:13
von central
Ok,
wohl etwas zu wenig Informationen gegeben

-rw-r--r-- 1 root root 759907 2006-03-08 01:21 rootfile
wieso kann ich das File als User löschen ?
Ich habe doch nur Leserechte.
gruß
central
Verfasst: 9. April 2006 10:35
von Christian81
Wie kommt ihr darauf, dass Erstellen, Löschen und Anzeigen von Dateien (in Form von 'ls') Dateioperationen sind?
Verfasst: 9. April 2006 11:05
von BartSimpson
Weil du eventuell mit root rechten arbeitest, oder s gibt noch ACL's
kannst ja mal mit getfacl nachschauen.
Verfasst: 9. April 2006 13:29
von Nassian
Christian81 hat geschrieben:Wie kommt ihr darauf, dass Erstellen, Löschen und Anzeigen von Dateien (in Form von 'ls') Dateioperationen sind?
Weil es so ist? Wozu glaubst gibt es die Rechteverwaltung?
@Topic: Wird dein Programm von root, oder mit root Rechten (Stichwort: sudo) ausgeführt?
SG Alexander
Verfasst: 9. April 2006 15:37
von central
Hallo ,
getfacl rootfile
# file: rootfile
# owner: root
# group: root
user::rw-
group::r--
other::r--
mein Program läuft nicht mit root Rechten .
Ich kann das File auch so als user löschen ( hätte ich eigentlich mal zuertst testen sollen

)
Also wohl doch keine QT spezifische Frage .
Aber falls doch jemand weiß, weshalb das so ist, würde ich mich freuen.
gruß
central
Verfasst: 9. April 2006 15:47
von BartSimpson
die rechte bziehen sich auf den Inhalt. Was zu du mit der Datei selbst machen darfts, sagen die berechtigungen des Verzeichnis. Deshalb wird auch bei /tmp das "stink" Bite gesetzt, damit sich du user nicht gegenseitig die tmporären Datein löschen.
Verfasst: 9. April 2006 16:09
von Christian81
Nassian hat geschrieben:Christian81 hat geschrieben:Wie kommt ihr darauf, dass Erstellen, Löschen und Anzeigen von Dateien (in Form von 'ls') Dateioperationen sind?
Weil es so ist? Wozu glaubst gibt es die Rechteverwaltung?
Naja, mach mal n Grundkurs darin ... genug Hinweise habe ich ja schon gegeben. Es ist eine
Verzeichnisoperation
Verfasst: 9. April 2006 18:28
von Nassian
Komisch. Ich habe das mal versucht, ich kann ein File wirklich auch als User, wenn auch mit Warnung löschen. Komisch ist allerdings, dass /etc/fstab zb. nicht löschbar ist als user. Obwohl es die selben Rechte hat wie mein Testfile. ACL ist nicht aktiviert.
Verfasst: 9. April 2006 18:40
von BartSimpson
dann schaue dir mal die Rechte von /etc an.
Verfasst: 10. April 2006 00:55
von Nassian
Achso, es kommt auf die Rechte des Ordners an, der das File beinhaltet?
Verfasst: 10. April 2006 08:46
von BartSimpson
ja. Die sagen, was du im Verzeichnis machen darfst, lesen schreiben. X sagt, ob du das Verzeichnis betreten datgst oder nicht.