• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Benutzerrechte im Dateisystem festegen

MatzUp

Hacker
Wie kann man Benutzerrechte in einem Ordner (und Unterordner) festlegen?
Ich habe einen Ordner auf denen mehrere Benutzer zugreifen. Wenn einer eine Datei darin erstellt, hat ein anderer User keine Rechte zur Bearbeitung.
Ich weiß mit welchen Befehlen ich die Gruppenschreibrechte ändern kann, jedoch möchte ich das nicht jedes Mal im Nachhinein tun.
Kann man das irgendwie "befehlen" das in diesem Ordner die Einstellung der Rechte immer so bleiben?

OpenSuse 11.2
KDE 4.3
 
A

Anonymous

Gast
Hi,

schau mal
Code:
info coreutils 'chown invocation'
info coreutils 'chmod invocation'
 
OP
M

MatzUp

Hacker
by the way:
Kann man sich die Info auch irgenwie anders ausgeben lassen? Z.b. in KWrite oder in der Konsole bei der die "Scrollbar" auch benutzbar ist.
 

HBtux

Member
Der Befehl "umask" könnte Dir auch weiterhelfen.
Wenn die beiden User in der gleichen primären Gruppe sind, kannst Du mit umask einstellen, dass die Gruppe auch Schreibrechte auf die Datei bekommt.
 

panamajo

Guru
MatzUp schrieb:
Wie kann man Benutzerrechte in einem Ordner (und Unterordner) festlegen?
Gar nicht.
Rechte sind bei POSIX Dateisystemen nicht an Speicherorte sondern an den Berechtigungen die der Ersteller erlaubt orientiert.
MatzUp schrieb:
Ich habe einen Ordner auf denen mehrere Benutzer zugreifen. Wenn einer eine Datei darin erstellt, hat ein anderer User keine Rechte zur Bearbeitung.
Ich weiß mit welchen Befehlen ich die Gruppenschreibrechte ändern kann, jedoch möchte ich das nicht jedes Mal im Nachhinein tun.
Lege eine Gruppe an die diese Dokumente bearbeiten darf. Füge die jwlg. User zu dieser Gruppe hinzu, ändere die umask so dass Mitglieder derselben Gruppe rw Rechte haben und/oder sage den Leuten dass sie die Rechte jetzt explizit setzen/verneinen können/sollen.
MatzUp schrieb:
Kann man das irgendwie "befehlen" das in diesem Ordner die Einstellung der Rechte immer so bleiben?
Nein, das ergibt auch keinen Sinn.
Auch wenn ich Mitglied einer Gruppe bin kann ich trotzdem sagen dass die Datei "meinekontodaten" nicht für andere lesbar ist.

Ein anderer Ansatz sind ACLs. Aus der Welt dieses anderen Betriebssystems. Riesiger Overhead, marginaler Mehrwert
 

spoensche

Moderator
Teammitglied
MatzUp schrieb:
by the way:
Kann man sich die Info auch irgenwie anders ausgeben lassen? Z.b. in KWrite oder in der Konsole bei der die "Scrollbar" auch benutzbar ist.

Wenn du den Befehl aufrufst kannst du z.B. mit den Pfeiltasten navigieren.
 
OP
M

MatzUp

Hacker
panamajo schrieb:
Lege eine Gruppe an die diese Dokumente bearbeiten darf. Füge die jwlg. User zu dieser Gruppe hinzu, ändere die umask so dass Mitglieder derselben Gruppe rw Rechte haben und/oder sage den Leuten dass sie die Rechte jetzt explizit setzen/verneinen können/sollen.
Ich hab jetzt schon die dritte Seite über unmask gelesen, aber so richtig verstehen tu ich das nicht. Rechtevergabe über rwx verstehe ich, die Zahlensache erschließt sich mir noch nicht.

Was ich bis jetzt verstanden habe ist, dass wenn ich irgendwo "umask 0000" eintrage, alle Benutzer alle Rechte erhalten - und das für alle Dateien (auch für Ordner) die neu erstellt werden. Ist das richtig?
Irgendwo stand, das man dies bei "/etc/profile" eintragen kann, so das es für alle User gilt. Nur in welche Datei?

Vielen Dank für jede Hilfe bis jetzt.
 
OP
M

MatzUp

Hacker
spoensche schrieb:
MatzUp schrieb:
by the way:
Kann man sich die Info auch irgenwie anders ausgeben lassen? Z.b. in KWrite oder in der Konsole bei der die "Scrollbar" auch benutzbar ist.

Wenn du den Befehl aufrufst kannst du z.B. mit den Pfeiltasten navigieren.
Sehr richtig. ;) Und genau das möchte ich nicht, sonder die Vorteile von einer Maus und der Scrollbar genießen.
 

Tooltime

Advanced Hacker
MatzUp schrieb:
by the way:
Kann man sich die Info auch irgenwie anders ausgeben lassen? Z.b. in KWrite oder in der Konsole bei der die "Scrollbar" auch benutzbar ist.
Dann gib mal in der Adressleiste von Konqueror folgendes ein:
  • info:/coreutils/chmod invocation
MatzUp schrieb:
Irgendwo stand, das man dies bei "/etc/profile" eintragen kann, so das es für alle User gilt. Nur in welche Datei?
????
Soweit ich mich erinnern kann befindet sich die Datei /etc/profile im Verzeichnis /etc und hat den Namen profile. Ach ja, bevor man da etwas einträgt sollte man sich den Anfang der Datei durchlesen und vielleicht nach dem Begriff umask durchsuchen, da erhält man zwei nützliche Informationen:

  • a) Man sollte /etc/profile bei openSUSE nicht verändern, sondern stattdessen die Datei /etc/profile.local benutzen/anlegen.
    b) Der Hinweis auf login.defs
 

panamajo

Guru
MatzUp schrieb:
Was ich bis jetzt verstanden habe ist, dass wenn ich irgendwo "umask 0000" eintrage, alle Benutzer alle Rechte erhalten - und das für alle Dateien (auch für Ordner) die neu erstellt werden. Ist das richtig?
Irgendwo stand, das man dies bei "/etc/profile" eintragen kann, so das es für alle User gilt. Nur in welche Datei?
Gefährliches Halbwissen :mrgreen:
 
OP
M

MatzUp

Hacker
Tooltime schrieb:
  • info:/coreutils/chmod invocation
MatzUp schrieb:
Irgendwo stand, das man dies bei "/etc/profile" eintragen kann, so das es für alle User gilt. Nur in welche Datei?
????
Soweit ich mich erinnern kann befindet sich die Datei /etc/profile im Verzeichnis /etc und hat den Namen profile.
Ok, da habe ich zu schnell einfach nachgefragt ohne das selber zu prüfen. Ich hatte angenommen das Profile ein Verzeichnis ist.

Tooltime schrieb:
Ach ja, bevor man da etwas einträgt sollte man sich den Anfang der Datei durchlesen und vielleicht nach dem Begriff umask durchsuchen, da erhält man zwei nützliche Informationen:

  • a) Man sollte /etc/profile bei openSUSE nicht verändern, sondern stattdessen die Datei /etc/profile.local benutzen/anlegen.
  • Also eine Kopie von profile anlegen und diese in profile.local unbennen?

    Tooltime schrieb:
    b) Der Hinweis auf login.defs
in profile steht:
# The global umask value is stored in /etc/login.defs and
# will be set by pam_umask.so (see "man pam_umask").
#umask 022

und in login.defs steht:
# Umask which is used by useradd and newusers for creating
# new home directories.
#
UMASK 022

...bedeutet das nun, das man eigentlich den wert von umask unter login.defs verstellen muss?
 

spoensche

Moderator
Teammitglied
MatzUp schrieb:
spoensche schrieb:
MatzUp schrieb:
by the way:
Kann man sich die Info auch irgenwie anders ausgeben lassen? Z.b. in KWrite oder in der Konsole bei der die "Scrollbar" auch benutzbar ist.

Wenn du den Befehl aufrufst kannst du z.B. mit den Pfeiltasten navigieren.
Sehr richtig. ;) Und genau das möchte ich nicht, sonder die Vorteile von einer Maus und der Scrollbar genießen.

Per Konsole, regulären Ausdrücken zum suchen ist man meistens schneller als per Maus.

MatzUp schrieb:
Tooltime schrieb:
Ach ja, bevor man da etwas einträgt sollte man sich den Anfang der Datei durchlesen und vielleicht nach dem Begriff umask durchsuchen, da erhält man zwei nützliche Informationen:

  • a) Man sollte /etc/profile bei openSUSE nicht verändern, sondern stattdessen die Datei /etc/profile.local benutzen/anlegen.
  • Also eine Kopie von profile anlegen und diese in profile.local unbennen?


  • Die /etc/profile brauchst du nicht zu kopieren und umzubenennen. Einfach mit
    Code:
    sudo touch /etc/profile.local

    die /etc/profile.local anlegen, als User root mit einem Editor öffnen undd die Anpassungen vornehmen. Danach vom System abmelden (Logout) und wieder anmelden.

    MatzUp schrieb:
    Tooltime schrieb:
    b) Der Hinweis auf login.defs
MatzUp schrieb:
in profile steht:
# The global umask value is stored in /etc/login.defs and
# will be set by pam_umask.so (see "man pam_umask").
#umask 022

und in login.defs steht:
# Umask which is used by useradd and newusers for creating
# new home directories.
#
UMASK 022

...bedeutet das nun, das man eigentlich den wert von umask unter login.defs verstellen muss?

Die Datei /etc/login.defs wird von pam gelesen und pam setzt dann die systemweite Maske, die dann neu erstellten Dateien als Standardzugriffsrechte zugewiesen werden. Wenn du also andere Gruppenberechtigungen für neue Dateien verwenden willst, solltest du den UMASK Wert dort ändern.

Die umask wird berechnet nicht wie bei chmod berechnet, sonder genau anders herum.

Beispiel chmod:

Beispiel chmod 0744:

Die 0: Kein SGID, SUID oder Sticky Bit gesetzt
Die 7: 4 + 2 + 1 (Leserechte, Schreibrechte und Ausführungsrechte) (Eigentümer der Datei)
Die 4: nur Leserechte (Gruppe)
Die 4: (rest of the world)

Die 0744 entspricht der umask 022 und wird wie folgt berechnet:

Die 0: 7 -7 = 0 (Alle Rechte für den Benutzer)
Die 2: 7 - 4 - 1 (Leserechte für die Gruppe)
Die 2: 7 - 4 - 1 (leserechte für den Rest der Welt)

Also statt Addition, wie bei chmod, wird die umask mit Subtraktion berechnet.
 

HBtux

Member
Mal ganz banal ausgedrückt.

Die umask sind die Rechte, die Du von den Defaultrechten abziehst...
Mit diesen Rechten werden dann neue Verzeichnisse und Dateien angelegt.

Defaultrechte bei Dateien = 666 (= rw-rw-rw-)
Defaultrechte bei Verzeichnissen = 777 (= rwxrwxrwx)
Code:
777 = Defaultrechte für neue Verzeichnisse
022 = gesetzte umask (wird von den Defaultrechten abgezogen)
---
755 = ein neues Verzeichnis wird mit diesen Rechten angelegt. (= rwxr-xr-x)
===


666 = Defaultrechte für neue Dateien
022 = gesetzte umask (wird von den Defaultrechten abgezogen)
---
644 = ein neues Verzeichnis wird mit diesen Rechten angelegt. (= rw-r--r--)
===
Wenn Du nun für neue angelegte Dateien auch schreibrechte für die Gruppe vergeben willst, setzt Du die umask auf "002" (= rw-rw-r--)
Wenn Du nun noch etwas mehr Sicherheit willst und die Leserechte für "Other" entziehen möchtest, kannst Du die umask auf 007 setzen (= rw-rw----)

http://linuxseiten.kg-it.de/index.php?index=bash_Der_Befehl_umask
 
Hallo,
MatzUp schrieb:
Sehr richtig. ;) Und genau das möchte ich nicht, sonder die Vorteile von einer Maus und der Scrollbar genießen.
Dann lass doch einfach die Ausgabe in eine Datei schreiben:
Code:
info coreutils 'chown invocation' > info_coreutils_chown_invocation.txt
oder auch
Code:
info coreutils 'chown invocation' |tee info_coreutils_chown_invocation.txt
info coreutils 'chown invocation' |less
info coreutils 'chown invocation' |more
schon kannst Du es mit einer grafischen Testbearbeitung ansehen und/oder editieren.
lieben Gruß aus Hessen
 
A

Anonymous

Gast
Herz-von-Hessen schrieb:
MatzUp schrieb:
Sehr richtig. ;) Und genau das möchte ich nicht, sonder die Vorteile von einer Maus und der Scrollbar genießen.
Dann lass doch einfach die Ausgabe in eine Datei schreiben:
Code:
info coreutils 'chown invocation' > info_coreutils_chown_invocation.txt
oder auch

Ja gehts noch komplizierter ;)
Kann sich niemand mehr erinnern, da gab es mal ein Programm damit konnte man die Manpages die Infoseiten und noch 100 Dinge mehr grafisch wunderbar auch mit 100%Mausunterstützung benutzen.
http://de.wikipedia.org/wiki/Konqueror#KIO_Slaves

Das funktioniert auch heute noch .

robi
 
Oben