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 700
fü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 600
und Verzeichnisse haben 700
?
permissions
files
chmod
Martin Vegter
quelle
quelle
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.Antworten:
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/martin
und/home/martin/public
alle brauchen die Berechtigungen habend??x??x??x
(es kann seindrwxr-xr-x
, oderdrwx--x--x
oder eine andere Kombination) und zusätzlich die Dateireadme
muss öffentlich lesbar sein (-r??r??r??
).Es ist üblich, Basisverzeichnisse mit Modus
drwxr-xr-x
(755) oder mindestensdrwx--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_html
oder haben,~/www
das 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.quelle
~/public_html
. Gibt es andere gängige Programme als Apache, die möglicherweise Zugriff auf mein Zuhause benötigen? Waspostfix
ist zum Beispiel..forward
lesbar durch ein Mail - System als Systembenutzer ausgeführt werden. Postfix ist jedoch in Ordnung mit einem privaten.forward
.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.
Sie können einstellen ,
umask 0077
für dieEs wird funktionieren wie:
Die Standardberechtigung für Verzeichnis ist
0777
, wenn Sie also umask festlegen,0077
wird ein neues Verzeichnis mit der Berechtigung erstellt,(0777-0077)
dh0700
wie Sie möchten.quelle
umask
für dateien? Es scheint nur zu wirken, wenn ich neue Verzeichnisse erstelle.umask 0077
und Datei erstellen, dir und Berechtigung prüfenstat filename
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
$HOME
Verzeichnisse 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: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
:quelle
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 .
quelle