Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
public:linux-grundlagen [2023/11/16 14:49] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1public:linux-grundlagen [2023/11/16 14:49] (aktuell) – ↷ Seite von linux-grundlagen nach public:linux-grundlagen verschoben fla40246
Zeile 1: Zeile 1:
 +====== 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]]
Drucken/exportieren