ubuntuusers.de

chown

Status: Gelöst | Ubuntu-Version: Ubuntu
Antworten |
Dieses Thema ist die Diskussion des Artikels chown.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo zusammen,

mir ist was aufgefallen:

Beispiele

In allen folgenden Beispielen erhebt sich der Benutzer ("User") mithilfe von sudo zeitweilig zum Superuser, um Rechtebeschränkungen zu überwinden.

Ist der „Benutzer“ nicht besser der „aktuelle Benutzer“?

In diesem Sinne gälte dies auch für das vorletzte Beispiel. Außerdem müsste m.E. noch ergänzt werden, dass auch das aktuelle Verzeichnis selbst mitverändert wird:

Der aktuelle Benutzer macht sich zum Besitzer des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien auf die Gruppe plugdev übertragen:

sudo chown -cR $USER:plugdev *.* 

Und zur Abrundung der Beispiel-Sammlung hätte ich hier noch einen Vorschlag, einzufügen bitte zwischen vorletztes und letztes Beispiel:

Der aktuelle Benutzer macht sich zum Besitzer des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien auf die Gruppe des aktuellen Benutzers übertragen:

sudo chown -R $USER:$USER *.* 

Bei Zustimmung kann ich das gerne auch selber eintragen.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

linux_joy schrieb:

[…]

Beispiele

In allen folgenden Beispielen erhebt sich der Benutzer ("User") mithilfe von sudo zeitweilig zum Superuser, um Rechtebeschränkungen zu überwinden.

Ist der „Benutzer“ nicht besser der „aktuelle Benutzer“?

Finde ich nicht gut. Der aktuelle Benutzer wird ja gerade durch die Anwendung von sudo geändert, wenn schon, dann sollte man vom Bediener sprechen. Ich ändere das mal.

[…] Und zur Abrundung der Beispiel-Sammlung hätte ich hier noch einen Vorschlag, einzufügen bitte zwischen vorletztes und letztes Beispiel:

Der aktuelle Benutzer macht sich zum Besitzer des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien auf die Gruppe des aktuellen Benutzers übertragen:

sudo chown -R $USER:$USER *.* 

Nein. Das ist ganz schlechter Stil. Ein Benutzername ist nun mal kein Gruppenname, auch wenn sie beide gleich lauten können.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB, Du schriebst:

linux_joy schrieb:

[…]

Beispiele

In allen folgenden Beispielen erhebt sich der Benutzer ("User") mithilfe von sudo zeitweilig zum Superuser, um Rechtebeschränkungen zu überwinden.

Ist der „Benutzer“ nicht besser der „aktuelle Benutzer“?

Finde ich nicht gut. Der aktuelle Benutzer wird ja gerade durch die Anwendung von sudo geändert, wenn schon, dann sollte man vom Bediener sprechen. Ich ändere das mal.

Danke 👍

[…] Und zur Abrundung der Beispiel-Sammlung hätte ich hier noch einen Vorschlag, einzufügen bitte zwischen vorletztes und letztes Beispiel:

Der aktuelle Benutzer macht sich zum Besitzer des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien auf die Gruppe des aktuellen Benutzers übertragen:

sudo chown -R $USER:$USER *.* 

Nein. Das ist ganz schlechter Stil. Ein Benutzername ist nun mal kein Gruppenname, auch wenn sie beide gleich lauten können.

Gut, dafür bitte ich hiermit vielmals um Entschuldigung (😳), ich habe dies halt so mehrfach im Internet gesehen; dann eben eine kleine Abänderung, einzufügen bitte wie gehabt zwischen vorletztes und letztes Beispiel:

Der Bediener macht sich zum Besitzer des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien auf seine primäre Gruppe übertragen (siehe auch chgrp):

sudo chown -R $USER:$GROUPS *.* 

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

@ linux_joy: Fullquotes sind bei UbuntuUser.de generell unerwünscht und gemäß ubuntuusers/Moderatoren/Verhaltenskodex geächtet (s. insbesondere Regel 8 und 9). Das gilt natürlich erst recht, wenn sie völlig sinnlos sind.

Das von Dir vorgeschlagene Beispiel wäre möglich, bringt aber nichts Neues im Vergleich zu den bereits im Artikel vorhandenen.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB,

danke für Deine rasche Antwort 😎

Ich bitte hiermit wieder vielmals um Entschuldigung (😳), da ich die von Dir angeführten Regeln nicht beachtet habe.

Allerdings finde ich, dass das von mir vorgeschlagene Beispiel doch etwas Neues im Vergleich zu den bereits im Artikel vorhandenen bringt, da man sich, falls man soetwas braucht, diesen Anwendungsfall („im Grunde alles Zeugs auf den eigenen Namen umbiegen“) nicht erst selber „zusammenbasteln“ muss. Zumal man im „Ernstfall“ halt bestimmt nicht „die Ruhe selbst“ darstellen wird ☹ . Falls ich mich damit nicht täusche, aber das von mir vorgeschlagene Beispiel dürfte m.E. eines der häufigsten, wenn nicht sogar das häufigste diesbezügliche im Internet zu findende Beispiel sein, welches jedoch in Bezug auf die Gruppenzugehörigkeit eben meistens den von Dir vorstehend erwähnten „ganz schlechten Stil“ aufweist...

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo zusammen,

hier kommt ein Nachtrag bzgl. meiner vorherigen Posts, speziell zu

linux_joy schrieb:

Hallo zusammen,

(...)

In diesem Sinne gälte dies auch für das vorletzte Beispiel. Außerdem müsste m.E. noch ergänzt werden, dass auch das aktuelle Verzeichnis selbst mitverändert wird:

Der aktuelle Benutzer macht sich zum Besitzer des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses mitsamt aller Unterordner und Dateien auf die Gruppe plugdev übertragen:

sudo chown -cR $USER:plugdev *.* 

(...)


und

linux_joy schrieb:

Hallo kB, Du schriebst:

(...)

(...)

Gut, dafür bitte ich hiermit vielmals um Entschuldigung (😳), ich habe dies halt so mehrfach im Internet gesehen; dann eben eine kleine Abänderung, einzufügen bitte wie gehabt zwischen vorletztes und letztes Beispiel:

Der Bediener macht sich zum Besitzer des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien auf seine primäre Gruppe übertragen (siehe auch chgrp):

sudo chown -R $USER:$GROUPS *.* 


  • Zunächst algemein zu *.*, also der Darstellung für die (gewollte) Entsprechung des aktuellen Verzeichnisses:

    ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
    insgesamt 0
    drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
    drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
    -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:57 test6.txt
    ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER: *.*
    ubuntu-mate@ubuntu-mate:~/Downloads$ sudo mkdir Test
    ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
    insgesamt 0
    drwxr-xr-x  3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 .
    drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
    drwxr-xr-x  2 root        root         40 Apr 27 00:23 Test
    -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:57 test6.txt
    ubuntu-mate@ubuntu-mate:~/Downloads$ cd Test
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: *.*
    chown: Zugriff auf '*.*' nicht möglich: Datei oder Verzeichnis nicht gefunden
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: '.'
    der Eigentümer von '.' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 ubuntu-mate ubuntu-mate  40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c root:root "."
    der Eigentümer von '.' wurde von ubuntu-mate:ubuntu-mate in root:root geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: .
    der Eigentümer von '.' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 ubuntu-mate ubuntu-mate  40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$
    • Anstatt der beiden Sternchen (*.*) müssen also entweder einfache Anführungsstriche bzw. Hochkommata ('.'), doppelte Anführungsstriche (".") oder auch einfach der nackte Punkt (.) genommen werden. Gemäß den in allen 3 Fällen identischen Terminal-Ausgaben („der Eigentümer von '.' wurde ... geändert“) ist m.E. wohl das '.' (einfache Anführungsstriche bzw. Hochkommata) die sicherste Wahl.

  • Dann speziell zum Befehl

    sudo chown -R $USER:$GROUPS '.' 

    , also der Besitz- und Gruppenzugehörigkeits-Übertragung des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien auf den Bediener: Ich habe dies vor ein paar Wochen an einer einzelnen JPG-Datei überprüft (mittels

    sudo chown -c $USER:$GROUPS DATEI.JPG 

    ) und, obwohl das Terminal der Eigentümer von '/home/ubuntu-mate/Downloads/DSC00736.JPG' wurde von root:root in ubuntu-mate:1000 geändert und bei

    ls -la 

    die Ausgabe -rwxr-xr-x 1 ubuntu-mate ubuntu-mate 4196347 Apr 6 19:08 DATEI.JPG meldete, mit dem Dateimanager Caja Probleme bekommen, nämlich, indem dieser die betreffende Datei nach der Umbenennung nicht mehr anzeigte – bzw. er die Besitz- und Gruppenzugehörigkeits-Rechte nicht korrekt bzw. noch die alten anzeigte. Nach meiner Erinnerung musste ich erst eine neue Caja-Instanz öffnen, um dann die korrekten Besitz- und Gruppenzugehörigkeits-Rechte angezeigtbekommen zu können.

    • Vorhin habe ich versucht, dieses Problem mittels einer einfachen leeren Text-Datei nachstellen zu können, allerdings klappte dies nicht! Trotzdem hier der Terminal-Inhalt:

      ubuntu-mate@ubuntu-mate:~/Downloads$ id
      uid=1000(ubuntu-mate) gid=1000(ubuntu-mate) Gruppen=1000(ubuntu-mate),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),117(lpadmin),126(sambashare)
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate  40 Apr 24 04:51 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -aln
      insgesamt 0
      drwxr-xr-x  2 1000 1000  40 Apr 24 04:51 .
      drwxr-x--- 20 1000 1000 620 Apr 20 18:07 ..
      ubuntu-mate@ubuntu-mate:~/Downloads$ touch test1.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo touch test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate  80 Apr 26 22:24 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:24 test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -aln
      insgesamt 0
      drwxr-xr-x  2 1000 1000  80 Apr 26 22:24 .
      drwxr-x--- 20 1000 1000 620 Apr 20 18:07 ..
      -rw-rw-r--  1 1000 1000   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1    0    0   0 Apr 26 22:24 test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ pluma test1.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ pluma test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER:$GROUPS test2.txt
      der Eigentümer von 'test2.txt' wurde von root:root in ubuntu-mate:1000 geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ pluma test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate  80 Apr 26 22:24 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -aln
      insgesamt 0
      drwxr-xr-x  2 1000 1000  80 Apr 26 22:24 .
      drwxr-x--- 20 1000 1000 620 Apr 20 18:07 ..
      -rw-rw-r--  1 1000 1000   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 1000 1000   0 Apr 26 22:24 test2.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo touch test3.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 100 Apr 26 22:38 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:38 test3.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER:$GROUP test3.txt
      der Eigentümer von 'test3.txt' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 100 Apr 26 22:38 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo touch test4.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 120 Apr 26 22:45 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:45 test4.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER: test4.txt
      der Eigentümer von 'test4.txt' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 120 Apr 26 22:45 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo touch test5.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 140 Apr 26 22:47 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:47 test5.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c :$GROUPS test5.txt
      die Gruppe von 'test5.txt' wurde von root in 1000 geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 140 Apr 26 22:47 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 root        ubuntu-mate   0 Apr 26 22:47 test5.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER: test5.txt
      der Eigentümer von 'test5.txt' wurde von root:ubuntu-mate in ubuntu-mate:ubuntu-mate geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 140 Apr 26 22:47 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo touch test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:57 test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c :$GROUP test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
      -rw-r--r--  1 root        root          0 Apr 26 22:57 test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c :$(id -gn) test6.txt
      der Eigentümer von 'test6.txt' wurde von root:root in :ubuntu-mate geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
      -rw-r--r--  1 root        ubuntu-mate   0 Apr 26 22:57 test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER: test6.txt
      der Eigentümer von 'test6.txt' wurde von root:ubuntu-mate in ubuntu-mate:ubuntu-mate geändert
      ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
      insgesamt 0
      drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
      drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
      -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt 
      -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:57 test6.txt
      ubuntu-mate@ubuntu-mate:~/Downloads$
      • Dazu habe ich (auch nach einigen Inet-Recherchen) einige Fragen bzw. Anmerkungen:

        • Woher kommt eigentlich die Variable $GROUPS? Im Inet habe ich darauf keine Antwort finden können, sondern bin bei bash - What environment variable will report the user's primary group - Ask Ubuntu gelandet, wo steht: „As far as I know, there's no conventionally recognised equivalent to $USER for a user's primary group - however you can use the id command. (...) You can wrap it in a command substitution $(id -gn) if you need something that you can use like a variable.“ – Es gibt laut diesem Post also kein bekanntes Äquivalent zu $USER für die primäre Benutzer-Gruppe, stattdessen wird auf id bzw. dessen Kommando-Ersetzung $(id -gn) verwiesen – was in meinem Versuch vorhin ja auch funktionierte, wobei allerdings „der Eigentümer“ (anstatt „die Gruppe“ bei :$GROUPS) geändert wird, jedoch hier „in :ubuntu-mate“ (anstatt „in 1000“ bei :$GROUPS) ausgegeben wird.

          • Sollen beide Berechtigungs-Arten geändert werden, so erscheint mir dafür das $USER: am schlüssigsten zu sein.


Eure Meinung dazu?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

linux_joy schrieb:

[…] Eure Meinung dazu?

Du solltest Dich kürzer und prägnanter ausdrücken.

Ich habe nicht verstanden, was Du eigentlich meinst.

Das Beispiel ist jedenfalls fehlerhaft, weil die tatsächliche Wirkung des Befehls nicht mit der Beschreibung übereinstimmt und deshalb jetzt auch als fehlerhaft gekennzeichnet.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB,

vielen Dank für Deine prompte Antwort 👍 .

Aber erst morgen kann ich aus Zeitgründen näher darauf eingehen.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB,

pardon, aber hiermit möchte ich um noch ein klein wenig Geduld bitten ☹ .

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB,

... und noch ein klein wenig Geduld, bitte ☹ .

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB,

so, nun kommt meine Antwort. Leider habe ich mir aber insgesamt mehr Arbeit gemacht als notwendig ☹ .

Zunächst zur Variable $GROUPS:

linux_joy schrieb:

(...)

  • (...)

    • Woher kommt eigentlich die Variable $GROUPS? Im Inet habe ich darauf keine Antwort finden können, sondern bin bei bash - What environment variable will report the user's primary group - Ask Ubuntu gelandet, wo steht: „As far as I know, there's no conventionally recognised equivalent to $USER for a user's primary group - however you can use the id command. (...) You can wrap it in a command substitution $(id -gn) if you need something that you can use like a variable.“ – Es gibt laut diesem Post also kein bekanntes Äquivalent zu $USER für die primäre Benutzer-Gruppe, stattdessen wird auf id bzw. dessen Kommando-Ersetzung $(id -gn) verwiesen – was in meinem Versuch vorhin ja auch funktionierte, wobei allerdings „der Eigentümer“ (anstatt „die Gruppe“ bei :$GROUPS) geändert wird, jedoch hier „in :ubuntu-mate“ (anstatt „in 1000“ bei :$GROUPS) ausgegeben wird.

      • (...)

(...)

  • → (Leider habe ich mir Deine letzte Artikel-Änderung von vor ein paar Tagen nicht genau genug angeschaut, deswegen hätte ich mir die nun folgenden Unterpunkte eigentlich ersparen können, aber naja, so habe ich wenigstens noch das Forum an anderer Stelle bereichern können, siehe den vorletzten Unterpunkt ☹ )

    • Mit

      printenv 

      habe ich mir alle Umgebungsvariablen auf einmal anzeigen lassen. Dabei wurde u.a. zwar USER angezeigt, aber weder GROUP noch GROUPS.

      • Daraufhin habe ich mit dem MATE-Suchwerkzeug nach Dateien gesucht, deren Name die Zeichenkette „GROUPS“ enthält und 3.043 Treffer erhalten (→ Anhang; einige Treffer konnten mangels Berechtigung nicht aufgelistet werden).

      • Mit

        cat /usr/bin/groups 

        habe ich mir den Inhalt der Datei /usr/bin/groups im Terminal ausgeben lassen (diese Datei erschien mir am plausibelsten, sie zuerst näher zu untersuchen).

        • Da dort viele unlesbare Zeichen waren, habe ich nach einigen Inet-Recherchen herausgefunden, dass die Kodierung der Datei UTF-32LE ist (→ Mit Terminal encoding der Dateien herausfinden, dort 9474116/).

        • Da

          less /usr/bin/groups 

          "/usr/bin/groups" may be a binary file.  See it anyway?

          ausgab, habe ich dann weitere Nachforschungen zur Herkunft der Variable $GROUPS aufgegeben (ich hätte mir einfach Deine letzte Artikel-Änderung von vor ein paar Tagen richtig anschauen müssen ☹ ).


So, nun zum eigentlichen Anliegen, welches hoffentlich kurz und prägnant genug ausgedrückt ist:

Es geht um den Abschnitt „Beispiele“:

  • In allen Beispielen, in welchen die Option -c vorkommt, wird als zweiter Erläuterungs-Satz (vor dem :) ergänzt: „Dabei wird angezeigt, dass und wohin das Verzeichnis den Besitzer gewechselt hat.“

  • In allen Beispielen, in welchen die Option -cR vorkommt, wird als zweiter oder dritter Erläuterungs-Satz (vor dem :) ergänzt: „Dabei werden die Dateien und Verzeichnisse angezeigt, deren Besitzer und Gruppe tatsächlich verändert wird, und auch, wohin.“

  • Da das 4. Beispiel bei Verwendung einer anderen Shell als Bash möglicherweise so nicht funktioniert, sollte m.E. die Variable $GROUPS durch $(id -gn) ersetzt werden.

  • Als neues 5. Beispiel wird eingefügt:

    • Der Bediener macht sich zum Besitzer des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien. Außerdem wird die Gruppenzugehörigkeit des aktuellen Verzeichnisses inkl. aller Unterordner und Dateien auf seine primäre Gruppe übertragen (siehe auch chgrp):

      sudo chown -R $USER: '.' 
  • Im jetzigen 6. und wie vorher letzten Beispiel wird das *.* durch '.' ersetzt.

Bilder

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9708

Wohnort: Münster

linux_joy schrieb:

[…] zur Variable $GROUPS […]

Das ist für den hier diskutierten Artikel alles gar nicht relevant.

[…] Abschnitt „Beispiele“

  • In allen Beispielen, in welchen die Option -c vorkommt, wird als zweiter Erläuterungs-Satz (vor dem :) ergänzt […]

Die Optionen -c und -R werden im Artikel im Abschnitt Optionen (direkt darüber!) erläutert. Wiederkäuen ist nicht erforderlich.

  • Da das 4. Beispiel bei Verwendung einer anderen Shell als Bash möglicherweise so nicht funktioniert, sollte m.E. die Variable $GROUPS durch $(id -gn) ersetzt werden.

Das wäre die Ersetzung eines erklärungsbedürftigen Befehls durch einen komplizierteren Befehl mit noch größerem Erklärungsbedarf. Schlechte Strategie.

  • Als neues 5. Beispiel wird eingefügt: […]

sudo chown -R $USER: '.' 
  • Im jetzigen 6. und wie vorher letzten Beispiel wird das *.* durch '.' ersetzt.

Ich bin nicht sicher, ob die von Dir vorgeschlagen Befehle das leisten, was sie lt. Beschreibung leisten sollen. Das Problem ist das Zeichen „.“, welches sowohl als Zeichen, als auch als Metazeichen in regulären Ausdrücken verwendet wird, als auch als funktionalen Nebeneffekt das Verstecken bzw Ignorieren von Dateinamen bewirkt. Dadurch ist unübersichtlich, was Ausdrücke wie '.' und '*.*' tatsächlich selektieren. Ein weiteres Problem ist die in jedem Ordner vorhandene Datei .., die von solchen Ausdrücken mit selektiert wird, die man aber bei der Anwendung von chown sicherlich nicht bearbeiten will. Ich halte daher momentan den Warnhinweis für zweckmäßiger als unvollständig verstandene Verbesserungsversuche.

linux_joy

Anmeldungsdatum:
6. Februar 2008

Beiträge: 781

Wohnort: Hannover

Hallo kB, Du schriebst:

linux_joy schrieb:

[…] zur Variable $GROUPS […]

Das ist für den hier diskutierten Artikel alles gar nicht relevant.

Richtig. Das habe ich auch nur der Vollständigkeit halber noch stehen lassen, da ich ja zunächst Deine Änderung im Artikel, welche lautet:

(Die Variable GROUPS (ein Array) wird von der Shell Bash angelegt. Bei Verwendung einer anderen Shell funktioniert das Beispiel möglicherweise so nicht.)

übersehen hatte und meine vorherige Recherche-Arbeit trotzdem nicht vergebens gewesen sein sollte.

[…] Abschnitt „Beispiele“

  • In allen Beispielen, in welchen die Option -c vorkommt, wird als zweiter Erläuterungs-Satz (vor dem :) ergänzt […]

Die Optionen -c und -R werden im Artikel im Abschnitt Optionen (direkt darüber!) erläutert. Wiederkäuen ist nicht erforderlich.

Die Auswirkungen der -R-Option werden aber doch bereits wiedergekäut. Die der -c-Option aber nicht!

  • Da das 4. Beispiel bei Verwendung einer anderen Shell als Bash möglicherweise so nicht funktioniert, sollte m.E. die Variable $GROUPS durch $(id -gn) ersetzt werden.

Das wäre die Ersetzung eines erklärungsbedürftigen Befehls durch einen komplizierteren Befehl mit noch größerem Erklärungsbedarf. Schlechte Strategie.

Was heißt hier „Strategie“? Man könnte erklären, dass $(id -gn) eine Variable ist ( ▶ oder ist es etwas anderes, bitte, Du weißt es doch sicher besser als ich 👍 ), welche den primären Gruppennamen auflöst. Besser als vorher wäre es m.E. aber allemal.

  • Als neues 5. Beispiel wird eingefügt: […]

sudo chown -R $USER: '.' 
  • Im jetzigen 6. und wie vorher letzten Beispiel wird das *.* durch '.' ersetzt.

Ich bin nicht sicher, ob die von Dir vorgeschlagen Befehle das leisten, was sie lt. Beschreibung leisten sollen. Das Problem ist das Zeichen „.“, welches sowohl als Zeichen, als auch als Metazeichen in regulären Ausdrücken verwendet wird, als auch als funktionalen Nebeneffekt das Verstecken bzw Ignorieren von Dateinamen bewirkt. Dadurch ist unübersichtlich, was Ausdrücke wie '.' und '*.*' tatsächlich selektieren. Ein weiteres Problem ist die in jedem Ordner vorhandene Datei .., die von solchen Ausdrücken mit selektiert wird, die man aber bei der Anwendung von chown sicherlich nicht bearbeiten will. Ich halte daher momentan den Warnhinweis für zweckmäßiger als unvollständig verstandene Verbesserungsversuche.

Gut, dann anstatt dem '.' also bitte das nackte . (der schlichte Punkt). Siehe dazu bitte auch, was ich vorher schrieb:

(...)

  • Zunächst algemein zu *.*, also der Darstellung für die (gewollte) Entsprechung des aktuellen Verzeichnisses:

    ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
    insgesamt 0
    drwxr-xr-x  2 ubuntu-mate ubuntu-mate 160 Apr 26 22:57 .
    drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
    -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:57 test6.txt
    ubuntu-mate@ubuntu-mate:~/Downloads$ sudo chown -c $USER: *.*
    ubuntu-mate@ubuntu-mate:~/Downloads$ sudo mkdir Test
    ubuntu-mate@ubuntu-mate:~/Downloads$ ls -al
    insgesamt 0
    drwxr-xr-x  3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 .
    drwxr-x--- 20 ubuntu-mate ubuntu-mate 620 Apr 20 18:07 ..
    drwxr-xr-x  2 root        root         40 Apr 27 00:23 Test
    -rw-rw-r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test1.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:24 test2.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:38 test3.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:45 test4.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:47 test5.txt
    -rw-r--r--  1 ubuntu-mate ubuntu-mate   0 Apr 26 22:57 test6.txt
    ubuntu-mate@ubuntu-mate:~/Downloads$ cd Test
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: *.*
    chown: Zugriff auf '*.*' nicht möglich: Datei oder Verzeichnis nicht gefunden
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: '.'
    der Eigentümer von '.' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 ubuntu-mate ubuntu-mate  40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c root:root "."
    der Eigentümer von '.' wurde von ubuntu-mate:ubuntu-mate in root:root geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 root        root         40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ sudo chown -c $USER: .
    der Eigentümer von '.' wurde von root:root in ubuntu-mate:ubuntu-mate geändert
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$ ls -al
    insgesamt 0
    drwxr-xr-x 2 ubuntu-mate ubuntu-mate  40 Apr 27 00:23 .
    drwxr-xr-x 3 ubuntu-mate ubuntu-mate 180 Apr 27 00:23 ..
    ubuntu-mate@ubuntu-mate:~/Downloads/Test$
    • Anstatt der beiden Sternchen (*.*) müssen also entweder einfache Anführungsstriche bzw. Hochkommata ('.'), doppelte Anführungsstriche (".") oder auch einfach der nackte Punkt (.) genommen werden. Gemäß den in allen 3 Fällen identischen Terminal-Ausgaben („der Eigentümer von '.' wurde ... geändert“) ist m.E. wohl das '.' (einfache Anführungsstriche bzw. Hochkommata) die sicherste Wahl.

(...)

Antworten |