Weitere Fragen zu Linux-Berechtigungen

Weitere Fragen zu Linux-Berechtigungen

Ich habe unzählige Artikel zu diesem Thema gelesen und jede Frage und Antwort durchsucht, die ich finden konnte, ohne Erfolg. Ich werde langsam verrückt, also wende ich mich an euch, da ich weiß, dass die Antwort auf meine Frage höchstwahrscheinlich einfach ist.

Auf meinem Webserver habe ich zwei Benutzer und zwei Gruppen. Die Benutzer müssen im selben Bereich lesen und schreiben können. Kein einzelner Ordner, sondern ein komplexes Ordnernetzwerk.

>> groups user_1
      popuser psaserv psacln
>> groups user_2
      psacln popuser psaserv

Dies sind keine echten Benutzer und haben daher keine .bashrc-Dateien. Wenn jeder der Benutzer ein Verzeichnis erstellt, sehen die Berechtigungen genau so aus, wie ich es erwarte:

drwxr-xr-x 2 user_1 popuser 4096 Apr 30 20:47 folder_1
drwxr-xr-x 2 user_2 psacln  4096 Apr 30 20:49 folder_2

Aber sobald einer der beiden Benutzer den Ordner erstellt, kann der andere keine Dateien mehr hineinschreiben.

Wenn ich chmod 777 ausführe, können natürlich beide schreiben.

Katze /etc/Gruppe

popuser:x:31:user_1,psaserv,user_2
psacln:x:505:user_2,user_1,psaserv

Ungewöhnlich ist auch, dass die Berechtigungen beim Schreiben einer Datei in die Gruppe sehr restriktiv erscheinen:

-rw-r--r-- 1 user_2 psacln 0 Apr 30 21:15 some_file.ext

Obwohl das vielleicht zu erwarten ist.

Um meine aus zwei Teilen bestehende Frage zusammenzufassen und zu klären:

1) How can I make both users access files and folders from each other, given their group differences?
2) How can I set the default permissions on new files so they inherit the folder permissions?

(2) Ich habe versucht, umask 022 in meine ~/.bashrc-Datei für meinen Root-Benutzer einzufügen, aber das hat nichts bewirkt. Ich bin mir nicht sicher, wo ich das für diese „Benutzer“ einfügen soll, die keine Home-Verzeichnisse haben.

Entschuldigen Sie, ich weiß, dass sich solche Fragen für Sie als Linux-Experten überflüssig anfühlen können. Die Suche ist schwierig, wenn ich nicht einmal weiß, wonach ich suche.

Vielen Dank, wie immer.

[Ich verwende CentOS]

Antwort1

1) Wie kann ich beiden Benutzern trotz ihrer Gruppenunterschiede ermöglichen, auf die Dateien und Ordner des jeweils anderen zuzugreifen?

Eine Möglichkeit besteht darin, den Verzeichnissen eine Gruppe zuzuweisen, die den Benutzern gemeinsam ist.

  chgrp psaserv folder1 folder2
  chmod g+w  folder1 folder2

2) Wie kann ich die Standardberechtigungen für neue Dateien festlegen, sodass sie die Ordnerberechtigungen erben?

Verwenden Sie das Bit „Gruppen-ID festlegen“.

  chmod g+s folder1 folder2

Sie können keine RWX-Berechtigungen erben, legen Sie die Umask fest.


Ich habe versucht, umask 022 für meinen Root-Benutzer in meine ~/.bashrc-Datei einzufügen, aber es hat nichts bewirkt. Ich bin mir nicht sicher, wo ich das für diese „Benutzer“ einfügen soll, die keine Home-Verzeichnisse haben.

Sie haben dafür gesorgt, dass ein Prozess diese Benutzer-IDs verwendet. Sie sollten dafür sorgen, dass dieser Prozess seine Umask auf 022 setzt. Wie Sie das tun, hängt davon ab, welchen Prozess Sie dafür eingerichtet haben. Vielleicht verwenden Sie sudo, vielleicht ist es ein Webserver, vielleicht ist es etwas anderes. Ohne Erklärung ist es nicht wirklich möglich, detaillierte, spezifische Ratschläge zu geben.

Antwort2

Wenn Sie möchten, dass neue Dateien, die von Ihren Benutzern erstellt werden, standardmäßig von Gruppenmitgliedern beschreibbar sind, müssen Sie die Umask auf einen anderen Wert als 022 ändern. Wenn Sie mit den Sicherheitsauswirkungen einverstanden sind, setzen Sie die Umask auf 002 (Beispiele, wo Sie die Umask setzen können, finden Sie unterhttps://stackoverflow.com/questions/10220531/wie-man-system-wide-umask einstellt).

Umask erklärt

Die Standarddateiberechtigungen für neu erstellte Dateien und Verzeichnisse sind eine Standardberechtigung ( rw-rw-rwfür Dateien, rwxrwxrwxfür Verzeichnisse) abzüglich der aktuellen Umask-Einstellung. Eine Umask-Einstellung von 000 würde die Standardberechtigungen beibehalten, während eine Einstellung von 777 alle Berechtigungen entfernen würde.

Die drei Zahlen in der Umask stellen jeweils die Berechtigungen von Benutzern, Gruppen und beliebigen Personen dar. Die Zahl stellt drei Binärziffern dar, die angeben, ob eine bestimmte Berechtigung entfernt werden soll oder nicht.

d - rwx
-------
0 - 000 (rwx)
1 - 001 (rw-)
2 - 010 (r-x)
3 - 011 (r--)
4 - 100 (-wx)
5 - 101 (-w-)
6 - 110 (--x)
7 - 111 (---)

Um zu berechnen, welche Berechtigungen einer neuen Datei eine bestimmte Umask zugewiesen wird, beginnen Sie mit der Standardberechtigung und subtrahieren Sie die Umask.

orig    rwx rwx rwx (777, default directory permission)
umask   000 010 010 (022)
result  rwx r-x r-x (755)

orig   rw- rw- rw- (666, default file permission)
umask  000 010 010 (022)
result rw- r-- r-- (644)

orig   rwx rwx rwx (777, default directory permission)
umask  000 000 010 (002)
result rwx rwx r-x (775)

orig   rw- rw- rw- (666, default file permission)
umask  000 000 010 (002)
result rw- rw- r-- (664)

verwandte Informationen