Benutzer und Gruppen (Linux, UNIX) Wir müssen unterscheiden, als Einstieg [list=1] [*] Dem Benutzer [code]super user[/code] oder [code]root[/code] [*] Dem Benutzer [code]user[/code] in meinem Fall [code]david[/code] oder zum Beispiel [code]sandra[/code] [/list] Wie viele Nutzer existieren [list=1] [*] [code]david[/code] [*] [code]siegfried[/code] [*] [code]brunhilde[/code] [*] [code]naomi[/code] [*] ... [/list] Hängt vom jeweiligen System ab. Beginnen wir mit [code] UNIX [/code] und fangen zum Beispiel in der WG - einen Linux-Rechner an zu nutzen, wie wir meinen oft sinnvoll haben wir die kluge Idee zu meinen einen für alle zu verwenden. Und werden bestrebt sein, ihn für alle Bewohner gleich ein zu richten. Erfahrungswerte zeigen, daraus wird im Allgemeinen nichts. Die Zeiten in denen sich viele Nutzer an der Universität einen Rechner wie früher teilen, sind eigentlich letzten Endes vorbei. Anders, ist, wenn es um Mails geht. Ich möchte keine Einführung in das Mailsystem vorstellen. So viel sei gesagt. Ich betreibe https://www.ituenix.de mit dem Mailserver, erreichbar unter: [code] mail.ituenix.de [/code] und es gibt automatisch zu jedem "normalen" Benutzer ein Mail-Benutzer. Diese heissen entsprechend der Nutzer auf dem Rechner [code] david [/code] entsprechend, der Nutzer, die in der Gruppe [code] mail [/code] sind. Es gibt generell auf einem Linux-Rechner immer viel mehr Nutzer als es "physische Nutzer" gibt. Sie repräsentieren keine Benutzer, die am PC sitzen. Ein oftmals eingeführter Nutzer ist [code] www-data [/code] Diese Nutzer entstehen, indem wir [code] services [/code] also gewisse Programme erstellen, die für mehr sind, als die reine "Benutzung". Nur gibt es für jeden Linux Rechner solche [code] services [/code] Der Nutzer [code] www-data [/code] entsteht allerdings automatisch, allerdings eher nur, wenn wir [code] apache2 [/code] oder [code] nginx [/code] installieren, was oft nicht der Fall ist. Die Benutzer stehen übrigens in [code] /etc/passwd [/code] Keine Sorge, hier werden keine Passwörter unverschlüsselt angezeigt. Und die entsprechenden Gruppen in [code] /etc/group [/code] Also: [list=1] [*] [code]/etc/passwd[/code] [*] [code]/etc/group[/code] [/list] Die Ausgabe bei mir [code] /etc/passwd [/code] [code] root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin _apt:x:100:65534::/nonexistent:/usr/sbin/nologin systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin tss:x:103:109:TPM software stack,,,:/var/lib/tpm:/bin/false messagebus:x:104:110::/nonexistent:/usr/sbin/nologin systemd-timesync:x:105:111:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin usbmux:x:106:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin rtkit:x:107:115:RealtimeKit,,,:/proc:/usr/sbin/nologin sshd:x:108:65534::/run/sshd:/usr/sbin/nologin dnsmasq:x:109:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin avahi:x:110:116:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin speech-dispatcher:x:111:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false pulse:x:112:118:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin saned:x:113:121::/var/lib/saned:/usr/sbin/nologin colord:x:114:122:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin geoclue:x:115:123::/var/lib/geoclue:/usr/sbin/nologin sddm:x:116:124:Simple Desktop Display Manager:/var/lib/sddm:/bin/false david:x:1000:1000:David Vajda,,,:/home/david:/bin/bash systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin postfix:x:117:125::/var/spool/postfix:/usr/sbin/nologin gitlab-www:x:998:998::/var/opt/gitlab/nginx:/bin/false git:x:997:997::/var/opt/gitlab:/bin/sh gitlab-redis:x:996:996::/var/opt/gitlab/redis:/bin/false gitlab-psql:x:995:995::/var/opt/gitlab/postgresql:/bin/sh registry:x:994:994::/var/opt/gitlab/registry:/bin/sh gitlab-prometheus:x:993:993::/var/opt/gitlab/prometheus:/bin/sh debian-tor:x:118:127::/var/lib/tor:/bin/false fwupd-refresh:x:119:130:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin polkitd:x:992:992:polkit:/nonexistent:/usr/sbin/nologin [/code] Das ist unlesbar. Zur guten Ausgabe von [code] /etc/passwd [/code] schlage ich diesen Artikel vor: https://www.giga.de/downloads/linux-mint/tipps/linux-gruppen-und-benutzer-anzeigen-so-gehts/ oder auch diesen https://openbook.rheinwerk-verlag.de/shell_programmierung/shell_004_002.htm Beide schlagen das Programm [code] cut [/code] vor, zweiterer verweist darauf, dass die Behandlung von Zeichenketten in der Bash, sowohl vom Thema [code] sed [/code] als auch [code] cut [/code] erfüllt werden. Ich wollte [code] sed [/code] zu einem eigenen Thema machen. Ich werde dann [code] cut [/code] gleich mit einreihen. [code] cut [/code] erlaubt uns das herausfiltern bestimmter Spalten. In diesem Sinne müssen wir es aufrufen, als [code] cut -d: -f1 /etc/passwd [/code] [code] cut [/code] filtert automatisch bestimmte Spalten raus. Wie - ein Programm, dass das tut? Ja, allerdings sind wir nicht in einer Welt der Registry, sondern eine normaler Art und Weise, tabellarische Einträge zu speichern ist in [code] csv [/code] Dateien. Etwas, das wir ausserhalb von Datenbanken häufig begegnen werden. Dabei werden Daten nach dem Prinzip [code] <feld1>:<feld2>:<feld3>:... [/code] gespeichert. Insofern müssen wir uns keine Sorgen machen, wie immer, hier passiert etwas unmögliches. Das Ergebnis von: [code] cut -d: -f1 /etc/passwd [/code] ist: [code] root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody _apt systemd-network systemd-resolve tss messagebus systemd-timesync usbmux rtkit sshd dnsmasq avahi speech-dispatcher pulse saned colord geoclue sddm david systemd-coredump postfix gitlab-www git gitlab-redis gitlab-psql registry gitlab-prometheus debian-tor fwupd-refresh polkitd [/code] Wie wir sehen sind hier viele Benutzer, als die wir uns normalerweise nicht anmelden werden und auch nicht können. Interessant sind nebenbei [code] feld3:feld4 [/code] Hier wird die Nutzer und Gruppen-ID angezeigt. Helfen tut [code] cut -d: -f1,3,4 /etc/passwd [/code] und die Ausgabe lautet: [code] root:0:0 daemon:1:1 bin:2:2 sys:3:3 sync:4:65534 games:5:60 man:6:12 lp:7:7 mail:8:8 news:9:9 uucp:10:10 proxy:13:13 www-data:33:33 backup:34:34 list:38:38 irc:39:39 gnats:41:41 nobody:65534:65534 _apt:100:65534 systemd-network:101:102 systemd-resolve:102:103 tss:103:109 messagebus:104:110 systemd-timesync:105:111 usbmux:106:46 rtkit:107:115 sshd:108:65534 dnsmasq:109:65534 avahi:110:116 speech-dispatcher:111:29 pulse:112:118 saned:113:121 colord:114:122 geoclue:115:123 sddm:116:124 david:1000:1000 systemd-coredump:999:999 postfix:117:125 gitlab-www:998:998 git:997:997 gitlab-redis:996:996 gitlab-psql:995:995 registry:994:994 gitlab-prometheus:993:993 debian-tor:118:127 fwupd-refresh:119:130 polkitd:992:992 [/code] Die Ausgabe von [code] /etc/group [/code] [code] cut -d: -f1,3 /etc/group [/code] [code] root:0 daemon:1 bin:2 sys:3 adm:4 tty:5 disk:6 lp:7 mail:8 news:9 uucp:10 man:12 proxy:13 kmem:15 dialout:20 fax:21 voice:22 cdrom:24 floppy:25 tape:26 sudo:27 audio:29 dip:30 www-data:33 backup:34 operator:37 list:38 irc:39 src:40 gnats:41 shadow:42 utmp:43 video:44 sasl:45 plugdev:46 staff:50 games:60 users:100 nogroup:65534 systemd-journal:101 systemd-network:102 systemd-resolve:103 input:104 kvm:105 render:106 crontab:107 netdev:108 tss:109 messagebus:110 systemd-timesync:111 bluetooth:113 ssl-cert:114 rtkit:115 avahi:116 lpadmin:117 pulse:118 pulse-access:119 scanner:120 saned:121 colord:122 geoclue:123 sddm:124 david:1000 systemd-coredump:999 postfix:125 postdrop:126 gitlab-www:998 git:997 gitlab-redis:996 gitlab-psql:995 registry:994 gitlab-prometheus:993 debian-tor:127 sgx:128 _ssh:112 pipewire:129 fwupd-refresh:130 polkitd:992 [/code] Häufig haben die Gruppen denselben Namen wie die Nutzer. Der Nutzer [code] www-data [/code] ist in derselben Gruppe, die heisst [code] www-data [/code] Gut, jeder Nutzer hat eine [list=1] [*] Benutzer-ID [*] Gruppen-ID [/list] Was unsere Nutzer nicht sind [list=1] [*] Komplizierte Namen, wie [code] David Vajda [/code] die mit Leerzeichen getrennt stehen [*] Eine Folge von Sonderzeichen oder im amerikanischen nicht typischen Zeichen [*] Ein ganzer Datensatz von Addresse, Facebook-Kontaktdaten, Telefonnummer and so on [*] Die Nutzer sind klar erkennbar - es gibt einen sicheren Ort, wo jeder Nutzer auf zu finden ist [code] /etc/passwd [/code] und das in einer für Menschen sichtbaren Art und Weise [/list] Was die Benutzer und Gruppen-ID nicht ist [list=1] [*] Ein komplizierter Binärcode [*] Ein Eintrag in eine komplizierte Form einer Speicherung [*] Ein [code]ACCESS_TOKEN[/code] [*] Es handelt sich um eine lesbare Zahl, im Bereich von [code] 0 .. 2^16-1 [/code] [*] ... die lesbar abgespeichert wird, und trotzdem vom System als Zahl verwendet wird. [/list] Die Speicherung [code] uid:gid [/code] ist üblich. [list=1] [*] Benutzer-ID [code] uid [/code] [*] Gruppen-ID [code] gid [/code] [/list] Diese Schreibweise: [code] uid:gid [/code] begegnet uns bei [code] chown [/code] wieder. Dabei ist es oftmals egal, ob wir [list=1] [*] Den Namen [*] Die ID [/list] verwenden. Gut. Unser Mailsystem übrigens, wenn wir es aufgesetzt haben, verwendet dieselben Regeln für Namen von Nutzern und Nutzern, wie der Rest des Systems. Es gibt generell zumindest zunächst, keine Unterschiedliche Behandlung der Mailnutzer, wie der Nutzer, am Rechner. Google verwendet zur Authentifizierung seiner User, häufig die Mail-Addresse, zum Beispiel [code] dave.vajda83@gmail.com [/code] Ich behaupte, dass Google inzwischen jede Zeile des Codes, seines Mailsystems und überhaupt seines Systems durch eigene ersetzt hat. Das war sicher nicht immer so. Am Anfang hat Google, als es noch nicht war, was es jetzt ist, einfach auf ein UNIX oder Linux-System zurückgegriffen, was auch für Mails gilt. Die Anmeldung über Mail-Addressen ist nicht üblich. Allerdings über das entsprechende Webinterface machbar. Warum man normalerweise keine Nutzer in seinem eigenen Mailsystem zulässt ausser den eigenen hat oft Gründe aus dem Alltag. Das Internet wurde wie ich finde nicht wie Linus Torvalds sagt, deswegen egoistisch, weil jeder an seinem herum frickelt, sondern weil man schädigendes Verhaltne oft mals feststellt. Es ist besser eine Form des schädigenden Verhaltens zu zeigen und jedes Mal gibt es 100 Punkte. Das wird der Grund sein, warum man ausser sich selbst, wenn man kein grosser Provider ist - keine Nutzer in seinem eigenen Mail System zu lässt Gut: Wie sehen die typische [list=1] ['] [code]uid[/code] [*] [code]gid[/code] [/list] aus. Meistens sind sie beim ersten "normalen" Nutzer, vom Wert [list=1] [*][code]1000:1000[/code] bei Debian [*][code]500:500[/code] bei OpenSuSE [/list] Darauf möchte ich in diesem Artikel allerdings nicht hinaus. Die [list=1] [*] [code]/etc/passwd[/code] [*] [code]/etc/group[/code] [list] sind sicher nicht zweitrangig, weil wir es eben mit [list=1] [*] Benutzern und [*] Gruppen [/list] zu tun haben, was Teil des Themas ist, aber ich möchte: [list=1] [*] [code]chmod[/code] [*] [code]chown[/code] [/list] vorstellen. Die eine Frage richtet sich danach, [list=1] [*] Wo sind unsere Nutzer gespeichert [*] Die zweite: Wenn wir unseren eigenen Nutzer und den Nutzer [code] root:0:0 [/code] [/list] kennen. Wie können wir den [list=1] [*] Besitzer [*] Rechte [/list] einer Datei ändern. Dazu müssen wir zwei Dinge verstehen: [list=1] [*] Die Besitzer einer Datei werden mit [code] chown [/code] verändert und dazu gehören sowohl: [list=1] [*] Der Nutzer [code]u[/code] [*] Als auch die Gruppe [code]g[/code] [/list] [*] [code]chmod[/code] mit dem wir die Rechte änderun [/list] Unterscheiden wir zwischen [list=1] [*] Benutzer [code]u[/code] [*] Gruppe [code]g[/code] [/list] fällt uns gleich ein weiterer Club ein: [list=1] [*] Benutzer [code]u[/code] [*] Gruppe [code]g[/code] [*] Andere [code]o[/code] [/list] [code]o[/code] steht für [code]others[/code] und meint alle, die weder in der [list=1] [*] Gruppe des Besitzers der Datei, nämlich eines Benutzers [*] noch der Gruppe in dem dieser Eigentümer ist [/list] enthalten sind. Uns fällt auf: Die Eigentümer-Verwaltung von Dateien ist nicht besonders schwer. Es gibt keine eigene Verwaltung für [code]others[/code]. Es liessen sich zum Beispiel theoretisch gedacht, eine vielzahl von Gruppen einfallen. [code]others[/code] könnte eine bestimmte Gruppe von anderen sein, die bestimmtes dürfte und es würde wiederum eine Gruppe [code]others2[/code] geben, die wiederum anders dürfte allerdings lässt sich dieses Problem bequemer lösen, wie es UNIX und Linux auch tun, was nicht Teil dieses Artikels ist. Die Gruppenzugehörigkeit. Ein Nutzer gehört zu verschiedenen Gruppen. Diese lassen sich mit dem Kommando [code] id [/code] anzeigen. Bei [code] david [/code] erhalten wir [code] uid=1000(david) gid=1000(david) Gruppen=1000(david),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),113(bluetooth),117(lpadmin),120(scanner) [/code] Richtig ist das trotz allem nicht, denn [code] g [/code] steht im Allgemeinen nur für das, was [code] gid [/code] ist. Möchte man erreichen, dass bestimmte andere Nutzer auch etwas tun dürfen, mit der Datei, was sie von allen anderen unterscheidet, abgesehen vom Eigentümer selber müssen sie mit in der Gruppe sein, so dass die [code] gid [/code] beider identisch ist Gut: Schwer zu merken. Es gibt [code] 2x3 [/code] Es gibt drei Zeichen und eigentlich sind es vier [list=1] [*] [code]u[/code] [*] [code]g[/code] [*] [code]o[/code] [/list] Bezogen auf [code] chmod [/code] sind es 4 [list=1] [*] [code]u[/code] [*] [code]g[/code] [*] [code]o[/code] [*] [code]a[/code] [/list] Dabei stehen: [list=1] [*] [code]u[/code]: User [*] [code]g[/code]: Gruppe [*] [code]o[/code]: Others [*] [code]a[/code]: Alle [/list] Alle steht dabei nicht etwa, für [code] alle [/code] das heisst, für das, was jeder Nutzer tun kann, egal, wer es ist. [code] a [/code] für alle [code] all [/code] steht für alle Formen von Gruppenidentitäten, nämlich: [list=1] [*] [code]u[/code] [*] [code]g[/code] [*] [code]o[/code] [/list] wollen wir die Rechte sowohl für [list=1] [*] [code]u[/code]: Den Benutzer [*] [code]g[/code]: Die Gruppe [*] [code]o[/code]: Alle anderen [/list] gleichzeitig auf ein Mal so ändern, dass sowohl [list=1] [*] [code]u[/code] [*] [code]g[/code] [*] [code]o[/code] [/list] gleichzeitig alle dieselben Rechte erhalten, benutzen wir bei [code] chmod [/code] den Parameter [code] -a [/code] Jetzt haben wir 2x3 - vergessen wir [code] -a [/code] Dieses gibt es nicht. Es ist nur eine Zusammenfassung von [list=1] [*] [code]u[/code] [*] [code]g[/code] [*] [code]o[/code] [/list] Das sind die ersten drei. Jetzt gibt es weitere 3: [list=1] [*] [code] r [/code]: Lesen [*] [code] w [/code]: Schreiben [*] [code] x [/code]: ausführen [/list] [list=1] [*] Lesen [*] Schreiben [/list] sind typische Prinzipien, die uns bei der Behandlung von Dateien immer wieder begegnen. Ausführen ist ein weiteres. Im Bereich von Computern reden wir immer wieder von [list=1] [*] [code]READ[/code] [*] [code]WRITE[/code] [/list] Das tun wir unabhängig davon, ob wir ein Betriebssystem verwenden. Viele Befehle des Computers selber implizieren das. Sind wir nicht bei einer Turing Maschine und selbst da wird es so sein, werden wir bei diesem Prinzip bleiben. [list=1] [*] [code]EXECUTE[/code] oder [code]EXEC[/code] ist etwas sehr Betriebssystem spezifisches. Etwas, dass es ohne das Betriebssystem nicht gibt. Nicht als Systemaufruf. [*] [code]READ[/code] ist ohne die Implementierung von Systemaufrufen durch das OS im System implementiert [*] [code]WRITE[/code] ist ohne die Implementierung von Systemaufrufen durch das OS im System implementiert [/list] Allerdings. Lauten somit unsere Rechte [list=1] [*][code]r[/code] für [code]READ[/code] oder [code]read[/code] [*][code]w[/code] für [code]WRITE[/code] oder [code]write[/code] [*][code]x[/code] für [code]EXECUTE[/code] oder [code]exec[/code] [/list] Und unsere Clubs waren: [list=1] [*] Benutzer [code]u[/code] [*] Gruppe [code]g[/code] [*] Andere [code]o[/code] [/list] Gut mit dieser Einführung wird es schon ganz einfach, die Rechte entsprechend zu verwalten. Wenn wir [code]-a[/code] nicht vergessen [list=1] [*] [code] chmod -u [rechte] datei.xyz [/code] verändert die Rechte für den Nutzer selber [*][code] chmod -g [rechte] datei.xyz [/code] verändert die Rechte einer Datei für die Gruppe des Eigentümers der Datei [*][code] chmod -o [rechte] datei.xyz [/code] verändert die Rechte einer Datei für alle, die weder zu der Gruppe des Eigentümers gehören, noch der Eigentümer selber sind - kurz - [code] others [/code] [*][code] chmod -a [rechte] datei.xyz [/code] verändert die Rechte einer Datei für [code]u,g,o[/code] gleichermassen [/list] Jetzt ist die Frage, was die Rechte sind [list=1] [*] [code]r[/code] für [code]read[/code] [*] [code]w[/code] für [code]write[/code] [*] [code]x[/code] für [code]execute[/code] [/list] Wir hatten, die [code]2x3[/code]-Regel aufgestellt. In wirklichkeit ist es die [code]2x3+2[/code] Regel. Wenn wir [code] chmod [/code] betrachten. Die Frage ist: [list=1] [*] Erteilen wir das Recht dem Besitzer, der Gruppe oder den anderen [*] Entziehen wir das jeweilige Recht [/list] Etwas, das uns manchmal seltsamer weise immer wieder begegnen wird, ist die Unterscheidung in [code] +/- [/code] In diesem Falle ist es nicht seltsam [list=1] [*] [code]+[/code] steht für Recht hinzufügen, setzen [*] [code]-[/code] steht dafür, das Recht zu entziehen [/list] Das ist unsere [code]2x3+2[/code] Regel [list=1] [*] Clubs: [list=1] [*] [code]u[/code]: Der Eigentümer, ein Nutzer [*] [code]g[/code]: Die Gruppe [*] [code]o[/code]: Alle anderen [/list] [*] Rechte: [list=1] [*] [code]r[/code]: Lesen [*] [code]w[/code]: schreiben [*] [code]x[/code]: ausführen [/list] [*] Das was wir vorhaben zu tun [list=1] [/list] [*] [code]+[/code]: Attribut, Recht setzen [*] [code]-[/code]: Recht entziehen [/list] Ja und was passiert mit den übrigen Rechten, die zwar sind, aber nicht entzogen oder gesetzt werden? Sie bleiben. Also ein typischer Aufruf von [code] chmod [/code] dass die Rechte der entsprechenden Clubs ändert, sieht so aus [code] chmod a+rwx datei.xyz [/code] Es setzt für den Besitzer, die Gruppe, zu der der eigentümer gehört, und für alle anderen, die Rechte, Lesen, Schreiben, Ausführen. Jeder darf alles. Ich stelle nun alle möglichkeiten vor: [list=1] [*] [code]chmod u+r datei.xyz [/code]: Dem Besitzer das Recht erteilen zu lesen: [*] [code]chmod u+w datei.xyz [/code]: Dem Besitzer das Recht erteilen zu schreiben [*] [code]chmod u+x datei.xyz [/code]: Dem Besitzer das Recht geben die Datei aus zu führen [*] [code]chmod u+rw datei.xyz [/code]: Dem Besitzer die Rechte erteilen, die Datei zu lesen und zu schreiben [*] [code]chmod u+rx datei.xyz [/code]: Dem Besitzer die Rechte erteilen, die Datei zu lesen und sie aus zu führen [*] [code]chmod u+wx datei.xyz [/code]: Dem Besitzer die Rechte erteilen, die Datei zu schreiben und sie aus zu führen [*] [code]chmod u+rwx datei.xyz [/code]: Dem Besitzer die Rechte erteilen, die Datei zu lesen, schreiben und sie aus zu führen. [*] [code]chmod g+r datei.xyz [/code] [*] [code]chmod g+w datei.xyz [/code] [*] [code]chmod g+x datei.xyz [/code] [*] [code]chmod g+rw datei.xyz [/code] [*] [code]chmod g+rx datei.xyz [/code] [*] [code]chmod g+wx datei.xyz [/code] [*] [code]chmod g+rwx datei.xyz [/code] [*] [code]chmod o+r datei.xyz [/code] [*] [code]chmod o+w datei.xyz [/code] [*] [code]chmod o+x datei.xyz [/code] [*] [code]chmod o+rw datei.xyz [/code] [*] [code]chmod o+rx datei.xyz [/code] [*] [code]chmod o+wx datei.xyz [/code] [*] [code]chmod o+rwx datei.xyz [/code] [*] [code]chmod a+r datei.xyz [/code] [*] [code]chmod a+w datei.xyz [/code] [*] [code]chmod a+x datei.xyz [/code] [*] [code]chmod a+rw datei.xyz [/code] [*] [code]chmod a+rx datei.xyz [/code] [*] [code]chmod a+wx datei.xyz [/code] [*] [code]chmod a+rwx datei.xyz [/code] [*] [code]chmod u-r datei.xyz [/code] [*] [code]chmod u-w datei.xyz [/code] [*] [code]chmod u-x datei.xyz [/code] [*] [code]chmod u-rw datei.xyz [/code] [*] [code]chmod u-rx datei.xyz [/code] [*] [code]chmod u-wx datei.xyz [/code] [*] [code]chmod u-rwx datei.xyz [/code] [*] [code]chmod g-r datei.xyz [/code] [*] [code]chmod g-w datei.xyz [/code] [*] [code]chmod g-x datei.xyz [/code] [*] [code]chmod g-rw datei.xyz [/code] [*] [code]chmod g-rx datei.xyz [/code] [*] [code]chmod g-wx datei.xyz [/code] [*] [code]chmod g-rwx datei.xyz [/code] [*] [code]chmod o-r datei.xyz [/code] [*] [code]chmod o-w datei.xyz [/code] [*] [code]chmod o-x datei.xyz [/code] [*] [code]chmod o-rw datei.xyz [/code] [*] [code]chmod o-rx datei.xyz [/code] [*] [code]chmod o-wx datei.xyz [/code] [*] [code]chmod o-rwx datei.xyz [/code] [*] [code]chmod a-r datei.xyz [/code] [*] [code]chmod a-w datei.xyz [/code] [*] [code]chmod a-x datei.xyz [/code] [*] [code]chmod a-rw datei.xyz [/code] [*] [code]chmod a-rx datei.xyz [/code] [*] [code]chmod a-wx datei.xyz [/code] [*] [code]chmod a-rwx datei.xyz [/code] [/list]