Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |
public:linux-grundlagen [2023/11/16 14:49] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | public:linux-grundlagen [2023/11/16 14:49] (aktuell) – ↷ Seite von linux-grundlagen nach public:linux-grundlagen verschoben fla40246 |
---|
| ====== Linux-Grundlagen ====== |
| |
| Grundlagen und Wissenswertes zu Linux ([[archive:Unix-Umzug_2011|ehemals Unix]]). |
| |
| ===== Dot-Dateien ===== |
| |
| Der Name einer //Dot-Datei// beginnt mit einem Punkt '.', daher diese Bezeichnung. Unter Unix/Linux entsprechen //Dot-Dateien// den versteckten Dateien unter Windows und bilden in der Regel im Home-Verzeichnis das //Profil// eines Benutzers. |
| |
| ==== C-Shell ==== |
| |
| Die //C-Shell// (''%%tcsh%%'') kennt folgende //Dot-Dateien//, die zu verschiedenen Zeitpunkten abgearbeitet werden. |
| |
| ^ beim Einloggen: ^ jede weitere Shell: ^ beim Ausloggen: ^ |
| |<WRAP> |
| * ''%%/etc/csh.cshrc%%'' |
| * ''%%/etc/csh.login%%'' |
| * ''%%~/.cshrc%%'' |
| * ''%%~/.login%%'' |
| </WRAP> |<WRAP> |
| * ''%%/etc/csh.cshrc%%'' |
| * ''%%~/.cshrc%%'' |
| </WRAP> |<WRAP> |
| * ''%%/etc/csh/logout%%'' |
| * ''%%~/.logout%%'' |
| </WRAP> | |
| |
| ==== Bourne-Shell ==== |
| |
| Die //Bourne (again) Shell// (''%%bash%%'') verwendet folgende //Dot-Dateien//. |
| |
| ^ beim Einloggen: ^ jede weitere Shell: ^ beim Ausloggen: ^ |
| |<WRAP> |
| * ''%%/etc/profile%%'' |
| * ''%%~/.bash_profile%%'' |
| * ''%%~/.bash_login%%'' |
| * ''%%~/.profile%%'' |
| </WRAP> |<WRAP> |
| * ''%%/etc/bash.bashrc%%'' |
| * ''%%~/.bashrc%%'' |
| </WRAP> |<WRAP> |
| * ''%%/etc/bash.bash_logout%%'' |
| * ''%%~/.bash_logout%%'' |
| </WRAP> | |
| |
| **Anmerkung:** Damit eine ''%%bashrc%%''-Datei auch beim Einloggen verarbeitet wird, muss diese explizit von einer ''%%profile%%''-Datei eingebunden werden. |
| |
| ===== Dateirechte ===== |
| |
| ==== Mögliche Rechte ==== |
| |
| Die Dateirechte (File Permissions) legen fest, wer was mit einer Datei machen kann. Die drei grundlegenden Rechte sind: |
| |
| r read |
| w write |
| x execute |
| |
| Die ''%%r%%'', ''%%w%%'' und ''%%x%%'' Rechte können unabhängig voneinander für |
| |
| u user/owner |
| g group |
| o others |
| |
| vergeben werden. |
| |
| ==== Rechte anzeigen ==== |
| |
| Mit dem ''%%ls -l%%'' Kommando werden Dateien mit ihren Rechten angezeigt, z.B: |
| |
| <file> |
| -rw-r--r-- 1 proske student 397 Feb 16 12:25 datei |
| -rw-r--r-- 1 proske student 1423 Feb 20 11:25 nocheine |
| -rwxr-xr-- 1 proske student 1275 Feb 16 12:25 skript |
| drwxr-xr-x 3 proske student 512 Feb 20 11:18 verzeichnis |
| </file> |
| |
| Uns interessiert nun die erste Spalte. Der allererste Buchstabe zeigt an, ob es sich um ein Directory (d) handelt oder nicht (-). Nun kommen drei dreier Gruppen, für den ''%%user%%'', die ''%%group%%'' und für ''%%others%%''. Die Reihenfolge der Flags ist immer gleich: ''%%rwx%%'', ist eins dieser Flags nicht gesetzt, so steht an seiner Stelle ein Strich: ''%%-%%'' |
| |
| Im obigen Beispiel kann ''%%datei%%'' von allen gelesen, aber nur vom Besitzer geschrieben werden. Das ''%%skript%%'' ist vom Besitzer ''%%proske%%'' und der Gruppe ''%%student%%'' ausführbar, nicht aber von anderen Benutzern und Gruppen. |
| |
| Auch für Verzeichnisse gibt es das ''%%execute%%'' Recht, das bedeutet, dass man mit dem Verzeichnis im Pfad arbeiten kann. Beispielsweise um in das Verzeichnis wechseln oder auf eine Datei mit bekanntem Namen zuzugreifen. Ohne das ''%%read%%'' Recht ist aber eine Auflistung des Verzeichnisinhalts nicht möglich. |
| |
| ==== Rechte ändern ==== |
| |
| Zum Ändern der Zugriffsrechte gibt es den Befehl ''%%chmod%%''. Die Syntax ist simpel: |
| |
| % chmod <rechte> <datei> |
| |
| === Symbolische Angabe === |
| |
| Zum Beispiel: |
| |
| % chmod +x skript |
| |
| setzt das ''%%execute%%'' Recht bei der Datei ''%%skript%%'', und zwar für Alle, den Eigentümer, die Gruppe und den Rest. |
| |
| % chmod o-x skript |
| |
| entzieht den ''%%others%%'' das ''%%execute%%'' Recht. Man kann auch alle möglichen Rechte auf einmal ändern, z.B.: |
| |
| % chmod ug+wx,o+x skript |
| |
| === Oktale Angabe === |
| |
| Eine andere Art die Rechte anzugeben ist die //oktale// Form. Dabei bildet man die logische Summe aus den Bit-Werten der Rechte. |
| |
| 0400,0200,0100 read, write bzw. execute permission für den owner |
| 0040,0020,0010 read, write bzw. execute permission für die group |
| 0004,0002,0001 read, write bzw. execute permission für die others |
| |
| % chmod ug+rwx,o+rx skript → % chmod 0775 skript |
| |
| ==== umask ==== |
| |
| Wichtig ist diese //oktale// Notation für die sogenannte ''%%umask%%'' - ein Wert der festlegt, welche Rechte einer neuen Datei **entzogen** werden sollen. So legt ein ''%%umask%%''-Wert von ''%%022%%'' fest, dass niemand das ''%%write%%'' Recht haben soll, außer dem Besitzer. |
| |
| 0777 - 0022 = 0755 → -rwxr-xr-x |
| |
| Vorgegeben wird der ''%%umask%%''-Wert beim Einloggen in einer der o.g. //Dot-Dateien//. |
| |
| ===== Man-Pages ===== |
| |
| Unter Unix/Linux kann durch das Konsolen-Kommando |
| |
| % man <befehl> |
| |
| zu fast jedem auf dem System verfügbaren Befehl die zugehörige //Manual Page// aufgerufen werden, welche den Befehl und die verfügbaren Parameter und Optionen erklärt. Diese //Man-Pages// sind auch online verfügbar, z.B.: |
| |
| * [[http://www.tldp.org/manpages/man.html|Linux Man-Pages]] bei TLDP.org |
| * Oracle (ehemals Sun) [[http://www.oracle.com/technetwork/documentation/solaris-10-192992.html#hic|Solaris Man-Pages]] |
| * [[http://docs.hp.com/hpux/os/man_pages.html|HP-UNIX Man-Pages]] |
| * [[http://techpubs.sgi.com/library/tpl/cgi-bin/init.cgi|IRIX Man-Pages]] |
| * [[http://www.gsp.com/support/man/|FreeBDS Man-Pages]] |
| * [[http://www.openbsd.org/cgi-bin/man.cgi|OpenBSD Man-Pages]] |
| * [[http://man.netbsd.org/|NetBSD Man-Pages]] |
| |
| ===== Siehe auch ===== |
| |
| * [[public:FAQ_Linux|FAQ Linux]] |
| * [[archive:Unix-Umzug_2011|Unix-Umzug 2011]] (Umstellung auf Debian-Linux) |
| * {{wiki:UnixReferenz.pdf|UNIX-Grundlagen-Referenz}} von Stefan Zimmermann |
| |
| ===== Weblinks ===== |
| |
| * [[http://de.wikipedia.org/wiki/Linux|Wikipedia: Linux]] |
| * [[http://de.wikipedia.org/wiki/Unix|Wikipedia: Unix]] |
| * [[http://de.linwiki.org/|LinWiki]] |
| * [[http://www.feyrer.de/|Homepage von Hubert Feyrer]] |
| * [[http://de.wikipedia.org/wiki/Oktalsystem|Wikipedia: Oktalsystem]] |