| 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]] |