Für den normalen Betrieb können nur root und der Eigentümer chmod
. Darüber hinaus können root chown
und chgrp
und weiterhin der Eigentümer, chgrp
solange der Eigentümer Mitglied der Zielgruppe ist.
Aus Sicherheitsgründen gibt es jedoch einen anderen Fall: Jeder Benutzer mit Schreibberechtigung für das Verzeichnis, in dem sich die Datei befindet, kann die Datei durch eine Kopie ersetzen und so Eigentümer werden, sodass er die Berechtigungen und Inhalte ändern kann.
Wie so:
14:14 mybox:~ mkdir mydir
14:14 mybox:~ cd mydir/
14:14 mybox:mydir echo foo | sudo tee yourfile
foo
14:14 mybox:mydir ls -ld . yourfile
drwxr-xr-x 3 me staff 102 Apr 11 14:14 .
-rw-r--r-- 1 root staff 4 Apr 11 14:14 yourfile
Wir haben ein Verzeichnis erstellt und eine Datei als root geschrieben. Da root die Datei besitzt, können wir weder darauf schreiben, noch können wir chmod:
14:15 mybox:mydir echo bar > yourfile
-bash: yourfile: Permission denied
14:15 mybox:mydir chmod a+x yourfile
chmod: Unable to change file mode on yourfile: Operation not permitted
Wir haben jedoch eine Schreibberechtigung für das Verzeichnis, sodass wir die Datei ersetzen können, um den Besitz zu erlangen:
14:15 mybox:mydir mv yourfile yourfile2
14:15 mybox:mydir cp yourfile2 yourfile
14:15 mybox:mydir ls -ld . yourfile
drwxr-xr-x 4 me staff 136 Apr 11 14:15 .
-rw-r--r-- 1 me staff 4 Apr 11 14:15 yourfile
Und jetzt, da wir der Eigentümer sind, können wir natürlich mit dieser Datei machen, was wir wollen:
14:15 mybox:mydir echo bar > yourfile
14:15 mybox:mydir chmod a+x yourfile
14:16 mybox:mydir cat yourfile
bar
Ebenso kann jeder Benutzer mit Schreibberechtigung für ein beliebiges Verzeichnis im vollständigen Pfad, der zur Datei führt, die Verzeichnisstruktur ab diesem Zeitpunkt ersetzen und so den Besitz der Datei mit dem angegebenen Namen erlangen. Der Besitz oder die Berechtigungen der tatsächlichen Originaldatei (die wir in "yourfile2" umbenannt haben) werden natürlich nicht geändert.
14:17 mybox:mydir ls -l yourfile2
-rw-r--r-- 1 root staff 4 Apr 11 14:14 yourfile2