[LinuxOB] Schreibrechte ändern
Daniel Dombrowski
daniel.dombrowski at linuxob.de
Mo Jun 21 11:52:28 CEST 2004
On 2004.06.21 11:27, Michael Gisbers wrote:
> On Monday 21 June 2004 10:02, Daniel Dombrowski wrote:
> > On 2004.06.21 09:22, Frank Hüsken wrote:
> > > Der Michael hat mir gesagt ich sollte mal die Frage stellen wie
> > > man Schreibrechte unter Linux verändern kann. Ich wusste jetzt
> > > nur nicht mehr ob ich die Frage in der LinuxOB oder hier in der
> > > Mailingliste stellen sollte, also mache ich es hier.
>
> Die Liste ist schon richtig, aber ich denke ich muß die Frage ein
> wenig in die richtige Richtung lenken:
>
> Welcher User hat Schreibzugriff auf eine NTFS/FAT32 Partition nach
> dem mounten?
>
> Normalerweise nur der Benutzer root.
Bei NTFS hat i.d.R. aber kein Benutzer Schreibrechte auf die Partition.
Bei FAT32 stimmt das mit root natürlich.
> Was muß in der /etc/fstab als zusätzliche Parameter angegeben werden,
> damit es auch mit dem angemeldeten Benutzer geht?
Erster Schritt sollte sein, man mount zu lesen. Besonders den Abschnitt
über vfat und dessen Zusatzoptionen. Die wichigsten:
uid=value and gid=value
Set the owner and group of all files. (Default: the uid and gid of the
current process.)
umask=value
Set the umask (the bitmask of the permissions that are not present).
The default is the umask of the current process. The value is given in
octal.
Die User-ID (uid) und die Group-ID (gid) müssen nummerisch angegeben
werden - im Notfall in /etc/passwd bzw. /etc/group nachgucken. Die
umask ist die invertierte Zugriffsberechtigung in oktaler Schreibweise.
Um an den Wert zu bekommen, müssen die Bits der gewünschten
Berechtigung invertiert werden. 5 ist z.B. 101, invertiert 010, also 2.
Für die meistens verwendeten Rechte ergiebt sich dann:
700 (rwx------) wird zu 077
750 (rwxr-x---) wird zu 027
755 (rwxr-xr-x) wird zu 022
Hierbei ist darauf zu achten, dass das x-Bit immer gesetzt ist, da man
sonst nicht in die Unterverzeichnisse kommt. Um dann zu verhindern,
dass die Dateien ausgeführt werden können, sollte man noch die
"noexec"-Option mit angeben. Die Dateien werden dann zwar noch als
ausführbar angezeigt, aber lassen sich nicht ausführen. Ab Kernel
2.5.43 kann man die Rechte für Dateien und Verzeichnisse auch getrennt
einstellen, so dass das ganze auch etwas schöner ist. Alle Details dazu
verrät man mount.
Und wo muss das ganze nun hin? Nun, ein Eintrag in der /etc/fstab sieht
wie folgt aus:
filesystem mount-point fs-type options dump fsck-order
In der Spalte für "options" steht i.d.R. "defaults". Diese kann man nun
wie folgt ergänzen:
defaults,noexec,uid=1000,gid=100,umask=077
Dies setzt dann die uid aller Dateien auf 1000 (1000 ist meist der
erste "normale" User) und die gid auf 100 (100 ist meist die Gruppe
users). Die umask wird auf 077 gesetzt, so dass sich für alle Dateien
auf der Partition das Zugriffsrecht 700 ergiebt - nur der Owner (in
diesem Fall User 1000) darf schreiben, lesen und ausführen, wobei das
Ausführen durch die noexec-Option auf das Zugreifen auf
Unterverzeichnisse beschränkt wurde.
Gruss
Daniel
Mehr Informationen über die Mailingliste linux