Was ist der Hauptunterschied zwischen chmod und chown?

Was ist der Hauptunterschied zwischen chmod und chown?

In einigen Beispielen habe ich gesehen, dass manche chownanstelle von verwendet haben chmod. Ich weiß nicht, wo ich chmodund verwenden chownsoll. Erklären Sie mir bitte den Unterschied zwischen ihnen und wann und warum ich welches von beiden verwenden sollte.

Antwort1

Vereinfacht ausgedrückt chownwird es verwendet, um den Besitz einer Datei zu ändern, während chmodes zum Ändern der Dateimodusbits dient.

  • chowndefiniert, wem die Datei gehört.
  • chmoddefiniert, 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 chmodderen 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 ravexinader Eigentümer der Datei und adminsdie Gruppe ist. Ich kann Folgendes verwenden, sudo chown dave:sudo fileum den Eigentümer der Datei in daveund die Gruppe in zu ändern sudo. Jetzt gehört die Datei „dave“ und allen in der Gruppe „sudo“.

Damit chmoddefinieren 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: Bildbeschreibung hier eingeben

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 chownBefehl 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 chownvon 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.

chownbefasst sich mit derWHO. chmodbefasst 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:

  1. der Besitzer der Datei
  2. Benutzer, die Mitglieder der Gruppe sind, der die Datei gehört
  3. alle anderen

chownwird verwendet, um die ersten beiden zu ändern. chmodwird 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, -Rwenn Sie die Berechtigungen rekursiv ändern möchten.

verwandte Informationen