* Marita Betz schrieb am 03.Jan.2003:
/dev hda1 /windows/C vfat noauto,user 0 0 (diese habe ich jetzt so in meine fstab eingetragen nachdem der Test mit mount -tvfat -oro /dev/hda5 windows/D geklappt hat.
und eimal eine länger Ausführung von Marcel
/dev/hda1/windows/C vfat noauto,users,gid=users,umask=0002,iocharset=iso8859-1,code 437 0 0 ^^^ da kann was nicht stimmen. Da muß doch bestimmt code=437 stehen, da das Leerzeichen als Trenner zwichen den einzelnen Felder der /etc/fstab steht, und code 437 als Ganzes zu den Options gehört.
In der fstab darf kein Leerzeichen zuviel stehen.
Jetzt weiss ich nicht so genau, welche Version ich nehmen soll. Was ist unter users zu verstehen? Ist users eine Gruppe, wenn ja diese Gruppe habe ich nicht.
users ist die Standardgruppe, die jeder neue User bekommt. Hast Du da was verändert? Dann muß Du aufpassen, da Dokumentation oft davon ausgeht, daß diese Gruppe existiert. Besonders hier auf der Liste. Warum existiert denn bei Dir diese Gruppe nicht? Oder arbeitest Du nur als root? root gehört üblicherweise nicht der Gruppe users an. Kann es sein, daß Du Dir noch gar kein User angelegt hast und immer mit root arbeitest? Dein Dateisystem kanst Du nur mit root ändern, auch die Datei /etc/fstab, aber für Deine alltägliche Arbeit solltest Du Dir ein User anlegen. Siehe auch weiter unten.
Was bedeutet umask=0002, Ich habe im Buch Linux von Addison-Wesley Verlag schon nachgelesen, dass umask=.. Option einen liberaleren Zugriff ermöglichen soll, doch so genau verstehen tu ich das nicht. Ist das vielleicht gut, wenn mehrere Personen auf den Rechner zugreifen (Server, Clients)?
Das ist ein wenig komplizierter. Um das zu vestehen, muß ich ein wenig länger ausholen. Linux ist ein Muliuser und Multitasking Betriebssystem, und zwar durch und durch. Das heißt, es können mehere User auf einem Rechner arbeiten, auch gleichzeitig. Natürlich müssen dazu die physikalischen Gegebenheiten vorhanden sein. Sei es in Form eines Netzwerkes, oder auch wenn Du noch ein echtes Terminal auftreiben kanst. Wie dem aber auch sei. Die Softwaremäßige Möglichkeiten hast Du. Nacheinander geht es allemal. Bei einem Multiuser Betriebssystem ist es aber wichtig, daß nicht jeder alles darf. Es wäre ja unschön, wenn Du eine Datei schreibst, und Dein Kollege (ich gehe hier einfach mal von einer betrieblichen Umgebung aus) könnte einfach Deine Datei ändern. Vielleicht soll er sie ja noch nicht mal lesen können. Daher hat jede Datei in einem Linuxsystem einen Besitzer, eine Gruppe, die sie zugeordnet ist, und die sogenannten Rechte. Diese Rechte gibt es getrennt für Besitzer, Gruppe und alle anderen. Es gibt Schreibrecht, Leserecht und Ausführrecht. Wer das Schreibrecht hat, darf eine Datei verändern, wer das Leserecht hat, darf eine Datei lesen, und wenn eine Datei ausführbar ist, darf derjenige die Datei ausführen, der das Ausführrecht hat. Dem Besitzer einer Datei interessiert nur die Rechte des Besitzers. Wenn der Besitzer kein Schreibrecht hat, dann darf der Besitzer nicht schreiben, auch wenn er der Gruppe der Datei angehört, und die Gruppe das Schreibrecht hat. Das ist in diesem Fall egal. Die Gruppenrechte interessieren nur dann, wenn jemand nicht der Besitzer ist, aber zur Gruppe gehört. Eine Datei kann nur zu einer Gruppe gehören, aber ein User kann zu meheren gehören. Die Rechte der Übrigen kommen dann zu tragen, wenn der User weder der Besitzer ist, noch zur Gruppe der Datei gehört. Darüberhinaus gibt es einen Superuser, der üblicherweise root heißt, und daher hier meißt root genannt wird. Dieser Superuser, oder root, darf alles. Ihm interessieren die Rechte nicht. Er darf jede Datei lesen, schreiben und ausführen, falls sie ausführbar ist. Eine Datei ist ausführbar, wenn mindestens einer der Drei: Besitzer, Gruppe oder andere, sie ausführen dürfen. Bei Linux ist alles eine Datei, auch Geräte und auch die Verzeichnisse. Geräte verhalten sich den Rechten nach, wie eine normale Datei. Ein Verzeichnis lesen darf nur derjenige, der das Leserecht auf dem Verzeichnis hat. Verändern nur derjenige, der das Schreibrecht hat. Immer wieder kommt es zu Verständnisproleme mit dem Löschen einer Datei. Wenn man eine Datei löscht, dann verändert man nicht dessen Inhalt, sondern das Verzeichnis. Daher braucht man kein Schreibrecht für die Datei, um sie zu löschen, sondern das Schreibrecht des Verzeichnisses, in der sie steht. Eine Datei kann ja auch per Hardlink in meheren Verzeichnissen stehen. All das oben Beschriebene wird vom Kernel überwacht. Wenn man eine Datei beschreiben will, zu der man kein Recht hat, so verweigert einem das der Kernel, wenn man es trotzdem versucht. Daher gibt es keine Möglichkeit dies zu umgehen. Es sei denn, man wird jemand anderes. Allerdings gibt es Programme, die zusätzlich die Rechte überwachen. So ziert sich vi ein wenig, wenn man als root mit ihm eine Datei schreiben will, aber keine Rechte dazu hat. root braucht keine Rechte, der Kernel ließe root auf jeden Fall eine Datei schreiben, aber vi schaut nach und sagt: Du hast kein Recht. Da muß man schon was Druck machen. (:w!) Diese Rechte sind ja wunderschön, aber wie werde sie Dargestellt. Wie erkennt man welches man hat und wie ändert man diese? Wenn man ls -l aufruft, so werden als erstes die Rechte angezeigt, und zwar in der Form: -rwxrwxrwx wobei r read für lesen steht, w write für schreiben und x execute für ausführen. Und zwar das erste rwx für den Besitzer, das zweite rwx für die Gruppe und das dritte rwx für alle Übrigen. Wenn jemand keine Rechte hat, dann wird der jeweilige Buchstabe durch ein - ersetzt. Das erste - steht übrigens für den Dateityp. Bei einem Verzeichnis directory steht hier ein d, bei einem Sym. Link ein l Üblicheweise sieht das so aus: -rw-r--r-- Das heißt, Nur der Besitzer darf schreiben, die anderen, also Gruppenangehörige und alle Übrigen nur lesen, nicht aber schreiben. Ausführen darf keiner, es handelt sich somit nicht um eine ausführbare Datei. Ein Verzeichnis sieht etwa so aus: drwxr-xr-x auch hier darf nur der Besitzer verändern, die übrigen nur lesen. Das Auführrecht in einem Verzeichnis hingegen ist wichtig. Wenn man es nicht hat, dann kann man in diesem Verzeichnis nichts machen, auch keine Datei, die sich in diesem Verzeichnis oder einem Unterverzeichnis befindet lesen, schreiben oder ausführen. Man kommt an die Datei nicht mehr heran. Ein ganzer Ast des Verzeichnisbaums ist für einem Unzugänglich. Bei ls -l steht nach den Rechten die Anzahl der Hardlinks auf einer Datei. Wobei die Originaldatei mitgezählt wird, denn es besteht bei Hardlinks keinen Unterschied zwichen Originaldatei und Link. Diese Zahl ist somit größer oder gleich 1. Nach dieser Anzahl steht der Besitzer (user) und die Gruppe. Neben der rwx Darstellung, wie sie ls -l benutzt gibt es noch eine Octalzahldarstellung. Hier stehen Octalziffer für die Rechte. Und zwar die erste Ziffer für den Besitzer, die zweite Ziffer für die Gruppe und die dritte Ziffer für alle übrigen. Die Ziffer hat folgende Bedeutung: 4 steht für lesen, 2 für schreiben und 1 für ausführen. Die Rechte, die jemand hat, werden einfach addiert. Hier steht etwa 6 für lesen und schreiben, 5 für lesen und ausführen und 7 für alle drei Rechte. 0 steht für kein Recht. Übliche Rechte sind somit 755 für ausführbare Dateien und 644 für nicht ausführbare Dateien. Es kommt aber auch 775 bzw. 664 sowie 750 bzw. 640 und 770 bzw. 660 vor. Wenn Du mal, in diesem Zusammenhang, eine vierstellige Octalzahl siehst, so steht die erste Ziffer für Sonderbits, (SUID) auf die ich hier nicht eingehe. Interessant sind die letzten drei Ziffer. Die zweite Ziffer steht für den Besitzer, die dritte für die Gruppe, die vierte für alle übrigen. Man kann auch die rwx Darstellung als eine Binärzahl auffassen. Dabei steht ein Eintrag, egal ob r, w oder x für eine 1 und ein - für eine 0. Jedes Zeichen für sich. Wenn man nun diese Binärzahl in eine Octalzahl umwandelt, so erhält man die Rechte in Octalzahldarstellung. So, jetzt kommen wir zu Deiner umask. umask gibt es in zwei recht verschiedene Zusammenhänge. Sie haben aber eins gemeinsam, daß der Wert für genau die Gegenteilige Rechte stehen. Das heißt umask + rechte = 777 Zum Beispiel ergibt die umask 022 die Rechte 755 Zum einen braucht die shell die umask, wenn sie neue Dateien anlegt. Hat sie die umask 022 und legt ein neues Verzeichnis an, so hat dieses Verzeichnis folglich die Rechte 755. Das gleiche, wenn etwa mit gcc eine ausführbare Datei angelegt wird. So hat auch diese Datei das Recht 755 oder rwxr-xr-x. Eine normale Datei, die man etwa mit dem vi anlegt, hat aber keine Ausführrechte, so daß zu der umask noch 111 hinzuaddiert wird. Dadurch bekommt die Datei das Recht 644. So, nun aber endgültig, zu Deinem umask. All die Rechte, die für Linux so enorm wichtig sind, und es auch so sicher macht, gibt es für Windows Dateisysteme nicht. Linux braucht aber nun mal Rechte. Also bleibt nichts anderes übrig, als alle Dateien und Verzeichnisse des Windows Dateisystem die gleiche Rechte zu geben. Dazu dient die umask-Option im Mountbefehl. Alle Dateien des Windows Dateisystem bekommen als Besitzer den Besitzer, der mit der Option uid angegeben wurde, oder desjenigen, der den mount-Befehl ausführt. Alle Dateien bekommen die Gruppe, die mit der Option gid angegeben wurde, und die Rechte, die sich mit umask ergeben. Das dafür die umask gewählt wurde, die alles umgekehrt angibt, ist leider so.
Noch eine Frage. Muß ich die Windows Partionen wieder umounten wenn ich Sie gemountet habe?
Hm, da hast Du mich ein klein wenig auf den flaschen Fuß erwischt. Aber wenn ich die manpage zu umount richtig verstanden habe, dann wird mit umount -a, der beim shutdown ausgeführt wird, alle Partitionen, die gemountet sind geumountet. So auch die gemounteten Windowspartitionen. Generell ist es aber bei Linux wichtig alle Partitionen, zumindest alle die read/write sind, wiede zu umounten, bevor der Rechner ausgeschaltet wird. Dies hat eine einfache Bewandnis: Linux schreibt nicht unbedingt alles was es vorgibt zu schreiben direkt auf Platte, sondern erst mal in den Hauptspeicher. Dies hat eine Menge Vorteile: Die Zugriffszeiten auf dem Hauptspeicher liegen im Nanosekunden-Bereich (ns) während die Zugriffszeiten einer Festplatte im Millisekunden-Bereich (ms) liegt. Eine Millisekunde hat aber eine Millionen Nanosekunden. (sic!) Der Hauptspeicher ist somit ungefähr Millionenfach schneller als eine Festplatte. Somit wird erst mal auf den Hauptspeicher abgelegt und weiter gemacht. Es muß nicht gewartet werden, bis der Schreibkopf der Festplatte an der richtigen Stelle ist. Das verbraucht nämlich den Bärenanteil der Festplattenzugriffszeit. Wenn denn mal der Schreibkopf zufällig an der richtigen Position ist, dann wird wirklich geschrieben. Ok, das braucht dann immer noch mehr als die Zugriffszeit auf dem Hauptspeicher und geschrieben werden muß ja irgenwann mal. Daher ist die Gesamtbilanz sicherlich nicht Millionenfach schneller, aber doch erheblich schneller. Daher ist das Schreiben bei Linux wesentlich schneller als bei Windows. (Glaube ich jedenfalls. Ich weiß nicht ob M$ da mitlerweile auch was anders macht.) Es gibt auch noch andere Vorteile. So kann es sich Linux leisten, die Blöcke immer schön hintereinander zu schreiben, so daß eine Datei möglichst schnell gelesen werden kann. Mit anderen Worten, es wird wenig Fraktioniert und es braucht daher auch nicht aufgeräumt zu werden, da von vorneherein die Dateien möglichst günstig liegen. Zumindest, wenn die Partition nicht zu voll ist. Trotzdem rattert da Laufwerk nicht so, da nicht wie wild hin und her positioniert wird. Das ist nicht nur leiser, das Laufwerk wird auch geschont. Eine weitere Konsequenz ist, daß etwa top immer ein fast voll ausgelastetes Memory anzeigt. Das liegt meist am hohen cach-Anteil. Der cach ist der Bereich des Speichers, in dem die Dateien geschrieben werden, die noch nicht auf der Platte stehen. Wenn die Prozesse mehr Speicher brauchen, so wird dieser ihnen vom Kernel zur verfügung gestellt, und der cach wird geleert, indem die Dateien auf Platte geschrieben wird. Das Schreiben auf Platte erledigt, wie alle anderen Hardwarezugriffe auch, der Kernel selber. Der User kann nicht feststellen, ob eine Datei schon auf Platte geschrieben wurde oder sich noch im cache befindet. root kann aber mit dem Befehl sync veranlassen, daß alle Dateien im cache auf Platte geschrieben werden. Ist aber fast nie nötig. Beim umounten wird selbstverständlich auch erst alles auf Platte geschrieben. Bei all den Vorteilen, die dieses Verfahren hat, so hat es doch auch einen Nachteil. Wenn der Rechner, etwa durch einen Stromausfall, abstürzt, so kann nichts mehr, was im cache steht auf Platte geschrieben werden. Und beim normalen herunterfahren müssen alle Partitionen vorher geumountet werden. Daher gilt bei Linux noch mehr, als bei Windows, niemals Rechner einfach ausstellen. Allerdings muß man auch sagen, daß ja in wenigen Millisekunden alles auf Platte steht. Die Dateien stehen mithin höchstens wenige Sekunden im cache, bevor sie auf Platte geschrieben werden. Nicht Minuten oder gar Stunden.
Ja, es stimmt ich bin in dieser Beziehung ein Anfänger, obwohl ich ein Anfängerkurs für Linux schon gemacht habe.
Das ist ja mal interessant. Ich hoffe, eine gute Grundlage.
Ihr habt ja recht mit dem Hinweis auf die man-Pages. Ich habe mir die man-Page zu fstab auch schon kurz angeschaut, werde daraus aber nicht ganz schlau.
Die man-Page zu fstab ist nicht ohne die manpage zu mount zu verstehen. die fstab ist, wie gesagt, eine Vereinfachung für den Mountbefehl. Erst wenn man Verstanden hat, wie man von Hand mountet, kann man auch die fstab verstehen. Natürlich muß man dazu nicht den Mountbefehl bis in der kleinsten Kleinigkeit verstanden haben. Aber das ist bei manpages immer so.
Ich habe immer ein Zeitproblem. Als Mutter eines kleinen Kindes hat man halt leider nicht immer die Zeit, sich stundenlang man-pages usw. durch- zu studieren. (Nichts für ungut).
Nimm Dir Zeit. Du mußt ja nicht alles in einer Woche verstanden haben. Was sowieso nicht funkioniert. Du mußt auch lernen mit den manpages usw. umzugehen. Das braucht auch Zeit. Bei Linux gibt es viel zu lernen, und das benötigt nun mal Zeit. Aber nicht nur Zeit zum Lesen, sondern auch Zeit zum Sackenlassen. Ein Lehrbuch, egal welches, zu lesen und dann alles zu wissen geht nicht. Man muß es Abschnittsweise lesen, sacken lassen, evtl. noch mal lesen, weiter lesen, merken, daß man was noch nicht so verstanden hat, das denn nochmal lesen und immer wieder sacken lassen. Und gut ist immer noch ein zweites Buch, von einem anderen Autor, daß ganz anders aufgebaut ist, eine ganz andere Sichtweise hat. Gilt wie gesagt für jedes Lehrbuch. Daher ist Dein Kind in zeitlicher Hinsicht und im Bezug auf der Lernkurve kein Hindernis, denn es ist gut, wenn Du zwichendurch was ganz anderes machst. Gilt natürlich nur, solange Du Dir Deine Zeit frei einteilen kannst und Du nicht gedrängt wirst. Mit Kind dauert es nicht wesentlich länger als ohne. Über vieles muß man eine Nacht geschlafen haben. Man hat nur eine begrenzte Aufnahmefähigkeit. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12