Alle Studierenden, die sich auf einen Poolrechner oder über Clientssh anmelden, bekommen als Login Shell die Bash zugewiesen. Nun gibt es wie so häufig im Unix/Linux Umfeld auch Alternativen und diese lassen sich auf drei Wegen verwenden:
Um eine andere Shell zu testen, genügt es einfach:
benutzername:$ /usr/bin/zsh
aufzurufen. Mittels „exit“ kann man diese Umgebung wieder verlassen.
Eine andere Möglichkeit dies etwas dauerhafter zu gestalten, ist es diesen Aufruf in die Datei (die es meistens noch nicht gibt) ~/.bash_login
zu schreiben. Dieses Script wird immer dann ausgeführt, sobald man sich einloggt, wobei nicht immer der Login gemeint ist, bei dem Username und Kennwort abgefragt wird.
Eine bessere Lösung ist es die Standardshell in den eigenen Userdaten selbst zu ändern. Dafür gibt es normalerweise das Kommando „chsh“. Da die Informationen über jeden RBG/ISP Account aber nicht in der Datei /etc/passwd (die Benutzerdatenbank) verwaltet werden, sondern im LDAP der RBG/ISP, gibt es für das Kommando „chsh“ keinen Weg, diese Information dort zu ändern. Die RBG/ISP stellt daher das Kommando „/usr/local/bin/chsh.ldap“ zur Verfügung, welches diese Information (loginShell) anpasst.
$chsh.ldap /bin/zsh Enter LDAP Password: modifying entry "uid=testds,ou=people,ou=RBG/ISP,dc=informatik,dc=tu-darmstadt,dc=de"
Beim Aufruf wird das Kennwort des RBG/ISP Accounts abgefragt. Stimmt das Kennwort überein, wird die LoginShell im LDAP Server hinterlegt. Prüfen lässt sich dies ganz einfach:
$ getent passwd testds testds:x:14979:4000:Testds7 Foobar7:/export/files/disc05/users1/testds:/usr/bin/zsh
Statt „testds“ ist der eigene RBG/ISP Loginname zu verwenden.
Sollte immer noch die alte Shell dort aufgeführt und beim Ändern kein Fehler aufgetreten sein, so liegt das schlicht am Cache des jeweiligen Rechners, um den LDAP Server zu entlasten. Der Cache wird erst nach ein paar Minuten aktualisiert.
Daher gibt es noch einen alternativen Weg, dies zu überprüfen:
ldapsearch -x -LLL uid=testds loginshell dn: uid=testds,ou=people,ou=RBG/ISP,dc=informatik,dc=tu-darmstadt,dc=de loginShell: /usr/bin/zsh
Mit dem Kommando „ldapsearch“ kann der LDAP Server direkt abgefragt werden und lasse nur das Attribut „loginshell“ anzeigen. Wie man sieht, wurde die neue Shell gesetzt.
Auf den Poolrechnern sind unter anderem folgende Shells vorinstalliert: