![Was ist der Hauptunterschied zwischen chmod und chown?](https://rvso.com/image/1000391/Was%20ist%20der%20Hauptunterschied%20zwischen%20chmod%20und%20chown%3F.png)
In einigen Beispielen habe ich gesehen, dass manche chown
anstelle von verwendet haben chmod
. Ich weiß nicht, wo ich chmod
und verwenden chown
soll. Erklären Sie mir bitte den Unterschied zwischen ihnen und wann und warum ich welches von beiden verwenden sollte.
Antwort1
Vereinfacht ausgedrückt
chown
wird es verwendet, um den Besitz einer Datei zu ändern, während chmod
es zum Ändern der Dateimodusbits dient.
chown
definiert, wem die Datei gehört.chmod
definiert, wer was tun kann.
Wenn Sie jemanden zum Eigentümer einer Datei machen, kann er mit der Datei praktisch alles machen, was er will. Er kann beispielsweise chmod
deren Mods (z. B. Berechtigungen) ändern und so festlegen, wer was tun darf.
$ ls -l file
-rwxrwxr-x 2 ravexina admins 26 May 9 12:49 file
In der obigen Zeile können wir sehen, dass dies ravexina
der Eigentümer der Datei und admins
die Gruppe ist. Ich kann Folgendes verwenden, sudo chown dave:sudo file
um den Eigentümer der Datei in dave
und die Gruppe in zu ändern sudo
. Jetzt gehört die Datei „dave“ und allen in der Gruppe „sudo“.
Damit chmod
definieren wir jedoch, wer was darf. Wer also das Recht hat, eine Datei zu lesen, in eine Datei zu schreiben oder sie auszuführen. Beispiel:
chmod 777 file
erteilt jedem, einschließlich Eigentümer, Gruppe und allen anderen, Lese-, Schreib- und Ausführungsrechte.
Austurnoff.us:
Antwort2
Erstellen wir eine Datei
touch rainbow
Werfen wir einen Blick auf die Metadaten der Datei
$ ls -l rainbow
-rw-rw-r-- 1 zanna zanna 0 May 24 10:09 rainbow
Der erste Teil der Informationen ist der Dateityp ( -
am Anfang bedeutet, dass es sich um eine normale Datei handelt) und die Berechtigungsbits
Danach sehen wir den Besitzer (zanna) und die Gruppe (zanna). Mit dem folgenden chown
Befehl können wir diese ändern:
$ sudo chown pixie rainbow
$ ls -l rainbow
-rw-rw-r-- 1 pixie zanna 0 May 24 10:09 rainbow
Und wir chmod
ändern die Berechtigungsbits
$ sudo chmod 333 rainbow
$ ls -l rainbow
--wx-wx-wx 1 pixie zanna 0 May 24 10:09 rainbow
Da die Berechtigungsbits für Besitzer, Gruppe und andere separat gesetzt werden, können Sie die Dateiberechtigungen für verschiedene Benutzer durch die Kombination chown
von und steuern chmod
. Siehediese Kurzanleitungfür einen Crashkurs zu Berechtigungen in Linux.
Antwort3
Bei der Berücksichtigung der Berechtigungen einer Datei (oder eines Verzeichnisses usw.) gibt es zwei Faktoren:
- WHObesitzt die Datei - der Benutzer und die Gruppe, und
- Waswas sie damit tun können – lesen, schreiben, ausführen oder eine Kombination davon.
chown
befasst sich mit derWHO. chmod
befasst sich mit derWas. Sie können nicht das eine anstelle des anderen verwenden.
Einfache Unix-Berechtigungen klassifizieren Benutzer, die versuchen, auf eine Datei zuzugreifen, in drei Typen:
- der Besitzer der Datei
- Benutzer, die Mitglieder der Gruppe sind, der die Datei gehört
- alle anderen
chown
wird verwendet, um die ersten beiden zu ändern. chmod
wird verwendet, um die diesen Typen gewährten Rechte zu ändern.
Antwort4
Sehr gute Antworten schon, aber ich möchte einen Beitrag leisten, wo die Berechtigungen sehr einfach zu verstehen sind
chmod u=r+w,o=r-w,g=-r-w test.php
u = user
o = other
g = group
Auf diese Weise können Sie einer Datei ganz einfach Berechtigungen zuweisen. Im obigen Beispiel
user = read + write
other = read but not write
group = not read not write
Und vergessen Sie dies nicht, -R
wenn Sie die Berechtigungen rekursiv ändern möchten.