Welcher dieser Befehle ändert den Eigentümer der Datei. Chown ist ein Befehl zum Ändern des Besitzers von Dateien und Ordnern unter Linux. Syntax und Optionen

Manchmal müssen beim Hosting aus dem einen oder anderen Grund die Rechte an Ordnern und Dateien geändert werden. Zum Beispiel, wenn sich Apache beim Entpacken des Archivs direkt auf dem Server als ihr Besitzer herausstellte. Nachfolgend haben wir eine Liste von Befehlen zum Ändern der Rechte und des Eigentümers von Ordnern und Dateien bereitgestellt.

1. So ändern Sie die Rechte für solche Dateien und Ordner

Chmod mit SSH-Zugriff. Zum Beispiel mit dem folgenden UNIX-Shell-Befehl:

chmod -R 755 / var / www / isbircom / data / temp

setzt rekursiv 755 Berechtigungen für alle Unterverzeichnisse und Dateien im Verzeichnis /var/www/sitenamecom/data/temp

Wenn Sie die Berechtigungen nur für Dateien ändern müssen, aber Ordner nicht berühren oder umgekehrt, können Sie dies mit den folgenden Unix-Befehlen umsetzen:

find / www / -type f -exec chmod 644 () \; - ändert nur Dateien

find / www / -type d -exec chmod 755 () \; - ändert nur Ordner

2. So ändern Sie den Besitzer von Dateien und Ordnern

Der chown-Befehl in der UNIX-Shell. Zum Beispiel mit dem Befehl:

chown -R admin: adminweb / var / www / sitenamecom / data / www /

wird rekursiv vom Besitzer der Dateien und Verzeichnisse gesetzt Benutzer Administrator und Gruppe adminweb in alle Unterverzeichnisse und Dateien des Verzeichnisses /var / www / Seitennamecom / Daten / www /

Wenn Sie nur den Besitzer von Dateien ändern müssen, aber die Ordner nicht berühren oder umgekehrt, können Sie dies mit den folgenden Unix-Befehlen implementieren:

find / www / -type f -exec chown user: group() \; - ändert nur Dateien

find / www / -type d -exec chown user: group() \; - ändert nur Ordner

3. Ist es möglich, die Priorität der Rechte für den Benutzer und den Apache zu ändern?

Nein, da der Apache-Webserver normalerweise in Plesk unter dem gleichnamigen Benutzer und der gleichnamigen Apache-Gruppe gestartet wird, kann dies nicht geändert werden. Um die Rechte an den benötigten Verzeichnissen vorübergehend zu ändern, können Sie mit demselben UNIX-Shell-Befehl einen Cron-Job erstellen.

Jede Datei oder jeder Ordner in Linux hat seine eigenen Berechtigungen.

Es gibt 3 Arten von Rechten:
lesen (r), schreiben (w), ausführen (x)

Rechte sind für 3 Benutzertypen definiert:
Eigentümer (u), Gruppe (g), alle anderen (o)

Die Rechte jeder Datei sind also 9 Informationsbits (3 Arten von Rechten * 3 Arten von Benutzern), bzw. jedes Bit kann gesetzt werden (= 1) Zugriff wird erlaubt oder zurückgesetzt (= 0) Zugriff wird verweigert.

Bei der Rechtevergabe ist es üblich, das oktale Zahlensystem zu verwenden.

Textliche Darstellung der Rechte (10 Zeichen):
- rwxr- - r - -
0123456789

Das Zeichen an Position 0:
"-" ist eine normale Datei, "d" ist ein Ordner, "l" ist ein Link

Zeichen in Position 1-3:
"rwx" - Eigentümerrechte

Zeichen in Position 4-6:
"r - -" - Gruppenrechte

Zeichen in Position 7-9:
"r - -" - Rechte für alle anderen

Tabelle zur Definition von Rechten:

Wie Sie der Tabelle entnehmen können, lassen sich die Rechte leicht berechnen.
einfache Summation. 1 = ausführen, 2 = schreiben, 4 = lesen.
zum Beispiel sind Ausführung (1) und Lesen (4) erforderlich, wir erhalten 1 + 4 = 5

Beispiel 644:
- Besitzer (u) lesen und schreiben
- Gruppe (g) nur lesen
- andere (o) nur lesen

Beispiel 755:
- Inhaber (u) alle Rechte
- Gruppe (g) lesen und ausführen
- andere (o) lesen und ausführen

In Programmiersprachen wie C,
Am Anfang jeder Zahl wird zu den Rechten 0 hinzugefügt, d.h. die Zahl ist oktal, d.h. schreiben Sie 0644 statt 644. Bei einem Rechtewechsel über die Kommandozeile ist dies in der Regel nicht erforderlich.

Vierstellige Rechtedarstellung (4755), Zusatzrechte
Bits SUID, SGID, sticky:

  • SUID oder setuid: "Benutzer-ID" zur Laufzeit ändern
  • SGID oder setgid: "Gruppen-ID" zur Laufzeit ändern
  • Sticky Bit: Verbietet das Löschen für alle Benutzer außer dem Besitzer. Früher bedeutete ein Bit "im Speicher zu halten", nachdem ein Prozess beendet wurde
Tisch. Numerische Darstellung zusätzlicher Rechte:

Textliche Darstellung zusätzlicher Bits:
zusätzliche Bits werden durch folgende Symbole gekennzeichnet:
"S", "s" - SUID, SGID
"T", "t" - klebriges Bit
die Position dieser Bits entspricht den Positionen (3,6,9) der Ausführungsrechte "x"
wenn jedoch keine Ausführungsrechte vorhanden sind, wird der "Großbuchstabe" verwendet. große Symbole. Wenn Ausführungsrechte gesetzt sind, wird "Kleinschreibung" verwendet, d.h. kleine Symbole.

Beispiele:

SUID installiert:
- r w s - - - - - - SUID-Bits gesetzt und für Besitzer ausgeführt
- r - S - - - - - - SUID-Bit gesetzt, Ausführungsbit nicht gesetzt

SGID installiert:
- r w x r w s - - - SGID-Bits gesetzt und ausgeführt für Gruppe
- r w x r - S - - - das SGID-Bit ist gesetzt, nicht gesetzt. Ausführung für die Gruppe

Das Sticky-Bit ist gesetzt:
- r w x r w x r w t Sticky Bits setzen und für andere ausführen
- r w x r w x r - T-Sticky-Bit gesetzt, aber nicht gesetzt. Ausführung für andere

Unterschiede in der Wirkung von Rechten, wenn auf Dateien und Ordnern installiert:

RechteDateienOrdner
lesen Inhalt leseneine Liste von Dateien erhalten
Aufzeichnung InhaltsaufnahmeÄndern der Dateiliste
(erstellen, löschen, umbenennen)
Leistungdie Datei kann ausgeführt werdenBenutzer oder Prozess, kann den Ordner "aktuell / in Arbeit" machen
SUID "Benutzer-ID" zur Laufzeit einstellen Überschreiben Sie die Benutzer-ID beim Erstellen einer Datei / eines Ordners (verwenden Sie die Besitzer-ID des Stammordners)
SGID "Gruppen-ID" bei Ausführung setzen Überschreiben Sie die Gruppen-ID beim Erstellen einer Datei / eines Ordners (verwenden Sie die Gruppen-ID des Stammordners)
klebrig Löschen für alle außer dem Eigentümer verbieten

Befehl ändern richtig chmod:
chmod [-R] Datei- / Ordnerberechtigungen

"-R" wendet Berechtigungen rekursiv auf alle Dateien und Unterordner an

Beispiele:
chmod -R 755-Ordner /
chmod 644-Datei
usw.

Es ist möglich, die Rechte nicht vollständig zu ändern, sondern nur für bestimmte Benutzergruppen Rechte hinzuzufügen oder zu entfernen
Verwenden von Symbolen anstelle von Oktalzahlen.
"u" - Benutzer / Eigentümer
"g" - Benutzergruppe
"o" - andere Benutzer
"a" - alle Benutzergruppen

Berechtigungsformat [[+ - =], ...

Beispiele:
chmod -R a + x Ordner / für alle Gruppen rekursiv ausführen
chmod eine + rx-Datei lesen und für alle ausführen
chmod u + rx, g-rx-Datei hinzufügen Lesen und Ausführen für Besitzer, und
Rechte für eine Gruppe widerrufen
chmod a + r, o = Datei hinzufügen, lesen für alle Gruppentypen und widerrufen
alle anderen Benutzer haben alle Rechte

chown Besitzeränderungsbefehl:

Chown [-R] Besitzer: Gruppendatei / Ordner

Beispiele:
chown -R 0: 0 Ordner / Besitzer setzen / Gruppe = Root rekursiv
chown myuser: mygroup file set myuser / mygroup for file

Ändern Sie den Besitzer und die Berechtigungen für Dateien und Ordner auf Linux- und * BSD-Systemen

Die folgenden Informationen sind für Anfänger nützlich Linux und * BSD Systemadministratoren... Im Großen und Ganzen auf jeden Fall Betriebssystem, egal ob Linux, Windows oder FreeBSD, der korrekte Betrieb von Anwendungen, Diensten und die Sicherheit des Gesamtsystems hängt direkt von den Zugriffsrechten auf Dateien und Ordner ab. Mit den folgenden Tools können Sie fast 90% der Probleme lösen, die bei der Einstellung von Zugriffsrechten auftreten.

Besitzer für alle Ordner und Dateien ändern... Zu diesen Zwecken verwendet Unix den Befehl chown... Es hat eine Reihe von Parametern:

  • Optionen. Damit die Änderungen beispielsweise nicht nur dieses Verzeichnis, sondern alle Unterverzeichnisse betreffen, müssen Sie den Befehl rekursiv anwenden, d.h. mit dem Parameter "-R".
  • Der Eigentümer oder die Eigentümergruppe ("Benutzer: Gruppe" oder "Benutzer").
  • Pfade zu Ordnern / Dateien, auf die Sie den Befehl anwenden möchten. Beispiel: „/mnt/pool1/dts1/backup“.

Somit sieht der Befehl zum Ändern des Besitzerwechsels (und der Besitzergruppe) für Verzeichnisse und alle Unterordner und Dateien wie folgt aus:

sudo chown -R Benutzer: Gruppe / Home / Benutzer / Verzeichnis /

Berechtigungen für eine Datei oder einen Ordner ändern in Linux- und * BDS-Systemen können Sie den Befehl verwenden chmod... Es sollte beachtet werden, dass Unix seine eigenen Besonderheiten bei der Ausführung dieses Befehls und dem Prinzip der Rechtetrennung hat. Sie können also zusätzlich zum Eigentümer der Datei oder des Ordners konfigurieren, welche Operationen dieser Eigentümer und diese Gruppe sowie alle anderen Benutzer ausführen können. Unter Unix gibt es eine Trennung der Fähigkeiten auf folgende Weise - der Besitzer, die Gruppe von Besitzern und andere. Darüber hinaus besteht folgende Rechtsaufteilung:

  • Das Recht, die Datei auszuführen (für Ordner - das Verzeichnis durchqueren).
  • Das Recht, eine Datei zu ändern (Dateien und Ordner in einem Verzeichnis erstellen und löschen)
  • Das Recht, eine Datei zu lesen (bei Ordnern ist dies das Recht, den Inhalt eines Verzeichnisses anzuzeigen)

Zur einfacheren Handhabung und Speicherung wird die folgende Codierung verwendet:

  • Start - 1
  • ändern - 2
  • lesen - 4

Durch das Hinzufügen dieser digitalen Bezeichnungen erhalten wir eine Reihe von Rechten, die dem Eigentümer / der Gruppe / anderen zur Verfügung gestellt werden. Lass uns analysieren diese Information zum Beispiel:

Nur der Eigentümer hat das Recht, die Datei zu ändern, die Gruppe des Eigentümers kann lesen, der Rest nicht, daher lautet der Befehl wie folgt:

chmod 640 /media/fileshare/file.txt

Jeder kann Dateien im Ordner erstellen, aber nur der Besitzer sieht sie:

chmod 622 / Medien / Dateifreigabe / Nachrichten /

Damit jeder ein beliebiges Programm ausführen kann, aber niemand außer dem Besitzer es bearbeiten kann:

chmod 711 / media / share / exec

Um die Rechte an allen angehängten Dateien und Ordnern (dh rekursiv) zu ändern, verwenden Sie erneut die Taste "-R".

Bei der Durchführung dieser Vorgänge ist zu beachten, dass nur Administratoren und der Besitzer dieser Ordner und Dateien die Rechte an Dateien und Verzeichnissen ändern können.

Berechtigungen nur für Dateien oder nur für Ordner ändern- Befehl finden... In diesem Fall werden Dateien als Datei (f) bzw. Verzeichnisse als d bezeichnet. Zum Beispiel:

In diesem Tutorial erfahren Sie, wie Sie Berechtigungen unter Linux / Unix ändern und den neuen Besitzer einer Datei / eines Ordners festlegen über Befehlszeile ... Da sind 2 Grundbefehle die für diese Zwecke verwendet werden können: chmod und chown.

Bevor Sie mit diesem Tutorial beginnen, benötigen Sie Folgendes:

  • Befehlszeilenzugriff

Schritt 1 - So ändern Sie Berechtigungen in Linux über die Befehlszeile

chmod- Dieser Befehl wird verwendet, um die Berechtigungen einer Datei oder eines Ordners zu ändern. Jede Datei hat Arten von Benutzern, die mit ihr interagieren können:

Befehl ls -l, kann verwendet werden, um Zugriffsrechte und Besitzer anzuzeigen. Zum Beispiel der Befehl ls -l Datei1.txt wird angezeigt:

  • „-Rwxr – rw-“- dieser Teil der Linie zeigt Zugangsrechte... Es gibt 4 Hauptbuchstaben, auf die Sie achten müssen: r, w, x, d. D bedeutet, dass der Dateityp Verzeichnis ist. In unserem Beispiel gibt es keinen solchen Buchstaben (es wäre der erste in der Zeile), hier steht stattdessen ein Symbol „-“ (was im Grunde „nein“ bedeutet). Buchstabe x bedeutet die Erlaubnis zu Leistung Datei oder Ordner (diese Berechtigung ist erforderlich für Eingang in den Ordner). Buchstabe w bedeutet die Berechtigung zum Schreiben einer Datei oder eines Ordners (Bearbeiten, Löschen usw.) Und schließlich der letzte Buchstabe R was bedeutet lesen... Wenn Sie über Leseberechtigungen für die Datei verfügen, können Sie den Inhalt der Datei lesen, aber keine anderen Aktionen ausführen (z. B. können Sie den Skriptcode lesen, aber nicht ausführen).
  • 1 - die Anzahl der harten Verbindungen. Einfach ausgedrückt ist ein Hardlink ein alternativer Name für eine vorhandene Datei.
  • Benutzer Benutzer- Dieser Wert zeigt den Eigentümer der Datei und ihrer Gruppe an.
  • 0 - Dieser Wert gibt die Größe der Datei an.
  • 19. Januar 12:59- zeigt das Datum der letzten Änderung an.
  • Datei1.txt- gibt den Namen einer Datei oder eines Ordners an.

Ok jetzt kommen wir zurück zum Team chmod... Mit diesem Befehl können wir die Berechtigungen einer Datei oder eines Ordners ändern. Wir bringen Ihnen bei, wie es einfach durch Falten geht Zahlen... Jedes der Zugriffsrechte hat seine eigenen Zimmer:

  • R(Lesen) - 4
  • w(Aufzeichnung) - 2
  • x(Ausführung) - 1

Zum Beispiel, wenn wir die Dateiberechtigungen ändern möchten Datei1.txt auf diesen:

Wir müssen den folgenden Befehl schreiben :

Chmod 746 file1.txt

Jede Zahl in diesem Befehl repräsentiert die Rechte für einen der Arten von Benutzern(Eigentümer, Gruppe und andere). Erste Zahl 7. Nun, mit der Erklärung der obigen Zahlenwerte, besteht die einzige Möglichkeit, die Zahl 7 zu erhalten, darin, die Zahlen 4, 2 und 1 zu addieren, wir erhalten 4 + 2 + 1 = 7. In einfachen Worten bedeutet es ALLE Zugriffsrechte (lesen, schreiben, ausführen - rwx). Die erste Zahl setzt die Zugriffsrechte für Eigentümer Datei. Die zweite Zahl 4, die für Zugriffsrechte -r (read) steht, setzt die Zugriffsrechte für Eigentümergruppe... Die dritte Zahl 6 ergibt nach der gleichen Methode wie die erste Zahl, 4 + 2 = 6, die Gruppe Sonstiges, Rechte an lesen(4) und Aufzeichnung(2) Datei. Der dritte Teil im Team ( Datei1.txt) Der Name der Datei, für die wir die Berechtigungen ändern.

Noch ein Beispiel:

Chmod 777 file2.txt

Dieser Befehl gibt alle Rechte für jeden Benutzertyp ( Eigentümer, Gruppe und Sonstiges).

Hier ist eine Liste der gängigsten Dateiberechtigungen:

Bedeutung Digitaler Wert Erläuterung
-rw --- 600 Der Besitzer kann die Datei lesen und schreiben.
-rw-r – r– 644 Der Besitzer kann die Datei lesen und schreiben, die Gruppe und andere können nur lesen.
-rw-rw-rw- 666 Besitzer, Gruppe und andere können lesen und schreiben.
-rwx-- 700 Der Besitzer kann lesen, schreiben und ausführen, die Gruppe und andere haben keine Zugriffsrechte.
-rwx – x – x 711 Der Besitzer kann lesen, schreiben und ausführen, die Gruppe und andere können nur ausführen.
-rwxr-xr-x 755 Der Besitzer kann lesen, schreiben und ausführen, die Gruppe und andere können lesen und ausführen.
-rwxrwxrwx 777 Alle Arten von Benutzern können lesen, schreiben und ausführen.

Die gängigsten Verzeichnisberechtigungen sind:

Es gibt andere Möglichkeiten, Berechtigungen unter Linux mit dem Befehl zu ändern chmod... Aber unser persönliche Empfehlung wird, studieren einer dieser Befehle und ihre Verwendung (in diesem Fall die Methode mit Zahlen). Wenn Sie mehr über andere Möglichkeiten zum Ändern von Berechtigungen erfahren möchten, können Sie dies lesen.

Schritt 2 - Ändern des Besitzers einer Datei oder eines Ordners über die Befehlszeile

chown- Der Befehl wird verwendet, um den Besitzer einer Datei oder eines Ordners zu ändern. Die gängigste Syntax für diesen Befehl ist:

Chown [Eigentümer/Eigentümergruppe] [Dateiname]

Wenn wir beispielsweise eine Datei „ demo.txt"Und wir wollen den Besitzer wechseln zu" jerry"Und die Eigentümergruppe zu" Kunden”, Wir brauchen diesen Befehl:

Chown Jerry: Kunden demo.txt

Wie Sie sehen, haben wir den Eigentümer und die Eigentümergruppe mit „ : "(Doppelpunkt). Wenn wir nur den Eigentümer der Datei ändern möchten, verwenden wir diesen Code:

Chown Jerry demo.txt

Wir haben gerade die Eigentümergruppe entfernt und den neuen Eigentümer der Datei hinzugefügt. In diesem Fall bleibt die Eigentümergruppe unverändert.

Ein weiteres ähnliches Beispiel, wenn wir nur die Besitzergruppe ändern möchten:

Chown: Kunden demo.txt

In diesem Fall ändert sich die Gruppe des Eigentümers zu Kunden(Der Besitzer bleibt derselbe).

Schritt 3 – Verwenden zusätzlicher Optionen mit den Befehlen chmod und chown

Eine der wichtigsten Optionen, die mit beiden Befehlen funktioniert, ist -R, was für rekursiv steht. Mit dieser Option können Sie die Berechtigungen und den Besitzer der Datei, des angegebenen Ordners und . ändern ALLE andere Dateien darin.

WICHTIG! Seien Sie sehr vorsichtig mit dieser Option, wenn Sie sie falsch verwenden, können Sie die Berechtigungen und den Besitzer ändern ALLE Dateien auf Ihrem System, was zu Fehlern bei der Arbeit führt und viel Zeit beim Zurücksetzen von Änderungen verschwendet.

Andere Optionen für chmod und chown:

  • „-F“ ist leise oder Energie Möglichkeit. Wenn diese Option verwendet wird, werden die meisten Fehlermeldungen ausgeblendet.
  • -V - Führen Sie eine Diagnose für jede Datei durch, die von dem Befehl betroffen ist.

Unter Linux sind alle Dateien Besitzer und Gruppe zugeordnet. Der Befehl chown wird verwendet, um die Benutzer- und Gruppenrechte für eine bestimmte Datei, ein Verzeichnis oder einen Link zu ändern.

In diesem Artikel zeigen wir Ihnen anhand einfacher Beispiele, wie Sie den Befehl chown verwenden.

Chown-Befehlssyntax

Bevor wir mit dem Befehl chown fortfahren, schauen wir uns zunächst die grundlegende Syntax an.

Die chown-Befehlsausdrücke sind:

Chown BENUTZER [: GRUPPE] DATEI(n)

  • BENUTZER Dies ist der Benutzername oder die Benutzer-ID (UID) des neuen Eigentümers,
  • GRUPPE Name Neue Gruppe oder Gruppenkennung (GID) und
  • DATEI (n) der Name einer oder mehrerer Dateien, Verzeichnisse oder Links.

Verwenden Sie den Befehl ls -l, um herauszufinden, wem eine Datei oder welche Gruppe gehört.

Um den Besitz einer Datei ändern zu können, muss der Benutzer, der den chown-Befehl ausführt, haben.

So ändern Sie den Eigentümer einer Datei

Um den Eigentümer einer Datei zu ändern, verwenden Sie den Befehl chown gefolgt vom Benutzernamen des neuen Eigentümers und der Zieldatei.

Chown BENUTZERDATEI

Der folgende Befehl ändert beispielsweise den Besitz der Datei namens file1 in den neuen Besitzer namens andreyex:

Chown andreyex-Datei1

Um den Besitz mehrerer Dateien oder Verzeichnisse zu ändern, geben Sie diese als durch Leerzeichen getrennte Liste an. Der folgende Befehl ändert beispielsweise den Eigentümer der Datei namens file1 und des Verzeichnisses dir1 in einen neuen Eigentümer namens andreyex:

Chown andreyex file1 dir1

Anstelle eines Benutzernamens kann eine numerische Benutzerkennung (UID) verwendet werden. Im folgenden Beispiel wird der Eigentümer einer Datei namens file2 in den neuen Eigentümer mit der UID 1000 geändert:

Chown 1000 Datei2

Wenn ein numerischer Besitzer als Benutzername existiert, wird der Besitz auf den Benutzernamen übertragen.

So ändern Sie den Besitzer und die Gruppe einer Datei

Um den Besitzer und die Gruppe einer Datei zu ändern, verwenden Sie den Befehl chown gefolgt vom neuen Besitzer und der neuen Gruppe, getrennt durch einen Doppelpunkt (keine abschließenden Leerzeichen oder Zieldatei.

Chown BENUTZER: GRUPPENDATEI

Der folgende Befehl ändert den Besitz der Datei namens file1 in den neuen Besitzer namens greyex und die Benutzergruppe:

Chown andreyex: Benutzerdatei1

Wenn Sie den Gruppennamen nach dem Doppelpunkt ( weglassen, wird die Dateigruppe in die angegebene Benutzergruppe geändert.

Chown andreyex: file1

So ändern Sie die Gruppe einer Datei

Chown kann dasselbe tun, dh eine Gruppe von Dateien ändern.

Um nur die Gruppe einer Datei zu ändern, verwenden Sie den Befehl chown gefolgt von einem Doppelpunkt ( und dem neuen Gruppennamen und der Zieldatei.

Gezeigt: GRUPPENDATEI

Der folgende Befehl ändert die besitzende Gruppe der Datei namens file1 in www-data:

Chown: www-Datendatei1

So ändern Sie den Eigentümer einer Datei rekursiv

Um rekursiv mit allen Dateien und Verzeichnissen im Eingabeverzeichnis zu arbeiten, verwenden Sie die Option -r (–rekursiv):

Chown -R BENUTZER: GRUPPENVERZEICHNIS

Der folgende Befehl ändert beispielsweise den Besitz aller Dateien und Verzeichnisse in den Unterverzeichnissen /var/www in einen neuen Besitzer und eine neue Gruppe namens www-data:

Chown www-Daten: / var / www

Abschluss

Inzwischen sollten Sie die Verwendung des Befehls chown unter Linux gut verstehen. Wenn Sie mehr über den Befehl chown erfahren möchten, besuchen Sie die Manpage von chown.