PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Exotische Dateizugriffsrechte



nordi
13.12.04, 22:52
Moin!

Im Web wimmelt es nur so von Seiten auf denen Linux Dateizugriffsrechte, chmod, chown und umask erklärt werden. Leider geht es dabei meist nur um Grundlagen, und selbst dann sind die Erklärungen voller Fehler (z.B. hier (http://www.linux.com/howtos/Security-HOWTO/file-security.shtml) und hier (http://www.linuxfibel.de/access.htm)).

Kennt jemand eine Seite auf der dieses Thema mal wirklich intensiv behandelt wird und die sichheitstechnisch relevanten Nischenfälle abgedeckt werden? Also auch die ganzen interessanten Effekte die man mit Hardlinks, Filedeskriptoren und anderen Spielzeugen hinkriegt? Ich habe mir nämlich überlegt sowas mal selber zu schreiben, aber ich würde mir den Aufwand natürlich sehr gerne sparen ;)

MfG
nordi

cane
13.12.04, 22:57
Könntest Du das genauer erläutern?

Was willst Du denn realisieren?

mfg
cane

cane
13.12.04, 22:59
Wenn Fehler auf den Seiten sind schreib doch am besten eine Mail an den Webmaster - könnte sein dasDu damit anderen viel Ärger ersparst :)

mfg
cane

nordi
13.12.04, 23:18
Also an die Jungs von Linuxfibel hab ich am 1. November eine Mail geschickt. Hab auch eine positive Antwort gekriegt, geändert hat sich noch nix.

Was ich damit erreichen will ist eine Seite zu haben auf der eine möglichst komplette&korrekte Liste der fiesen Tricks liegt die man mit Dateien/Dateizugriffsrechten machen kann. Ein erheblich Prozentsatz (die Mehrheit?) denkt z.B. dass man Schreibrechte für eine Datei braucht um sie zu löschen. Das ist aber völliger Blödsinn, Linux interessiert es nicht die Bohne ob du die Datei schreiben kannst!

Hardlinks werden auf beiden Seiten nicht erläutert, DoS Angriffe und SUID/SGID Exploits mit Hardlinks sind aber durchaus relevant. Und es fehlen noch viele andere Details die für Admins und Programmierer wichtig sind. Da wäre es halt praktisch das alles mal gebündelt zu haben.

cane
13.12.04, 23:41
Hört sich interessant an :)

Was hältst Du davon das ganze selbst zusammenzufassen?

Könntest Du das mit dem Löschen ohne Screibrechte kurz erläutern oder besser noch Deine Links posten?

mfg
cane

nordi
14.12.04, 00:14
Könntest Du das mit dem Löschen ohne Screibrechte kurz erläutern

Mache als root: "touch /home/foobar/gehoert_root; chmod 644 /home/foobar/gehoert_root"

Manche Leute glauben jetzt, foobar könnte die Datei nicht löschen weil er keine Schreibrechte für die Datei hat (gehört ja root und ist 644). Mancher Admin _verlässt_ sich sogar darauf. Aber probier es aus, foobar kann die Datei ganz einfach löschen.


Du kannst auch nicht alle Dateien löschen die dir gehören:
Als root: "touch /gehoert_foobar; chown foobar /gehoert_foobar"
Versuch mal die Datei als foobar gelöscht zu kriegen, das wird nicht klappen.

Von der Sorte gibt es halt noch viele andere, z.B. komplett unsichtbare Dateien, temporäre Dateien die nicht weggehen wenn du sie löscht, Dateien mit Zugriffsrechten auf 600 die trotzdem von allen gelesen werden können usw usw

klemens
14.12.04, 00:35
Also, dass man die Rechte des Verzeichnisses, in dem man ist, mitbedenken muss, ist klar.

Was mich noch interessiert.
Selbst wenn eine "Datei" im Verzeichnis gelöscht wird, müsste doch der inode selber erhalten bleiben - also z.B. auch sämtliche Hardlinks der Datei. Ich darf ja nur das Verzeichnis, in dem ich Schreibrechte habe verändern, aber die Daten selber auch?

(Sorry, wenn ich mich jetzt unprofessionell ausgedrückt habe - so gut weiss ich jetzt nicht bescheid, um das ordentlich zu formulieren)

cane
14.12.04, 07:16
Das ist wirklich ein interessantes Thema.

Wäre schön wenn ihr noch mehr Möglichkeiten postet :)


mfg
cane

fuffy
14.12.04, 09:56
Hi!


Du kannst auch nicht alle Dateien löschen die dir gehören:
Als root: "touch /gehoert_foobar; chown foobar /gehoert_foobar"
Versuch mal die Datei als foobar gelöscht zu kriegen, das wird nicht klappen.
Ist doch logisch, dass das nicht klappt, weil dafür der Verzeichniseintrag / bearbeitet werden muss. Für diesen hat foobar jedoch keine Schreibrechte. Die Rechte der zu löschenden Datei selbst sind uninteressant, weil du diese überhaupt nicht veränderst.

Ein Administrator, der was anderes denkt, hat von den Unix-Rechten keine Ahnung. Er sollte weiter mit Windows-ACLs rumhantieren. ;)

Gruß
fuffy

Blackhawk
14.12.04, 10:12
Also, dass man die Rechte des Verzeichnisses, in dem man ist, mitbedenken muss, ist klar.

Was mich noch interessiert.
Selbst wenn eine "Datei" im Verzeichnis gelöscht wird, müsste doch der inode selber erhalten bleiben - also z.B. auch sämtliche Hardlinks der Datei. Ich darf ja nur das Verzeichnis, in dem ich Schreibrechte habe verändern, aber die Daten selber auch?

(Sorry, wenn ich mich jetzt unprofessionell ausgedrückt habe - so gut weiss ich jetzt nicht bescheid, um das ordentlich zu formulieren)

Die Daten verschwidnen, wenn der letzte Hardlink geloescht ist. Eine "normale" Datei hat einen Hardlink, naemlich den normalen Verz.-Eintrag.

nordi
14.12.04, 11:23
Die Daten verschwidnen, wenn der letzte Hardlink geloescht ist.

Stimmt aber auch nicht ganz: Die Datei verschwindet wenn der letzte Hardlink gelöscht ist _und_ das letzte Dateihandle geschlossen wird. Wenn ein User mit Quota für jeden lesbare, große Dateien erstellt kannst du ihn damit richtig gut ärgern: Du öffnest seine Dateien und schließt sie nicht mehr. Dadurch bleiben die Dateien erhalten und irgendwann kommt der andere über seine Quota/Platte voll. :ugly: