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.
Also, in die Konsole setzen wir:
sebastian@multivacs ~> vim .profile
Und wir werden so etwas sehen:
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:
Und das war's! Wenn sie ihre Benutzersitzung schließen und erneut öffnen, werden die Änderungen übernommen, sodass das freigegebene Verzeichnis funktioniert.
Toller Tipp.
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
Ja, der Crontab ist auch gut. Was haben Sie gesagt, um dem Inhalt 775 Berechtigungen zuzuweisen?
Toller Tipp .. .. bei Bedarf gespeichert;) ..
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?
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.
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.
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.
Ignoriere das * am Ende jeder Zeile, ich habe an etwas anderes gedacht, als ich es gesetzt habe 😛
Danke Freund.
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. 🙂
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.
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!
Interessant, danke!
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
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
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
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.
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.
Hey.
Das 4. Terminal sollte den "geteilten" Plural haben:
sudo usermod -G geteilt sebastian
sudo usermod -G teilte meine Frau
Grüße.
Gustavo
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.
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 ??.
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?
Hey Freund, gibt es eine Möglichkeit, dasselbe zu tun, aber Dateien mit anderen Leuten im Internet-LAN zu teilen
Dazu müssen Sie SAMBA als Dateiserver verwenden. Prost
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?
Wie erstelle ich eine Gruppe in einer anderen Gruppe?
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