Ubuntu: Standardzugriffsmodus (Berechtigungen) für Benutzerverzeichnis (/ home / user)


12

Was ist ein Standardzugriffsmodus (z. B. 0755) für Benutzerverzeichnisse in Ubuntu (z. B. was wird ausgegeben ls -ld /home/*)? In anderen großen Linux-Distributionen (Debian, RedHat, Gentoo, Arch)?

Wie kann ich diese Standardeinstellung ändern?

PS: Tut mir leid, aber ich kann jetzt kein Ubuntu finden und dies selbst testen.


Ich frage nicht nach umask, sondern nach skelandhome-dirs
osgx 29.06.11

Bitte fügen Sie keine neuen Informationen in die Kommentare ein, sondern fügen Sie sie in die ursprüngliche Frage ein
bbaja42 29.06.11

es ist keine neue info, es sind kommentare zum falschen verständnis meiner
frage

Antworten:


13

Beim Erstellen eines Benutzers mit useradd --create-home usernamewird (normalerweise /etc/skel) das Gerüstverzeichnis einschließlich seiner Berechtigungen kopiert.

Das Home-Verzeichnis ( /home/username) unterliegt der UMASKEinstellung in /etc/login.defs. Dies ist 022standardmäßig so eingestellt , dass die Berechtigungen für /home/username755 werden.

Relevanter Auszug aus der Ubuntu-Handbuchseite vonuseradd :

Die folgenden Konfigurationsvariablen in /etc/login.defs ändern das Verhalten dieses Tools:
[..]
UMASK (number)

Die Erstellungsmaske für den Dateimodus wird auf diesen Wert initialisiert. Wenn nicht angegeben, wird die Maske auf 022 initialisiert.

useradd und newusers verwenden diese Maske, um den Modus des von ihnen erstellten Basisverzeichnisses festzulegen


Was ist mit RedHat / Debian?
osgx

AFAIK Es ist eine Standard-Sache useradd, wenn es Ubuntu-spezifisch wäre, hätte es in der Handbuchseite erwähnt werden sollen. Eine redhat-Handbuchseite: linux.die.net/man/8/useradd
Lekensteyn

10

Die Standardberechtigung des Benutzers zu Hause kann an folgenden Stellen festgelegt werden.

  • Die Skelettverzeichnisoption ( -k, --skel SKEL_DIR) von useradd.
  • SKELWert in /etc/adduser.confdiesem Standard-Gerüstverzeichnis definieren.
  • DIR_MODEWert in /etc/adduser.confdas Standardberechtigungen definieren.

Das Basisverzeichnis neuer Benutzer wird mithilfe /etc/skeleiner Vorlage erstellt (Standardverhalten).
Standardberechtigung von /etc/skelist 0755 (drwxr-xr-x).
Durch die Verwendung eines benutzerdefinierten Gerüstverzeichnisses mit den richtigen Berechtigungen können neue Basisverzeichnisse die gewünschten Berechtigungen erhalten.

Die Standardeinstellungen für addusersind in definiert /etc/adduser.conf.
Der Standardwert von DIR_MODEin /etc/adduser.confist 0755.
Durch Ändern DIR_MODEder korrekten Berechtigungen ( DIR_MODE=0750oder ähnlicher) erhalten neue Basisverzeichnisse die gewünschten Berechtigungen.
Laut Ubuntu-Dokumentation scheint dies die beste Option zu sein.

Bereits vorhandene Benutzer-Ausgangsverzeichnisse müssen manuell geändert werden.

sudo chmod 0750 /home/username

Es ist daher eine gute Idee, die Einstellungen /etc/adduser.confdirekt nach der Installation zu ändern , um zu vermeiden, dass neue Benutzer Typberechtigungen erhalten 0755 (drwxr-xr-x).
Der allererste Benutzer, der während der Installation erstellt wurde, hat 0755sein Ausgangsverzeichnis festgelegt, das manuell geändert werden sollte.

UMASKIn /etc/login.defsist eine allgemeine Einstellung für Dateien / Verzeichnisse / usw., die von Benutzern erstellt wurden (nicht nur in ihren Home-Verzeichnissen). und könnte je nach USERGROUPS_ENABin geändert werden /etc/login.defs.

Die offizielle Erklärung: Benutzerverwaltung - Sicherheit
von Benutzerprofilen Überprüfen Sie auch andere Abschnitte der Benutzerverwaltung.

Related: https://askubuntu.com/questions/46501/why-can-other-users-see-the-files-in-my-home-folder


3
Nur-Link-Antworten sind aufgrund möglicher zukünftiger Links ein Nein-Nein. Bitte geben Sie in Ihren Antworten relevante Informationen an.
ƬᴇcƬᴇιᴇ007

@ techie007 Ich weiß. Ich hätte einen Kommentar verwendet, wenn ich genug Wiederholungen gehabt hätte.
Sithsu

1
@ Techie007 Weitere Inhalte zur Antwort
hinzugefügt

Einstellung DIR_MODEin /etc/adduser.confist definitiv der richtige Weg zu gehen.
user1338062

1

Die Standardberechtigungen für / home in Ubuntu sind rwxr-xr-x oder 755. Für / home / user ist es auch rwxr-xr-x oder 755. Zumindest ist es auf meiner Installation.

Um die Dateiberechtigungen des Basisverzeichnisses zu ändern, öffnen Sie ein Terminal und führen Sie Folgendes aus:

chmod 700 /home/user

Denken Sie daran, den 700 auf den Wert für chmod zu ändern, den Sie tatsächlich einstellen möchten.

Wenn Sie nicht Eigentümer des Verzeichnisses sind, benötigen Sie Root-Berechtigungen, um die Berechtigungen zu ändern. Ubuntu benutzt sudodafür:

sudo chmod 700 /home/user

Wenn Sie diesen Befehl ausführen, werden Sie nach dem Administratorkennwort gefragt.


2
Ihr zweiter Teil ist falsch, das Home-Verzeichnis gehört Ihnen selbst, sodass Sie dafür kein Superuser-Recht benötigen.
Lekensteyn

Sie gehen davon aus, dass er nur die Rechte an seiner eigenen Wohnung ändern möchte. Ich habe gesagt "Wenn Sie das Verzeichnis nicht besitzen." Mein Code funktioniert im Home-Verzeichnis jedes Benutzers.
Rincewind42

Ich bearbeitet Ihren Beitrag, um es korrekt ist (hoffentlich Sie es mögen), Ihre ursprünglichen Beitrag nicht enthalten , dass überhaupt: superuser.com/revisions/303995/1
Lekensteyn

0

Überprüfen Sie die umask- Manpage.

Die Standardeinstellung für umask ist

0022

Ermöglicht groupund othersliest und führt den Zugriff aus.


Nein, meine Frage bezieht sich nicht auf eine umask, sondern auf die Standardberechtigungen des Ordners des Benutzers selbst (kurz nachdem der Benutzer aerstellt wurde, dessen Ausgabe erfolgt ls -ld /home/a)
osgx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.