GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erzwinge ich Gruppen und Berechtigungen für erstellte Dateien in einem bestimmten Verzeichnis?

Um die Gruppe festzulegen, geben Sie /var/www ein die setgid bisschen:

chgrp www-data /var/www
chmod g+s /var/www

Um auch Unterverzeichnisse anzupassen:find /var/www -type d -exec chmod g+s {} +

Dadurch erben alle neu erstellten Dateien die Gruppe des übergeordneten Verzeichnisses und nicht die des Benutzers.

Um die standardmäßigen Gruppenberechtigungen festzulegen, müssen Sie ACLs verwenden . Legen Sie eine "Standard"-ACL fest:

setfacl -m "default:group::rwx" /var/www

Um auch Unterverzeichnisse anzupassen:find /var/www -type d -exec setfacl -m d:g::rwx {} +

Hinweis:Für das Dateisystem muss die ACL-Unterstützung aktiviert sein. Manchmal ist es standardmäßig aktiviert; auf ext3 oder ext4 Möglicherweise erhalten Sie "Operation nicht unterstützt". In diesem Fall muss sie manuell aktiviert werden:

  • Für ein aktuell gemountetes Dateisystem:mount -o remount,acl /

  • Dauerhaft – eins der folgenden Methoden:

    • auf fstab-Ebene:Bearbeiten Sie /etc/fstab acl haben im Optionsfeld

    • auf Dateisystemebene:tune2fs -o acl /dev/diskname


Dies könnte dazu geführt haben, dass einige Leute bei der Antwort "Grawity" auf setgid hängen geblieben sind. Wenn sich die Gruppe des Ordners von Ihrer eigenen unterscheidet, müssen Sie möglicherweise chmod als root ausführen, aber Sie erhalten keine Fehlermeldung, die darauf hinweist, dass Sie dies tun müssen.

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                    #no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo       #and the group is still wrong


$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo #and group is set

Linux
  1. So ändern Sie die Berechtigung für Verzeichnisse und Dateien

  2. So finden Sie die Anzahl der Dateien in einem Verzeichnis und Unterverzeichnissen

  3. Wie verwendet man Inotifywait, um ein Verzeichnis für die Erstellung von Dateien einer bestimmten Erweiterung zu überwachen?

  4. Linux – Berechtigungsprobleme für freigegebenes Verzeichnis auf einem Server?

  5. Erfahren Sie, wie Sie Berechtigungen für Dateien und Ordner ändern

So ändern Sie Berechtigungen für Dateien und Verzeichnisse

So kopieren Sie Dateien und Verzeichnisse unter Linux

So tarieren Sie bestimmte Dateitypen (Erweiterungen) in einem Verzeichnis

So zählen Sie die Anzahl der Dateien und Unterverzeichnisse in einem Verzeichnis

Wie werden Standard-Dateiberechtigungen für alle Ordner/Dateien in einem Verzeichnis festgelegt?

Wie richte ich Linux-Berechtigungen für den WWW-Ordner ein?