|
IRCServices Manual
|
Überlick aller Services Funktionen
|
3-1. NickName management (NickServ)
3-1-1. Core NickServ -Funktionen
3-1-2. Nickname
Verlinkung
3-1-3. E-mail
Autorisation
3-1-4. ZugriffsListe
(Access-list)
3-1-5. Diverse
Funktionen
3.2. Channel management (ChanServ)
3-2-1. Core Chanserv Funktionen
3-2-2. Channel ZugriffsListe
3-2-3. Diverse Funktionen
3-3. Memos versenden (MemoServ)
3-3-1. Core MemoServ Funktionen
3-3-2. Memos und Chaträume
3-3-3. Memo-Ignore-Liste
3-3-4. Memo - Weiterleitung
3-4 NetzWerk/Services Kontrolle und Aufrechterhaltung(OperServ)
3-4-1. Services previligierte Level
3-4-2. Core OperServ Funktionen
3-4-3. Autokills und S-lines
3-4-4. Session limitierung
3-4-5. News (Neuigkeiten)
3-5. Netzwerk statistische Sammlung (StatServ)
3-6. "Eingebauter" HTTP-Server
3-7. Passwort verschlüsselung
|
|
|
3-1-1 NickName management (NickServ)
|
IRC Services Funktionen basieren auf das Registrieren
von NickNames. Wenn Du einmal einen Namen registriert hast, werden
die Services Dich als den Besitzer des NickNames anerkennen und jeden
anderen Benutzer warnen, diesen zu nutzen;
Gegebenfalls sind die Services auch in der Lage, den Fremdbenutzer
einen anderen Benutzernamen aufzuzwingen oder ihn gar aus dem Netzwerk
entfernen.
Der "NickServ" Pseudoklient ( pseudoclient ) bietet ein Interface
in Verbindung zur NickName-Registration und Wartung. Der BenutzerName
"NickServ" kann in der modules.conf unter NickServName einstellen.
NickServ empfängt die Kommandos über /msg (messages)
Z.B.
/msg NickServ register password |
Dieses Beispiel würde NickServ den Befehl "register" senden, welcher
den jeweiligen Nick mit dem dazugehörigen Passwort registrieren würde.
Die Kommandos sind nicht "case-insensitiv" , somit ist es egal ob
man register oder gar ReGiSTeR schreiben würde.
Normalerweise registriert man seinen Benutzernamen, mit dem Register
-Befehl, sobald man ein neues NetzWerk betritt, sofern dieser noch
nicht belegt wurde.
Wenn dieser NickName nun einmal registriert wurde, benutzt man nach
jedem reconnect den so genannten identify -Befehl im zusammenhing
mit dem bei der Registrierung angegebenen Passwort , um den Services
zu übermitteln, dass man der Besitzer des Nicks ist !
Sollte ein Benutzer sich entschieden haben einen NickName nicht mehr
weiter benutzen zu wollen , kann er diesen mit dem drop -Befehl
löschen lassen. Andernfalls wird der Benutzername, nach 30 unbenutzten
Tagen automatisch verfallen.
Diese 30 Tage richten sich nach dem in der modules.conf eingetragenen
NSexpire -Wert.
Benutzer koennen ebenso ihre E-Mailadresse angeben, welche gespeichert
wird, damit IRCOPs die Benutzer bei bedarf erreichen koennen.
Mit dem setzen der NSRequireEmail Option , kann die E-Mailangabe
bei der Registration als eine Vorraussetzung geltend gemacht werden.
In Verbindung mit der E-Mailadresse kann die Zahl der Registrierungen
pro E-Mail begrenzt werden.
Diese Begrenzung findet in der modules.conf , unter NSRegEmailMax
statt.
Die List und Info Kommandos stehen zur Verfügung, um
eine Liste von vorher aussortierten NickNames anzeigen zulassen bzw.
detaillierte Informationen über einzelne Nicks.
Der List Befehl zeigt lediglich Infos, wie die zuletzt benutzte
Maske eines Nicks, also User@Host an; Der Info - Befehl
hingegen, zeigt Infos wie der zuletzt benutzte RealName oder der zuletzt
benutzte Host an.
Beispiel:
-NickServ-
Schutzgeist ist Dennis Sela
-NickServ- Ist online von: ~SG@212.202.221.134
-NickServ- Registrationsdatum: 30. Mai 19:54:03 2002 MEST -NickServ-
Letzte QUIT-Nachricht: Quit: http://www.IRC-Mania.de -NickServ-
Optionen: Chatnamen-Übernahmeschutz, Secure Option -NickServ-
/msg NickServ INFO Schutzgeist ALL für weitere Informationen
Jeder NickBesitzer kann durch die set hide Befehle selbst bestimmen
, ob andere User das Privileg haben dürfen diese Informationen über
einen abzurufen oder nicht.
Der List Befehl, kann in der modules.conf nur für IRC-Operatoren
begrenzt werden, indem man den Wert NSLISTOpersOnly setzt.
Normalerweise melden die Services nur, dass der jeweilige Nick nicht
registriert werden kann, wenn dies vorher schon von einer Dritten
Person getan wurde.
Die IRCServices hingegen bieten die Möglichkeit über die SET KILL
-Funktion, FremdNutzer /killen zu lassen, sofern sie
nach Abstreichung der Zeit versuchen den Nick weiter zu nutzen.
Wenn es der IRCD unterstützt, ist es dank der NSForceNickChange
- Funktion auch möglich, lediglich den Nick des Fremdbenutzers zu
wechseln bzw diesen zu zwingen , den nick zuwechseln.
Ein weiterer PseudoKlient wird dann den jeweiligen Nick schützen,
indem er diesen für eine gewisse Zeit einnimmt ( normal 60 Sekunden).
Dies dient dazu, dass der Missbrauch eines Nicks eingeschränkt wird.
Die "Kill"-Funktion kann sowohl nach 60 Sekunden als
aber auch nach 20 Sekunden erfolgen. Die beiden Zeitabstände
kann man mit dem set kill Befehl justieren.
Der set hide und der set kill -Befehl, sind nicht die
einzigen Set-Befehle.
Wie oben schon einmal erwähnt kann der Benutzer über die Set Funktion,
Informationen über sich preisgeben oder gar unterdrücken. Der Set
info -Befehl dient dazu sich eine INFOLine einzurichten, die per
/msg NickServ Info <NICKNAME> abgerufen werden kann.
Zudem kann man sich selbst noch eine URL oder E-Mailadresse
zuweisen, die ebenfalls, wie im vorherigen Beispiel beschrieben, abgerufen
werden kann.
Wie es die SET -Funktion gibt, gibt es natürlich auch eine
unset -Funktion , die die SET-Anweisung , wieder rückgängig
macht. Sollte die NSRequireEmail Funktion in der modules.conf
aktiv sein, ist es verständlicherweise nicht möglich , die E-Mail
zurücksetzen zulassen. Denn diese ist dann erforderlich.
Sollte der Besitzer eines NickNames bemerken, dass sein Name von einem
Fremdling benutzt wird, dann kann er den recover -Befehl benutzen,
denn dann wird der jeweilige Nick sofort vom NetzWerk getrennt oder
ggf. umbenannt.
Der release Befehl ist nützlich um den enforcer zu entfernen,
der den Nick nach einem Missbrauch für 60 Sekunden einnimmt.
Der Ghost -Befehl entfernt den Benutzer eines Nicks sofort
nach Ausfuehrung !
Dieser Befehl ist recht nützlich, wenn die eigene Verbindung abbricht
und der eigene Geist noch im Netz fest hängt. Der Enforcer
wird in dem Fall nicht aktiv;
Ein andere Befehl ist der Status -Befehl dieser kann von allen
Klienten aus, abfragen ob ein NickName identifiziert ist oder nicht.
Die Ausgabe des Befehls ist eine Zahl.
Darüber hinaus haben Services Operatoren Zugriff auf:
eines bestimmten B Nicknames sperrt
|
- den DropNick -Befehl, welcher es erlaubt jeglichen Nick
zu löschen
- den set Expire - Befehl, welcher es erlaubt Nicknames
so zu setzen, dass diese nicht mehr verfallen.
- den GetPass - Befehl, welcher das Passwort eines Channels
oder Users anzeigen lässt, sofern in der ircservices.conf
die Option ENABLEGETPASS aktiviert ist
- den Suspend- Befehl , welcher die Nutzung eines nicks
für eine bestimmte Zeit verhindert.
- Und den forbid - Befehl , welcher den Gebrauch eines
Nicks sperrt.
|
Je nach dem koennen Services Administratoren
auch den SET Befehl auf andere Nick benutzen.
Sollte in der ircservices.conf die jeweilige WallSetPass
Funktion aktiviert sein, bekommt jeder IRCOP im Netzwerk eine Nachricht,
sobald der Befehl ausgeführt wird |
|
3-1-2 NickName -Verlinkungen
|
Eine besondere Aufmerksamkeit gilt den Funktionen,
die durch so genannte add-ons, also Modulen, hinzugefügt werden.
Auch die HauptFunktionen dieser "NickName Verlinkungen" wird
durch das nickserv/link Modul zur Verfügung gestellt
Die meisten Chatnutzer wollen mehrere Chatnamen besitzen.
Zum Beispiel will ein User mit dem NickName "Alice"
möglicherweise auch Alice|away heißen, während sie im away-Modus
ist , oder gar "Alice|zzzZZZ" während sie schläft.
Da es möglich ist, jeden einzelnen NickName separat zu registrieren
, müsste sie nach jedem Nickwechsel diesen auch wieder separat identifizieren.
Auch die ChannelZugriffsListe müsste dann pro User (NickName) mehrere
Einträge verwalten. Um jedem Nick dieselben Infos hinzuzufügen, müssten
auch die URL, E-Mail und ggf die INFOLines , individuell hinzugefügt
werden .
Um dieses Problem zu beseitigen, verfügen die Services über einen
speziellen Weg, mehrere NickNames parallel zu verbinden , so dass
alle verlinkten Namen als ein und den selben Nick(owner) repräsentieren.
Dies gilt für die "Nickname last seen, address,
Real Name, QuitMessage " - Einträge, ohne größeren
Aufwand betreiben zu müssen.
NickName-Besitzer können über den link -Befehl andere unregistrierte
NickNames zu Ihrer Gruppe hinzufügen. Der unlink -Befehl bewirkt
das genaue Gegenteil.
Ein bestimmter NickName wird somit aus der Gruppe herausgenommen.
Zudem stellt der Listlinks -Befehl eine Liste von bereits verlinkten
NickNames zur Verfügung. Der mit einem * (Sternchen) markierten
NickName ist der HauptNick der Gruppe.
Man beachte das der drop -Befehl sämtliche NickNames löschen
würde, einschließlich den zudem Zeitpunkt benutzten Nick. Um einen
einzelnen Nick aus der Gruppe auszuschließen, muss der unlink
- Befehl benutzt werden.
Zudem ist noch ein Modul namens nickserv/oldlink enthalten,
welches die Verlinkung der NickNames der älteren Services steuert.
Dieses Modul soll den Benutzern der älteren IRC-Services-Generationen
nur helfen mit dem neuen Format klarzukommen. In späteren Versionen
wird dieses Module nicht mehr zur Verfügung stehen.
|
3-1-3. E-mail Autorisation
|
Um ein wenig Verantwortung in Bezug auf NickNames zu erschaffen,
koennen die Services die werdenden Benutzer dazu zwingen, Ihren
Account erst zu autorisieren.
Dies geschieht, indem man nach der NickName Registrierung einen
Nummereischen Code per e-Mail zugeschickt bekommt. Damit der NickOwner
den kompletten Zugriff auf den registrierten NickName in Anspruch
nehmen kann, hat er sich vorher dem jeweiligen Autorisierungskode
bei den Services zurückzumelden.
Dies ist eine einmalige Aktion, um die Richtigkeit der angegebenen
E-Mailadresse zu gewährleisten. Diese Funktionen basieren auf das
NickServ/mail-Auth - Modul
Wenn dieses Modul in Funktion genommen wird, läuft der RegistrierungsProzess
wie folgt ab:
|
- Der sendet den gewöhnlichen **register** Befehl zum NickServ(inkl.
Passwort und E-Mailadresse).
- Die normalen RegistrierungsChecks werden absolviert. Das heißt
es wird überprüft , ob der NickName ggf. gesperrt ist, ob die
E-Mailadresse das richtige Format hat, oder ob sich sonstige Syntax-Fehler
eingeschlichen haben.
- Eine zufällige 9stellige Zahl wird generiert und dem jeweiligen
NickName zugesprochen. Dieser wird dann ebenfalls an die gegebene
E-Mailadresse geschickt.
Die E-Mail koennte wie folgt aussehen:
Der AutorisierungsKode für den NickName (Schutzgeist) lautet:978457898
Bitte autorisieren Sie sich wie folgt : /msg NickServ AUTH 978457898
Diese E-Mail wurde von NickServ in Verbindung mit der Adresse
Schutzgeist@Schutzgeist.de Ihnen zugesandt.
- Die Services informieren also den Benutzer, dass er sich beim
NickServ mit dem zugeschickten Code autorisieren lassen muss,
bevor er den NickName endgültig benutzen kann.
- Der Benutzer sendet den Code mit Hilfe des **Auth -Befehls
an NickServ
- Die IRCServices werden diesen Code dann auf seine Gültigkeit
checken und falls dies positiv ausfällt, wird der Nick komplett
freigegeben und kann somit normal genutzt werden
|
Selbe Prozedur findet dann noch einmal statt, wenn man die jeweilige
E-Mail über den set E-Mail Befehl ändert.
Sollte es zur Zeit der Emailzusendung bei Problemen mit dem MailServer
oder sonstiges kommen, so dass man diese Mail nicht empfangen kann,
ist es möglich , eine Kopie dieser e-Mail ein weiteres mal zugesendet
zu bekommen. Die Default-Einstellungen lässt diesen so genannten
sendauth Befehl nur einmal pro Tag zu. . Diese genaue Einstellung
dieser Zeitspanne ist in der modules.conf setzbar. Der Eintrag
hierfür lautet NSSendpassDelay.
Die Services sind somit auch fähig, NickNames, die die über eine
gewisse Zeit nicht identifiziert worden sind zu droppen. Auch diese
ZeitEinstellung ist in der modul.conf, unter NSNoAuthExpire
editierbar.
Zudem haben die Services Admins noch folgende Befehle zur Verfügung,
setauth, getauth und clearauth, welche es ihnen
erlaubt,
dem Benutzer etwas entgegen zu kommen.
Sethauth generiert einen neuen AutorisierungsCode für einen
bestimmten NickName ( Benutzer), der Besitzer des Nicks muss diesen
also zum Autorisieren benutzen.
GetAuth lässt den jeweiligen Auth-Code eines NickNames zusenden.
Der ClearAuth- Befehl löscht sämtliche AutorisierungsKodes
und lässt den
jeweiligen NickName wie gewohnt benutzen, als wenn er den Auth
- Befehl genutzt hätte
|
3-1-4.Access-Liste ( ZugriffsListe)
|
In der Regel muss ein IRC-Benutzer sich beim NickServ
identifizieren, bis die Services ihm die vollen Nick-Rechte zugestehen.
Die ZugriffsListe (Access-list) "verfügen über einen Weg",
der den Benutzer erlaubt sich über seine Hostadresse ( User@Host )
zu identifizieren.
Die NickName-ZugriffsListe ( hier auch AccessListe - genannt) enthält
mehrere Masken. Diese Masken dürfen so genannte Wildcards enthalten,
vergleichbar mit der BanMaske in einem Channel, also für den Usernamen
und den HostName. Wenn ein NickName das erste mal registriert wird,
wird dieser ZugriffsListe automatisch der aktuelle Username und Host
zugewiesen.
Wenn die NSFirstAccessWild Option gesetzt wurde, wird ein Teil
des HostNames (IP) mit Wildcards belegt. Nach der Registrierung
kann jeder User selbst die ZugriffsListe einsehen bzw. verändern.
Dies geschieht dann über den access Befehl.
Die Standardeinstellung lässt den jeweiligen Nick keine besonderen
Rechte in einem ChatRaum, nur weil er auf diese bestimmte ZufriffsMaske
passt, ohne das Nick-Passwort eingegeben zu haben. Die set secure
Einstellung kann diese SicherheitsFunktion disablen.
Somit ist es dann möglich dem USER, der auf eine bestimmte NickServ-ZugriffsMaske
passt, auch ChanServ-Zugriffe zu gewähren.
Die kill Option kann benutzt werden um User die für einen NickName
keinen gültigen Access-Eintrag haben und welche sich nicht manuell
identifizieren,
automatisch killen zu lassen oder ggf. einen anderen Namen aufzwingen.
Diese Option kann über den set kill Befehl auf "quick"
oder "immediate" gesetzt werde.
Bei der "Quick-Einstellung" hat der User der einen Nickname benutzt,
indem seine Maske nicht in der AccessListe aufgeführt wird, 20 Sekunden
Zeit diesen zu identifizieren, andernfalls wird er nach abstreichen
dieser Zeit geforced (gekillt oder umbenannt).
Die Immediate-Einstellung greift sofort ein, wenn die Maske nicht
auf eine in der ZufriffsListe (Access-List) vorhanden ist.
Sollte die kill immediate Funktion aktiv sein, die Access-Liste jedoch
leer, wird niemand mehr fähig sein den jeweiligen Nick benutzen zu
koennen.
Der ServicesAdmin muss diesen Nick dann droppen.
Warnung: Sollte ein NickName-Besitzer diese AccessListe in
Anspruchnehmen und keine statische IP/host besitzen,
so sollte er bei der ZugriffsListe mit Wildcards arbeiten!
Aus port-212-202-196-252.reverse.qdsl-home.de kann man port-*.reverse.qdsl-home.de
machen.
Auch hier sei anzumerken, dass mit dieser Maske jeder qdsl-Kunde automatisch
in der ZugriffsListe steht.
Daher sollte die Secure Option immer eingeschaltet
sein, um die privilegierte Benutzung von Channel und NickOptionen
zu verhindern. |
3-1-5. Diverse Funktionen
|
|
|
|
|
|
|
|
|