Tipp: Lassen Sie ein Verzeichnis unter Linux von mehreren Benutzern gemeinsam nutzen

Terminal

Heute kehre ich mit einem weiteren Tipp zurück, den ich persönlich viel benutze: in der Lage sein, ein gemeinsames Verzeichnis für mehrere Benutzer unter Linux zu haben. Ich habe sie in eine Situation gebracht, mit meiner Frau zu Hause benutzen wir beide den gleichen PC Arch Linux aber jeder mit seinem eigenen Benutzer. Wir haben also das Problem mit den Ordnern bemerkt, die wir wie Musik oder Fotos teilen, da jeder seine eigenen Dateien hatte, die Dinge duplizierten.

Damals dachten wir Erstellen Sie einen freigegebenen Ordner, aber es gibt das Problem der Berechtigungen. Wenn der Ordner mir gehört, sieht sie ihn nicht, wenn die Datei von mir erstellt wurde, löscht sie ihn nicht und so weiter. Zu Beginn bestand der Patch darin, dass wir diesen Dateien jedes Mal 777 Berechtigungen erteilten, wenn wir etwas bearbeiteten, auf das der andere zugreifen konnte, bis wir die Lösung gefunden hatten. Gruppenberechtigungen!

Was sind Gruppenberechtigungen?

Das ist das Beste, Weisen Sie diesem freigegebenen Verzeichnis und seinem gesamten Inhalt eine spezielle Gruppe mit Lese- und Schreibberechtigungen zu, mit dem alle Mitglieder der Gruppe Zugriff auf dieses Verzeichnis haben. Dies ermöglicht dann, dass wir durch einfaches Hinzufügen unserer Benutzer zu dieser Gruppe bereits in diesem Verzeichnis interagieren können.

Und wie konfiguriere ich es?

Dies ist der beste Teil und ich erzähle Ihnen weiter, wie ich es mit meiner Frau gemacht habe. Das erste ist, dieses Verzeichnis zu erstellen, das ich für das Beispiel aufrufen werde «Compartido«.

sudo mkdir /home/compartido

Ich erstelle es innerhalb / zu Hause und außerhalb unserer Konten, um zu vermeiden, dass die oberen Verzeichnisse ihre eigenen Berechtigungen haben. Jetzt müssen wir die Gruppe erstellen, die wir setzen werden «Geteilt»

sudo groupadd compartidos

Wir weisen diese Gruppe dem zuvor erstellten Verzeichnis zu und ändern auch die Berechtigungen, sodass alles, was wir darin erstellen, ob es sich um Verzeichnisse oder Dateien handelt, ebenfalls zu dieser Gruppe gehört.

sudo chgrp -R compartidos /home/compartido
sudo chmod g+s dirname

Außerdem müssen wir unsere Benutzer hinzufügen. Dann müssen wir diesen Befehl für jeden wiederholen:

sudo usermod -G compartido sebastian
sudo usermod -G compartido mimujer

Bisher haben wir das Verzeichnis «/ home / geteilt»Welches gehört zur Gruppe«Geteilt«, Womit alle Mitgliedsbenutzer desselben zugreifen können und alles, was im Verzeichnis erstellt wird, zur Gruppe gehört, mit dem jeder von uns sie sehen kann.

Jetzt brauchen wir nur noch einen letzten Schritt, der optional sein kann, aber die Umask der Benutzer ändern soll, um sicherzustellen, dass jede neue Datei, die wir erstellen, von den anderen Mitgliedern der Gruppe geändert werden kann. Dies betrifft den gesamten Benutzer, nicht nur das Verzeichnis. Sie müssen also prüfen, ob es für sie funktioniert oder nicht. In meinem Fall stört es uns nicht, da nur meine Frau und ich das System verwenden, und wir weisen eine Umask von 002 zu, was bedeutet, dass jede erstellte Datei mit 775 Berechtigungen beginnt.

Umask bearbeiten

Um die Umask zu bearbeiten, müssen Sie in jedem Benutzer die .profile- oder .bashrc-Datei bearbeiten, die sich in der Startseite des Benutzers befindet, und den Wert von umask um die gewünschte Nummer ändern. Wenn die Option nicht vorhanden ist, müssen wir sie hinzufügen.

Sie können auch die Datei / etc / profile bearbeiten, sodass die Änderung alle Benutzer betrifft

Also, in die Konsole setzen wir:

sebastian@multivacs ~> vim .profile

Und wir werden so etwas sehen:

vi-profil2

Also gehen wir zu der Zeile, in der umask steht, wir drücken den Buchstaben i um bearbeiten zu können und wir entfernen das #, um den Kommentar zu entfernen. Wir ändern die Nummer in 002. Wenn die Zeile nicht angezeigt wird, müssen sie hinzugefügt werden.

Sobald wir fertig sind, drücken wir die Taste Esc um den Bearbeitungsmodus zu verlassen und dann schreiben wir :+q+w. Was uns dazu bringt, die Änderungen zu speichern und das Vi zu verlassen.

Es wird wie folgt aussehen:

vi-Profil

Und das war's! Wenn sie ihre Benutzersitzung schließen und erneut öffnen, werden die Änderungen übernommen, sodass das freigegebene Verzeichnis funktioniert.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   lebhaft sagte

    Toller Tipp.

  2.   KZKG ^ Gaara sagte

    Großartig.

    Vor einigen Jahren sah ich die Notwendigkeit, dies selbst zu tun. Was ich nicht wusste, war die Umask ... Ich habe stattdessen eine Aufgabe in die Crontab gestellt

    Danke für den Tipp

    1.    Thalskarth sagte

      Ja, der Crontab ist auch gut. Was haben Sie gesagt, um dem Inhalt 775 Berechtigungen zuzuweisen?

  3.   rawBasic sagte

    Toller Tipp .. .. bei Bedarf gespeichert;) ..

  4.   Luis sagte

    Ok, Sie erstellen den Ordner / home / shared und weisen ihm aber die Gruppe "shared" zu

    Zu welchem ​​Benutzer gehört dieser Ordner? Das heißt, wer ist der Besitzer? Ich, die andere Person oder der Root-Benutzer, dessen Konto deaktiviert ist, seit ich sudo verwende?

    Andererseits stelle ich das folgende Problem fest: Die von mir erstellten Dateien können von der anderen Person nicht gelöscht werden, und die von der anderen Person erstellten Dateien können nicht gelöscht werden.

    Was habe ich falsch gemacht?

    1.    Thalskarth sagte

      Wenn Sie den Ordner mit sudo erstellen, sollten Sie root als Eigentümer haben. Sie können dies auch mit dem Befehl chown ändern, um einen anderen Benutzer zuzuweisen.

      Überprüfen Sie andererseits, ob die von Ihnen erstellten Dateien dies mit 775 Berechtigungen tun (was umask 002 ergibt). Wenn sie nicht über diese Berechtigungen verfügen, sind möglicherweise einige Einstellungen falsch.

      Ebenso sollte klargestellt werden, dass die Umask jede neue Datei betrifft, die im Verzeichnis erstellt wird. Wenn sie jedoch Inhalte von einem anderen Ort verschieben oder kopieren, bleiben die ursprünglichen Berechtigungen erhalten und nicht die, die wir für das Verzeichnis festgelegt haben.

      1.    Luis sagte

        Hallo! Du hast recht.

        Ich habe gesucht und das Problem wird durch das letzte verursacht, was Sie sagen: Wenn Sie eine Datei von einem anderen Speicherort in den freigegebenen Ordner verschieben, bleiben die ursprünglichen Berechtigungen erhalten.

        Gibt es eine Lösung dafür?

        Ich könnte Perlen gebrauchen.

      2.    Thalskarth sagte

        In diesem Fall wäre es am besten, eine Crontab wie KZKG ^ Gaara zu platzieren, in der Sie einen Befehl eingeben können, um die Gruppe und die Berechtigungen jedes Mal dem Ordnerinhalt zuzuweisen.
        Das heißt so etwas in der Crontab:
        sudo chgrp -R compartidos /home/compartido/*
        chmod -R 775 /home/compartido/*

        Wechseln Sie zur Berechtigungsgruppe 775, um alles Neue zu erhalten.

      3.    Thalskarth sagte

        Ignoriere das * am Ende jeder Zeile, ich habe an etwas anderes gedacht, als ich es gesetzt habe 😛

      4.    Luis sagte

        Danke Freund.

  5.   ernesto sagte

    Sehr guter Beitrag, aber ich bevorzuge eine separate Partition, in die ich alles einfügen kann, was ich teilen möchte. Ich habe eine großzügige 500-GB-Festplatte, auf der ich 100 GB unter Linux verwende, und eine 400-GB-Partition (ntfs), auf der alle Musik, Fotos usw. gespeichert sind. Auf meinem PC sind zwei Benutzer, und jeder kann auf die Partition ntfs zugreifen und setzen und entfernen, was wir wollen, wann wir wollen. Wenn ich nichts teilen möchte, habe ich einige Dinge in meinem Benutzernamen. 🙂

    1.    Luis sagte

      Es ist bereits eine andere Möglichkeit, dies zu tun, aber das Problem besteht nicht darin, die Dateien abzulegen, sondern die Berechtigungen zu konfigurieren und den Zugriff der verschiedenen Benutzer zu steuern.

      Sie können es auf einer NTFS-Partition haben, richtig, aber Sie haben auch eine Fragmentierung, langsamer als EXT4 und weniger Sicherheit, obwohl es gleichermaßen gültig ist, wenn es gut für Sie ist, es so zu haben.

  6.   rainerhg sagte

    Okay! Guter Tipp, aber ich würde trotzdem eine Aufgabe hinzufügen, um die Berechtigungen bei jedem Login auf 775 der neuen Dateien zu ändern, und das Problem von Dateien lösen, die aus einem anderen Ordner verschoben wurden.
    Vielen Dank auch für das Teilen!

  7.   Joaquin sagte

    Interessant, danke!

  8.   anonym sagte

    Ich spreche etwas relativ zur primären Freigabegruppe einiger Gnu / Linux-Distributionen an. Einige Distributionen erstellen den Benutzer mit den Benutzern der Primärgruppe und verwenden keine Primärgruppe, die dem Namen des Benutzers entspricht.
    Der Unterschied besteht darin, dass bei Verwendung der primären Gruppenbenutzer standardmäßig alles mit den Gruppenbenutzern geteilt wird, zu denen alle in dieser Distribution erstellten Benutzer gehören, wenn sie stattdessen mit derselben Gruppe wie der Benutzername erstellt werden, standardmäßig nichts wird geteilt.

    Beispiel:
    $ ls -l /home/user/*.txt
    -rw-r - r– 1 Carlos Carlos 126 25. März 2012 notes.txt

    $ ls -l /home/user/*.txt
    -rw-r - r– 1 Carlos-Benutzer 126 25. März 2012 notes.txt

    Ich empfehle nicht, die Benutzer der primären Gruppe zu verwenden. Es ist besser, beim Erstellen des Benutzers eine eigene primäre Gruppe zu erstellen.

    #groupadd carlos
    # useradd -g carlos -G lp, rad, uucp, audio, cdrom, cdrw, usb, lpadmin, plugdev -m -s / bin / bash carlos

    Das -g Carlos gibt an, dass die Elterngruppe Carlos verwendet wird.
    Sie können die primäre Gruppe eines Benutzers mit # usermod -g ändern, dies ändert jedoch nicht die primäre Gruppe aller Dateien und Ordner, die sich bereits in / home / carlos befinden. Sie müssen sie alle ändern.

    Beispiel: Ändern Sie Benutzer der primären Gruppe von Benutzer Carlos in primäre Gruppe Carlos und ändern Sie dann
    Alle Datei- und Ordnerberechtigungen des Benutzers Carlos, damit sie von Carlos Carlos bleiben.

    #groupadd carlos
    # usermod -g carlos benutzer
    # cd / home
    # chown -R Carlos: Carlos Carlos

    In Bezug auf die Freigabe können Sie einen Benutzer mit dem Namen "Freigegeben" für Ihre freigegebene Primärgruppe erstellen. Damit beim Kopieren keine Berechtigungsprobleme auftreten, ändern Sie zuerst den Benutzer
    Mit "$ su - shared" wird das, was Sie möchten, nach / home / shared kopiert. Damit werden die Berechtigungen für das, was kopiert wird, zum freigegebenen Benutzer.
    Wenn bereits Kopierdateien vorhanden sind, die anderen Benutzern und primären Gruppen gehören, müssen Sie alle ändern.

    # cd / home
    # chown -R geteilt: geteilt geteilt

    Es ist nur noch etwas in der Schwebe, was ich nicht tun kann, um als freigegebener Benutzer grafisch zu kopieren, dh ohne $ su - shared ausführen zu müssen

  9.   anonym sagte

    Es war eine sehr dumme Sache, grafisch zu kopieren, hehe, ich verwende pcmanfm hier in openbox, aber Sie können den Dateimanager verwenden, den Sie haben oder wollen, er wird nur als freigegebener Benutzer und nicht als Root-Benutzer ausgeführt.

    $ su - geteilt
    $pcmanfm
    $ Delphin
    $mc
    etc etc

    1.    Thalskarth sagte

      Ich wollte das gerade beantworten. Wenn nicht, ist die andere eine Crontab, die den Eigentümer der Dateien jedes x Mal mit a ändert
      chown -R compartido:compartido compartido

  10.   Hugo sagte

    Es scheint mir, dass der Befehl "usermod -G thenewgroup theuser" die Benutzergruppe grundsätzlich in "thenewgroup" ändert. Um einen vorhandenen Benutzer zu einer neuen Gruppe hinzuzufügen, wäre "usermod -aG elnuevogrupo elusuario" das Richtige.

    Eine andere Sache ist, dass ich hier sehe, dass mehrere Leute empfehlen, einen "chmod -R 775" zu machen, aber das betrifft nicht nur Verzeichnisse, sondern auch alle Dateien (wodurch sie ausführbar werden), was ein unnötiges Risiko mit sich bringt. Besser etwas tun wie «find / home / shared -type d -print0 | xargs -0 chmod 755 "und falls erforderlich mit den Dateien können Sie etwas Ähnliches tun, aber" -type f "verwenden und die Berechtigung 664 erteilen.

    Eine Möglichkeit, mehreren Konten den Zugriff auf eine Datei oder einen Ordner zu ermöglichen, unabhängig davon, wer der Eigentümer oder die Gruppe ist, ist die Verwendung des Befehls "setfacl" im acl-Paket (wenn ich mich richtig erinnere). Die Verwendung wird auf der Handbuchseite ausführlich erläutert.

  11.   unai martin sagte

    Ich habe folgendes Problem. Ich habe 4 Benutzer (web1, web2, web3, web4) erstellt und möchte einen Zugriffsgruppenordner für die Benutzer der Webgruppe erstellen. Wenn ich die .htaccess-Datei erstelle, weiß ich, dass ich einen gültigen Benutzer eingeben muss, aber wenn ich einen gültigen Benutzer benötige, web1 web2 web3 web4, damit sie mit ihrem Kennwort auf den Ordner zugreifen können, wenn ich versuche, auf den Ordner zuzugreifen Es fragt mich nach dem Benutzer und dem Passwort jedes einzelnen. Wie werde ich nur nach dem Benutzernamen und dem Passwort desjenigen gefragt, der eingeben möchte? weil angenommen wird, dass einer das Passwort des anderen nicht kennt.

  12.   Gustavo F. Paredes sagte

    Hey.

    Das 4. Terminal sollte den "geteilten" Plural haben:

    sudo usermod -G geteilt sebastian

    sudo usermod -G teilte meine Frau

    Grüße.

    Gustavo

  13.   Ivan sagte

    Prost :

    Wir migrieren von Windows Server zu CentOs 6 und sind noch im Anpassungsprozess. Meine Frage: Gibt es in CentOs eine grafische Oberfläche, über die Sie Ordner freigeben und Benutzern Zugriff zum Ändern, Bearbeiten und / oder Löschen von Dateien gewähren können?

    Danke für die Hilfe.

    1.    Rafael sagte

      Ich installiere auch einen Centos 6 und möchte ihn mit Samba verwenden, mit dem ich Dateien von Linux und Windows teilen kann. Ich weiß ein wenig, ich benutze nicht viel Linux, aber bei der Arbeit wurde ich gefragt, wie ich das machen kann Ordner zu teilen, aber im Grafikmodus ??.

  14.   Ricardo sagte

    Hallo. Bitte helfen Sie mir! ... Es stellt sich heraus, dass ich dadurch die Berechtigungen verloren habe, indem ich dies in meinem Benutzer unter Linux getan habe. Ich kann so etwas wie Sudo nicht laufen lassen. Ich erhalte die folgende Meldung "Entschuldigung, der Benutzer" Benutzername "ist nicht berechtigt," command_to_run "als root in" Benutzername "auszuführen."

    Ich denke, als ich meinen Benutzer in die freigegebene Gruppe geändert habe, habe ich Berechtigungen weggenommen, und wie kann ich sie jetzt wiederherstellen?

  15.   Rechnung sagte

    Hey Freund, gibt es eine Möglichkeit, dasselbe zu tun, aber Dateien mit anderen Leuten im Internet-LAN ​​zu teilen

  16.   Fabian sagte

    Dazu müssen Sie SAMBA als Dateiserver verwenden. Prost

  17.   Christian sagte

    Hallo. Als ich zum Befehl sudo chmod g + s dirname kam, wurde mir mitgeteilt, dass die Datei oder das Verzeichnis nicht vorhanden ist. Wissen Sie, wo das Problem liegt?

  18.   Javier Quiroga Almeida sagte

    Wie erstelle ich eine Gruppe in einer anderen Gruppe?

  19.   Rodrigo Hernán Ramos sagte

    Die Linie:
    sudo usermod -G geteilt sebastian

    sollte sein:
    sudo usermod -a -G geteilt sebastian

    Der erste Weg entfernt den Rest der Benutzergruppen.
    und wenn Sie verschwitzt sind, verlieren Sie Ihre Privilegien