[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