Berechtigungen 755 auf / home / <user> /

14

Ich frage mich, warum in meinem Verzeichnis standardmäßig /home/<user>/die Berechtigung festgelegt ist 755. Dies ermöglicht anderen Benutzern, Verzeichnisse zu betreten und Dateien in meinem Zuhause zu lesen. Gibt es einen berechtigten Grund dafür?

Kann ich die Berechtigungen 700für mein Zuhause und alle Unterverzeichnisse festlegen , zum Beispiel:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

ohne etwas zu zerbrechen?

Ist es auch möglich, die Berechtigungen für mein Zuhause festzulegen, damit alle neu erstellten Dateien 600und Verzeichnisse haben 700?

Martin Vegter
quelle
1
In RHEL / CentOS 5 ist der Standardwert 700, in Ubuntu 755
Rahul Patil jedoch der
2
Es ist in bestimmten Setups üblich public_html, dem Webserver Zugriff auf das Verzeichnis zu gewähren. Obwohl es für Benutzer sehr praktisch ist, bin ich kein großer Fan davon.
Marco

Antworten:

18

Wenn Ihr Home-Verzeichnis privat ist, kann niemand auf Ihre Dateien zugreifen. Um auf eine Datei zugreifen zu können, muss ein Prozess über die Ausführungsberechtigung für alle Verzeichnisse auf dem Pfad in der Baumstruktur vom Stammverzeichnis aus verfügen. Zum Beispiel, um andere Benutzer zu erlauben , zu lesen /home/martin/public/readme, die Verzeichnisse /, /home, /home/martinund /home/martin/publicalle brauchen die Berechtigungen haben d??x??x??x(es kann sein drwxr-xr-x, oder drwx--x--xoder eine andere Kombination) und zusätzlich die Datei readmemuss öffentlich lesbar sein ( -r??r??r??).

Es ist üblich, Basisverzeichnisse mit Modus drwxr-xr-x(755) oder mindestens drwx--x--x(711) zu haben. Der Modus 711 (nur Ausführungsberechtigung) für ein Verzeichnis ermöglicht es anderen, auf eine Datei in diesem Verzeichnis zuzugreifen, wenn sie den Namen kennen, aber den Inhalt des Verzeichnisses nicht aufzulisten. Erstellen Sie unter diesem Basisverzeichnis nach Bedarf öffentliche und private Unterverzeichnisse.

Wenn Sie niemals möchten, dass andere Personen eine Ihrer Dateien lesen, können Sie Ihr Home-Verzeichnis erstellen drwx------(700). In diesem Fall müssen Sie Ihre Dateien nicht einzeln schützen. Dies beeinträchtigt nur die Fähigkeit anderer Personen, Ihre Datei zu lesen.

Wenn Sie ein Verzeichnis wie ~/public_htmloder haben, ~/wwwdas Ihre Webseite enthält , kann dies zu Problemen führen, da andere Benutzer Ihre Dateien lesen . Abhängig von der Konfiguration des Webservers muss dieses Verzeichnis möglicherweise weltweit lesbar sein.

Sie können die Standardberechtigungen für die von Ihnen erstellten Dateien ändern, indem Sie den umask- Wert in Ihrem festlegen.profile . Die umask ist die Ergänzung der maximalen Berechtigungen einer Datei. Übliche Werte sind 022 (nur für den Eigentümer beschreibbar, für alle lesbar und ausführbar), 077 (nur für den Eigentümer zugänglich) und 002 (wie 022, aber auch für Gruppen beschreibbar). Hierbei handelt es sich um maximale Berechtigungen: Anwendungen können restriktivere Berechtigungen festlegen. Beispielsweise sind die meisten Dateien nicht ausführbar, da die Anwendung, von der sie erstellt wurden, die Ausführungsberechtigungsbits beim Erstellen der Datei nicht festgelegt hat.

Gilles 'SO - hör auf böse zu sein'
quelle
Ich betreibe keinen Webserver auf meinem Computer, daher muss ich keinen Zugriff auf zulassen ~/public_html. Gibt es andere gängige Programme als Apache, die möglicherweise Zugriff auf mein Zuhause benötigen? Was postfixist zum Beispiel.
Martin Vegter
1
@MartinVegter Guter Punkt. E - Mail - Programme immer als Benutzer ausgeführt werden, wenn sie liefern Mail, aber einige Systeme erfordern .forwardlesbar durch ein Mail - System als Systembenutzer ausgeführt werden. Postfix ist jedoch in Ordnung mit einem privaten .forward.
Gilles 'SO- hör auf böse zu sein'
3

Wenn Sie in RHEL / CentOS 5.x einchecken, ist die Standardberechtigung 700, in Ubuntu 755.

Laut einem Mitarbeiter von Ubuntuforms.org soll es einfacher sein, Dateien für neue Benutzer freizugeben . Sie können die Berechtigung auf 700 oder 750 ändern, wenn Sie nicht möchten, dass die Dateien von anderen gelesen und ausgeführt werden können.

Ist es auch möglich, die Berechtigungen für mein Zuhause festzulegen, sodass alle neu erstellten Dateien 600 und Verzeichnisse 700 haben?

Sie können einstellen , umask 0077für die

Es wird funktionieren wie:

Die Standardberechtigung für Verzeichnis ist 0777, wenn Sie also umask festlegen, 0077wird ein neues Verzeichnis mit der Berechtigung erstellt, (0777-0077) dh 0700wie Sie möchten.

Rahul Patil
quelle
gilt das auch umaskfür dateien? Es scheint nur zu wirken, wenn ich neue Verzeichnisse erstelle.
Martin Vegter
2
Ja ... du kannst deine aktuelle Shell einchecken, einfach einstellen umask 0077und Datei erstellen, dir und Berechtigung prüfenstat filename
Rahul Patil
3

Ja, es gibt einen sehr berechtigten Grund. Beachten Sie, dass andere Benutzer Ihre Dateien lesen, aber nicht schreiben können. Dies ist in professionellen Netzwerken sehr nützlich, da Sie Ihre Dateien problemlos mit Ihren Kollegen teilen können.

In dem Labor, in dem ich früher gearbeitet habe, hatten wir alle Zugriff auf die $HOMEVerzeichnisse der anderen, sodass wir unsere Daten oder Skripte problemlos miteinander teilen konnten. Wenn meine Freundin Alice ein nettes Skript für X hätte, würde ich es einfach ausführen:

~alice/bin/scriptX.pl mydata

Wie bereits erwähnt, müssen Sie umask einstellen, um dies zu ändern. Um beispielsweise neue Dateien und Ordner nur für Sie lesbar zu machen, fügen Sie Folgendes hinzu ~/.bashrc:

umask 0077
terdon
quelle
3
Das bisschen über die Verwendung von Alice Perl-Skript ist erschreckend. Kopieren Sie das Skript in Ihr Ausgangsverzeichnis, prüfen Sie es und verwenden Sie dann nur Ihre Kopie.
AlexWebr
6
@AlexWebr erstens würde ich es zuerst lesen, zweitens Alice ist in diesem Fall die Person, die neben mir sitzt und gerade ein cooles Drehbuch geschrieben hat. Wir können davon ausgehen, dass ich ihnen genauso vertraue wie jedem Entwickler, dessen Arbeit ich blind auf meinem Computer installieren und ausführen würde. Mehr als die meisten anderen. Dies war auch ein Labor, daher haben wir oft ein paar GB Genome heruntergeladen und es war eine einfache Möglichkeit, sich gegenseitig Zugang zu diesen zu verschaffen.
Terdon
1

Sie müssen die umask ändern, um zu ändern, wie neue Dateien in Ihrem Home-Ordner erstellt werden. Dies wird in der Regel durch Bearbeiten der Shell - Startskript getan, gibt es eine ziemlich gute Übersicht hier

Was das Ändern aller Berechtigungen in Ihrem Basisordner auf 700 angeht, frage ich mich, wie sich dies auf Dienste auswirken würde, die unter Dienstkonten ausgeführt werden, die Konfigurationsinformationen aus Ihrem Basisordner benötigen .

Niall Byrne
quelle