Language |
|
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Nun ich hab's geschafft. Hier ist eine kleine Anleitung, mit der die
Vorzüge des MiNT noch besser ausgenutzt werden können.
Sie ist vor allen Dingen für Neueinsteiger gedacht, die MiNT nur
deshalb meiden, weil es eine Unix-Umgebung darstellt. Viele
befürchten, dass sie damit nicht zurechtkommen. Nun ist es wirklich
so, dass einige Veränderungen gegenüber dem TOS und auch DOS, welches
wohl die meisten kennen, sehr gravierend erscheinen, aber dem ist
nicht so. Unix besteht aus Dateien und Pfaden, wie jedes andere
Dateisystem auch, und oft sind für eine sinnvolle Installation und
Konfiguration gar nicht so viele Befehle nötig, wie es Anfangs den
Anschein hat. Gerade bei MiNT ist es notwendig, erst einmal das
Grundgerüst stehen zu haben, damit der Einsatz eines AES erfolgen
kann. Das ist oft schon die halbe Miete. Mit dieser HOWTO kann nun
der nächste Schritt erfolgen.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Als allererstes wieder etwas Rechtliches. Diese Anleitung dient als
Leitfaden, um einem MiNT-System eine Umgebung zu verpassen, die den
Einsatz von mehreren Usern mit eigenen Desktop - Einstellungen
ermöglicht. Das bedeutet aber auch, dass ich wieder mal keine
Garantien für eventuelle Folgeschäden übermehme. Jeder, der sich nach
dieser Anleitung richtet nutzt diese auf eigenes Risiko. Eine
Berufung auf diese Howto ist somit nicht möglich.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel |
- Seit einiger Zeit nutze ich nun meinen TT für Email und Internet.
Ja, Ihr lest richtig, Internet. Highwire ist soweit ausgereift,
dass es wirklich Spass macht, im Internet herumzusurfen.
Allerdings sollte die Sicherheit nie ausser Acht gelassen werden.
Der Einsatz von Benutzern (in Zukunft User), die eingeschränkte
Benutzerrechte haben, verhindert illegale Zugriffe auf das System,
die über einen Browser duchaus erfolgen können.
Ausserdem kann jeder User seinen persönlich eingerichteten Desktop
haben. Da werden die meisten Einstellungsdaten abgelegt, ohne dass
die entsprechenden Programme neu installiert werden. (bei mir
betrifft dies Z.B. amail und aftp) Da könnt Ihr auch mal Eure
Nachkommenschaft unkontrolliert an den Rechner lassen, ohne
aufpassen zu müssen. Müsst nur 'nen User anlegen!!
- Nun ist klar, dies hört sich aber ganz nach Linux an!!! Warum
nicht gleich Linux nehmen?? Wäre das nicht sinnvoller?
Keinesfalls!! Obwohl ich Linux favorisiere, hat MiNT durchaus Seine
Vorteile:
MiNT baut immer noch auf TOS auf!! Was sehr schnell beim
Einsatz des AES klar wird. Linux 68k hat dieses nicht. Die
grafische Console wird durch einen X-Server gestellt. Dieser hat
seine eigenen Regeln, womit der Einsatz aller vom Atari-GEM
abhängigen Programme, incl. TOS-Anwendungen, fast unmöglich wird.
Ausserdem ist der X-Server auf einem TT alles andere als schnell.
Unter Mint kann man die Vorzüge eines Unix-Systemes und des AES
verbinden, was uns am Ende wieder die gewohnte Umgebung erleben
lässt, sowie die Möglichkeit gibt, die meisten für uns gewohnten
Programme, die ohnehin schon da sind, zu nutzen.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Es ist ein laufendes MiNT (am besten EasyMiNT) notwendig. Der Start
muss über init erfolgen. Dies wird durch folgende Einträge am Ende
der mint.cnf erreicht:
cd u:\
INIT=u:\sbin\init
Nun sollte als erstes das System über eine Console gestartet werden.
dazu sehen wir uns die /etc/ttytab an.
Wichtig sind diese Einträge:
# /etc/ttytab
# Prinzipiell läuft auf der console ein normaler getty
#
# Es darf nur einer der Einträge aktiv sein!
#
console "/usr/sbin/getty console" vt52 on secure
#console "/usr/bin/n_aes" tw52 on secure
#console "/usr/bin/execgem" tw52 on secure
#console "/usr/bin/xaaes" tw52 on secure
#
Ungefähr so sollte dieser Teil der /etc/ttytab aussehen, damit ein
normaler login erfolgen kann.
Desweiteren sollten XaAES und Gemini2 Installiert sein, der Editor
QED wäre auch sehr nützlich.
Nun wäre ein Neustart nicht schlecht.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Nach dem Neustart sollte der Bildschirm ungefähr so aussehen:
root@rechnername:~>
für alle nicht-unixer: Ihr befindet Euch in der Console. Dies ist
theoretisch mit der MS-DOS Eingabeaufforderung gleichzusetzen, nur
wesentlich mächtiger. (Alle Unixer, bitte nicht steinigen!!) Mächtig,
weil ein guter Unixer mit dieser Shell eine ganze Menge anstellen
kann.
Das bedeutet, hier wird mit Befehlen gearbeitet. Bleiben wir bei der
Sicherheit. Dazu sind folgende Befehle notwendig:
- man - viel besser als help aber leider in englisch
- ls - listet die Dateien auf --> MS-DOS dir
- cd - genau wie MS-DOS cd
- groupadd - erstellt Gruppen ;Wichtig!
- groupdel - löscht Gruppen
- useradd - erstellt neuen User ;Wichtig!!
- userdel - löscht User
- passwd - stellt die Paßwörter für einzelne User ein ;Wichtig!!
- chmod - stellt die Zugriffsmodi ein ;Wichtig!!
- chown - stellt die Eigentümer (change owner) ein ;Wichtig!!
- chgrp - stellt die Gruppen (change group) ein ;Wichtig!
Es gibt noch eine ganze Menge anderer wichtiger Befehle, aber diese
sind für dieses Projekt von geringerer Bedeutung.
Wenn Ihr o.g. Anzeige habt, wird als erstes folgendes eingegeben:
root@rechnername:~> passwd
Nun werdet Ihr aufgefordert, ein von Euch frei ausgewähltes Passwort
einzugeben. Dies ist sehr wichtig. Ihr solltet es Euch gut merken,
denn der Root ist in einem Unix-System der Super-User, root darf
wirklich alles!!! Wenn Ihr Euch angewöhnt habt, als User zu starten,
das System abgesichert habt und Euer Root-Passwort vergessen habt,
bekommt Ihr keinen Zugriff auf das System, da wird's dann echt
haarig.
Nachdem Ihr das Passwort zum zweiten mal bestätigt habt, ist root
abgesichert, wenn man das so nennen darf. Abgesichert, weil der Super-
User nur noch mit dem Passwort Zugriff hat. Allerdings sollte an
dieser Stelle bedacht werden, dass es hier hauptsächlich um das
Anlegen von Usern geht, sicherheitsrelevante Massnahmen werden nur
am Rande erwähnt. Dies ist ein echtes Kapitel für sich.
Noch etwas zum AES. Für die eine oder andere Massnahme wird es
notwendig sein, das AES zu starten. Ich beziehe mich hier auf das
XaAES Ver. 0.963, da es Freeware ist. Gerade für den Editor QED ist
es erforderlich, ein funktionsfähiges AES am laufen zu haben. Mit dem
Aufruf "Laufwerk/xaaespfad/xaaes.tos" (alles kleingeschrieben, sofern
es auf einem TOS-Laufwerk liegt) sollte das AES starten. Entweder Ihr
landet im Terradesk und versucht damit klar zu kommen, oder Ihr geht
aus dem Terradesk wieder raus. In diesem Fall und wenn kein Desk
gestartet wurde könnt Ihr unter XaAES im Menüpunkt "Process->launch"
Programme starten. Es ist bequem, Gemini oder einen ausgewählten Desk
von da aus zu starten, aber auch der Editor lässt sich so starten.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Ein Unix System verwaltet verschiedene User. Dies wird durch
verschiedene Massnahmen durchgeführt. Als erstes werden den Dateien
erweiterte Attribute verwaltet. Wie sieht das nun genauer aus?
Gebt einmal folgende Befehle ein:
cd /bin
ls -l bash
Die Ausgabe sollte ungefähr so aussehen:
-rwxr-xr-x 1 root root 5410 Apr 3 2002 bash
Was ist hier passiert: Ihr habt die Datei bash mit all ihren
Attributen anzeigen lassen. Die Attribute werden folgendermassen festgelegt:
_______________ User- Modus
| ____________ Gruppen-Modus
| | _________ Gast-Modus
| | |
| | | User Gruppe Grösse letzte Änderg. Dateiname
-rwxr-xr-x 1 root root 5410 Apr 3 2002 bash
Das erste Zeichen steht für den Typ:
d bedeutet Verzeichnis(Directory)
l bedeutet Link
- bedeutet Datei
Attribute: -rwxr-xr-x
r: read der Lesen modus
w: write der Schreibmodus
x: execute der Ausführmodus(Programm, Scriptdatei)
In o.g Fall hat der User, in dem Falle root, die Lese- Schreib- und
Ausführrechte, die Gruppe, auch root, Lese- und Ausführrechte, sowie
alle anderen im System vorhandenen User die Lese- und Ausführrechte.
Na klar, die bash ist ja auch die shell.
Zusammengefasst:
-erstes Zeichen Typ
zweites bis viertes Zeichen Userrechte
fünftes bis siebentes Zeichen Gruppenrechte
achtes bis zehntes Zeichen Gastrechte.
Die Rechte werden durch Bits gesetzt. Dazu aber später.
Wozu diese Erklärung: Im Unix-Datei-System wird mit Usern und Gruppen
gearbeitet. Das bedeutet, wir kommen der Sache schon etwas näher (der
User eben). Mit den unter 3. genannten Befehlen können die User-
relevanten Einstellungen ganz entscheidend, bis hin zur kompletten
Verweigerung verändert werden. Diese Einstellungen sollten als root
verändert werden, da es sonst durchaus zu Problemen kommen kann. Aber
nicht vergessen, als root sollte man wissen, was man macht!!
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Etwas vorweg; Die Befehle, die ich hier vorschlage, können mit den
entsprechenden Optionen mehr, wen's interessiert, der kann mit dem
Befehl: "man Befehl" wesentlich mehr herausbekommen. 'man' ohne Zusatz
erklärt sich erst einmal selbst. Hier werden aber Englischkenntnisse benötigt.
Jetzt sehen wir uns die Datei /etc/group an.
Dort sind mehrere Einträge in ungefähr diesem Format aufgelistet:
Gruppe:x:501:
Die Bedeutung ist folgende: Gruppe legt den Gruppennamen fest, die
501 die GruppenID. mehr muss man hier für den Anfang nicht wissen.
(Anm. maanke: Wer mehr wissen möchte kann sich bei
MiNT-Net für Dummies informieren)
Wie erreicht man einen solchen Eintrag?
für die korrekte Vorgehensweise ist der Befehl:
groupadd -g (GID) Gruppenname
gedacht. Die GID ist eine 3-stellige Gruppen-ID die möglichst über
500 liegen sollte. Warum, werdet Ihr später erfahren.
Der Befehl "groupadd -g 501 test" hinerlässt den Eintrag:
test:x:501: in der /etc/group.
Der erste Schritt ist getan.
Nun könnt Ihr einen weiteren User anlegen. Das passiert mit dem
Befehl:
useradd -u 300 -g test -d /home/test -s /bin/bash -m test
Was bedeutet das im einzelnen:
useradd - der Befehl
-u 300 - legt die User-ID fest, nicht unter 300
-g test - zur Gruppe test
-d /home/test - Heimatverzeichnis /home/test anlegen Wichtig!
-s /bin/bash - arbeitet mit der bash als Console
-m test - letztendlich der NickName des Users im System
Nun sind alle relevanten Daten für den User angelegt. Mit "password
test" unter root wird die Passwortprozedur für User test aufgerufen,
womit dann die Unix-Umgebung für den User test komplett wäre.
Wenn Ihr jetzt die Datei /etc/password öffnet sollte ein Eintrag in
dieser Art an letzter Stelle stehen.
test:1XYfoPy7pv/c2:300:501::/home/test:/bin/bash
Die Zeichenkette hinter test: ist das verschlüsselte Passwort, es
sollte also anders als hier aussehen. Deshalb sollte sie nur für root
lesbar sein, um das auslesen durch Fremde zu verhindern.
Die 300 hinter dem 2. Doppelpunkt legt die UserID (UID) fest. Die ID
zwischen 300 und 499 sind für die User reserviert, also auch nur in
diesem Bereich für User verwenden!
Die 501 hinter der 300: legt die GruppenID (GID) fest, diese sollte
immer ab 500 losgehen. Dies ist nur die HauptID (default genannt),
ein User kann in mehreren Gruppen Mitglied sein. Dies würde aber
vorerst abschweifen, dazu muss man sich später belesen.
Hinter der 501: Zwischen diesen Doppelpunkten können
benutzerrelevante Daten eingetragen werden, hierfür ohne Bedeutung.
Danach findet Ihr das Heimatverzeichnis und die shell für den User,
ebenfalls durch ein ":" getrennt.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Ein kurzer Hinweis: Eigentlich würde es genügen, die Befehle
einzugeben, aber da es hin und wieder zu Pannen kommt, einige
Erklärungen, von denen ich selbst gehört habe, oder die mir schon
passiert sind. Dazu wird o.g. Wissen benötigt:
Mir selbst ist es schon passiert, dass ich beim Anlegen des Users vom
System angemeckert werde. Mit der Meldung unknown GID 100 (obwohl ich
diese gar nicht gewählt habe) brüllte mir die Bash einen Fehler
entgegen. Was sich aber als Irrtum erwies. Ihr solltet, so wie ich es
auch tun mußte', die /etc/password und die /etc/group überprüfen, sind
die Einträge korrekt, ist alles in bester Ordnung.
Bevor Ihr nun das Sytem neu startet, solltet Ihr das
Heimatverzeichnis überprüfen. Ist es vorhanden (wie in der
/etc/password eingetragen), so ist alles in Ordnung, aber ich habe
von Fällen gehört, bei denen dies misslungen ist. Dazu folgende
Vorgehensweise:
In das Verzeichnis /home wechseln:
cd /home
Heimatordner anlegen:
mkdir /test
neuen Benutzer festlegen:
User:
chown (username, in dem Falle test) Verzeichnis (in dem Falle test)
Gruppe:
chgrp test(neue Gruppe) Verzeichnis (in dem Falle Test)
Nun die Benutzerrechte:
chmod 700 test (verzeichnis)
Was ist im Vorhergehenden passiert:
Nach dem Anlegen des Ordners Test gehört dieser mit allen Rechten dem
User root. Dem soll ja nicht so sein.
Mit chown (change owner) wird der neue Besitzer festgelegt.
Mit chgrp (change group) wird die neue Gruppe festgelegt.
Mit chmod 700 werden die neuen Benutzerrechte festgelegt. Dabei hat
die 700 folgende Bedeutung:
Als erstes geben wir nach dieser Prozedur den Befehl:
ln -l test
ein. Die Ausgabe muss so aussehen:
drwx------ 1 test test 5410 Apr 3 2002 test
Dabei sind die ersten 10 Zeichen die wichtigsten.
Das "d" bedeutet Verzeichnis (directory) das "rwx" lesen, schreiben
und ausführen für den User. Alle anderen, mit Ausnahme des root haben
keinerlei Zugriffsrechte. Die Bindestriche verhindern dies.
Was hat das mit den 700 in chmod zu tun?
Die Zugriffsrechte werden durch einzelene Bits gesetzt. In einer
Tabelle sähe das so aus:
r w x
1 1 1
1+2+4 = 7
r steht für die Ziffer 1, w die ziffer 2 und x die Ziffer 4.
Addiert ergibt das die Dezimalzahl für den Befehl chmod.
Im einzelnen:
0 keine Rechte ---
1 nur lese-Rechte r--
2 nur schreib-Rechte -w-
3 schreib- und lese-Rechte rw-
4 nur ausführen --x
5 lese- und ausführ-Rechte r-x
6 schreib- und ausführrechte -wx
7 alle Rechte rwx
Und das ganze nun drei mal, einmal für den Nutzer, einmal für die Gruppe (0
für keine Rechte), und einmal für alle anderen(0 für keine Rechte).
Wenn das gelungen ist, kann ein Neustart erfolgen. Von nun an kann
sich der User "test" im System einloggen.
Der erste Teil ist geschafft, nun kann es an den grafischen Teil
gehen.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Nun seid Ihr das erste mal in der Lage, in abgesicherter Form im
Internet herum zu surfen. Allerdings nur mit einem textbasierten
Browser, was ja nicht gerade die Erfüllung sein sollte.
Um eines klar zu stellen, es gibt viele verschiedene Arten des AES
für MiNT, aber ich berufe mich hier erst einmal ausschliesslich auf
Freeware. Ich brauche mir kein FreeMiNT( Sparemint) installieren, um
dann einen Haufen Geld für den Rest auszugeben, das muss auch so
gehen. Und das geht auch ganz gut!! Ich habe dazu das Beste, was mir
unter die Finger gekommen ist (das ist aber Ansichtssache!!)
genommen, und was draus gebastelt.
Da wäre als erstes XaAES. Ein Freeware-AES Server, der ziemlich
stabil ist und so gut wie alle Bedürfnisse befriedigt. Dieser sollte
mit EasyMiNT mit installiert werden. Ich habe hier noch die Version
0.963, solange nicht ein neuer Kernel für EasyMiNT installiert wurde,
ist das die richtige Wahl.
Dieser sollte nun durch den Eintrag:
shell Laufwerk:\(geminipfad)\gemini.app
in der XA_EXEC.SCL realisiert werden. Was Laufwerk und Geminipfad
bedeuten, muss ich wohl nicht erst erklären. Am besten stand dieser
immer vor den letzten run-Einträgen, Beziehungsweise nach dem
allerletzten "fi". In der XA_SETUP.SCL könnt Ihr den Pfad für die
ACCs eingeben, ich habe leider noch nicht herausgefunden, wie ich
auch diesen benutzerspezifisch einstellen kann. Wenn's klappt, gibt
es hier einen Nachtrag.
Als nächstes solltet Ihr spätestens jetzt einen Link anlegen (sofern
der EasyMiNT-Installer das nicht schon für Euch getan hat), der Euch
XaAES aus jeder Position in der bash starten lässt.
Versucht erst einmal "xaaes" oder "xaload". Sollte das funktionieren,
seid Ihr schon aus dem Schneider, Ihr könnt das AES immer mit diesem
Befehl starten. Wenn nicht, solltet Ihr noch einen Link anlegen. Dazu
wechselt Ihr am besten mit "cd" in das Verzeichnis des xaaes. Ihr
solltet Euch dran gewöhnen, dass unter der bash die Laufwerke hinter
einem Slash stehen, und klein geschrieben werden. Auch der
Doppelpunkt hinter den Laufwerken muß verschwinden. Mit dem Befehl:
ln -s xaaes.tos /bin/xaaes(oder was Euch gefällt)
legt Ihr den Link xaaes(oder was Euch gefällt) in das Verzeichnis /bin . Nach einem
Neustart solltet Ihr immer in der Lage sein, das xaaes aus der bash
zu starten.
|
|
Multiuser Howto | 27.07.05 Perry Drechsel | Nun ist es fast geschafft, jetzt soll noch jeder User seinen eigenen
Desk kriegen. Vielleicht hält das mancher für Überflüssig, aber:
entweder man nimmt einen weniger-komfortablen Desk als Gemini
(Terradesk und was es sonst noch alles gibt) oder man kauft sich
einen, Jinnee. Beides habe ich für keine so gute Idee gehalten. Aus
meiner Sicht ist Jinnee durchaus besser, aber mit wenigen Handgriffen
kriege ich Gemini auf fast das gleiche Level. Wenige Handgriffe, da,
wenn einem die Icons nicht gefallen, dort was gemacht werden muss,
Interface ist da sehr gut, und was noch wichtiger ist, Gemini legt einen
eigenen home-Pfad an. Diesen übergibt er dann so an Highwire, was
mir bei der Configuration desselben fast graue Haare hat wachsen
lassen.
Wie genau stellt man das aber an? Gemini arbeitet viel mit mupfel,
dessen Einstellungsdateien aber im Gemini-Verzeichnis im Unterordner
User liegen. Diesen könnt Ihr so, wie er ist, in Euer
Heimatverzeichnis kopieren. Nur nicht als Unterordner, sondern die
Daten, die unter user liegen, kommen nun direkt in Euer home-
Verzeichnis. Der Ordner gin wird ebenfalls in das home-Verzeichnis
verschoben, wohl gemerkt der "Ordner", nicht nur sein Inhalt.
Genauer beschrieben: Ihr öffnet das Verzeichnis \GEMINI2\USER .
Dort markiert Ihr alles und kopiert es in Euer Heimat-Verzeichnis
(im o.g. Fall immer /home/test bezeichnet).
Nun ist es Gemini erst einmal möglich, die alten Einstellungen
weiterzuführen. Das geht aber erst, wenn folgende Modifikationen
durchgeführt wurden:
Im Geminiverzeichnis findet Ihr eine Datei namens PROFILE: Diese wird
geöffnet. Der Eintrag:
setenv HOME
wie auch immer dieser aussieht, muss in Zukunft so aussehen:
setenv HOME $HOME
Warum? $HOME ist die Umgebungsvariable, die MiNT an die einzelnen
Programme übergibt. In diesem Fall ist das Gemini. Gemini stellt
diese Variable nicht automatisch ein. Da der Desk aber in der Lage
ist, diese Variable einzulesen, kann er auf das Heimatverzeichnis
jedes einzelnen momentanen Users eingestellt werden. Je nachdem, wer
gerade angemeldet ist.
Der Eintrag source muss so aussehen:
source $HOME\profile
Warum? Im Gemini-Unterordner USER ist ebenfalls eine Datei PROFILE
vorhanden. Diese setzt alle restlichen Systemvariablen für
Gemini(mupfel). Der Eintrag muss erfolgen, damit Gemini diese Datei
einlesen kann.
Nach diesen Modifikationen wird Gemini alle Einstellungen in Eurem
Heimatverzeichnis auslesen, sofern diese vorhanden. Die Speicherungen
finden auch da statt. Wenn Ihr nun noch unter dem Menüpunkt
->Extras ->Programmende die Option "Status sichern" markiert, findet
Ihr den Desk immer wieder so vor, wie Ihr Ihn verlassen habt. Am Ende
habe ich noch festgestellt, dass von diesem Moment an der Papierkorb
mit Recovery-Funktion sich nicht mehr öffnen lassen wollte.
Der Eintrag:
setenv TRASHDIR "\HOME\trash\"
hat das Problem behoben. Die Benennung des Verzeichnisses(trash) ist
Eure Sache, es sollte nur vohanden sein und von keinem anderen
Programm genutzt werden, damit Ihr beim Papierkorb leeren nicht die
falschen Dateien grillt.:-( Auch das Verzeichnis mit den Temporären
Dateien solltet Ihr mit:
setenv TMPDIR "$HOME\tmp\"
in Euer Heimatverzeichnis legen. Dann kann jeder User seinen eigenen
Desk haben, ohne irgend etwas umstellen zu müssen. Wie Ihr auf den Screenshots
sehr gut erkennen könnt.
Der grüne Desk ist
vom root, der mit dem Sonnenuntergang vom User. Im gleichen Rechner.
Solltet Ihr Anregungen oder Fragen haben, dann stellt diese doch
einfach an mich unter:
perry.drechsel@web.de
Ich werde dann schauen, was ich tun kann.
Top
|
|
|
|
All pictures made with
Best viewed with
|