Eines der Prinzipien von Linux ist: Alles ist eine Datei. Das bedeutet, dass Prozesse und Verzeichnisse als Dateien behandelt werden müssen und alle Dateien drei Berechtigungen haben: für den Benutzer, für die Gruppe und für den Rest der Benutzer.
Die Berechtigungen sind: 1 auszuführen, 4 zu lesen, 2 zu schreiben. Wenn Sie also eine Datei mit der Berechtigung "644" sehen, bedeutet dies, dass der Benutzer darin lesen und schreiben kann, während die Gruppe und der Rest der Benutzer sie nur lesen können. Wenn Sie eine Datei mit den Berechtigungen "777" (die MS Windows-Methode) sehen, bedeutet dies, dass alle Personen mit dieser Datei machen können, was sie wollen, im Gegensatz dazu ist eine Datei mit der Berechtigung "000" auch für den Eigentümer "gesperrt" Datei. Der Befehl Erlaubnis zu ändern ist „chmod“, zum Beispiel, um eine neue Datei zu erstellen:
$ touch test.txt
$ ls -l test.txt
Sie so etwas wie sehen:
-rw-r--r-- 1 manuel manuel 0 Mär 20 12:41 test.txt
das heißt: „der Besitzer Benutzer manuel lesen und schreiben kann Mit dieser Datei können die Benutzer der Gruppe manuel diese Datei nur lesen und der Rest der Benutzer kann sie nur lesen. "
Woher stammen diese Berechtigungen? Nun, sie sind für die "umask" definiert, standardmäßig umask ist 644 für die neuen Dateien, die Sie erstellen oder kopieren und 755 für Verzeichnisse, wenn Sie ein Verzeichnis mit dem Befehl "mkdir" erstellen, wenn Sie "ls -la" eingeben sehen Sie ein "d" am Anfang einiger Zeilen, die anzeigen, dass die "Datei" ein Verzeichnis ist und Ausführungsberechtigungen benötigt, auf die ein Benutzer zugreifen kann: in Linux-Verzeichnissen sind Dateien mit Ausführungsberechtigungen.
Jedes Mal, fügen Sie einen neuen Benutzer auf das System mit dem Befehl:
$sudo adduser thomas
der Befehl automatisch erstellt auch die Gruppe „thomas“ und erstellt ein Verzeichnis in dem/ihn Home-Verzeichnis. Wenn Sie Apache oder mysql oder postgresql installieren, erstellt apt-get auch einen eindeutigen Benutzer und eine Gruppe, um diese Prozesse zu bearbeiten, da dies eine Windows-ähnliche Vorgehensweise ist, bei der alle Prozesse für einen einzigen Administrator bearbeitet werden, wenn jemand diese Person hackt hätte die volle Kontrolle über das ganze System. Natürlich muss der Benutzer "root" in Linux die kleinere Anzahl von Prozessen ausführen.
Sie können die aktuellen Gruppen in Ihrem System mit:
$ cat /etc/group
Nun nehmen wir den Benutzer „thomas“ will die Datei test.txt bearbeiten, die wir gerade erstellt haben, er kann nicht, weil die Datei gehört dem Benutzer "manuel" und der Gruppe "manuel".Sie haben mehrere Möglichkeiten, können Sie den Besitzer der Datei mit dem Befehl chown ändern könnte:
$ chown thomas.thomas test.txt
jetzt die Datei durch den Benutzer „thomas“ und die Gruppe „Thomas“, aber das ist ein Problem, weil vielleicht gehört Sie möchten die Datei später bearbeiten und können dies jetzt nicht tun. Statt den Eigentümer zu ändern, vielleicht brauchen Sie nur Schreibrechte auf die Datei hinzuzufügen:
$chmod 666 test.txt
nun der Benutzer thomas in dieser Datei schreiben können, und Sie auch. Aber jetzt haben Sie das Problem, dass jeder Benutzer in die Datei schreiben kann. Die wirkliche Lösung ist Schreibrechte für den Benutzer zu geben und die Gruppe:
$sudo useradd -G manuel thomas
jetzt „Thomas“ ist Mitglied der Gruppe „manuel:
$chmod 664 test.txt
und dann den Benutzer zu der Gruppe hinzufügen "(Ein Benutzer kann Mitglied vieler Gruppen sein) und dann kann er in die Datei schreiben, andere Benutzer jedoch nicht.
Jetzt verstehen Sie, dass Ihr dir:
drwxr-xr--+ 4 root root 4096 Mar 20 12:50 ./
eine „Datei“ vom Root-Benutzer und der Stammgruppe und hduser ist nicht berechtigt, es auszuführen Besitz ist. Sie können mehrere Dinge tun, wie rekursiv das gesamte Verzeichnis zu hduser geben:
$ sudo chown -R hduser /media/avp/
oder Sie können hduser der Gruppe „root“ hinzufügen, aber das wäre gefährlich sein.
Danke für die gründliche Erklärung !! – avp