AIX – wie ändere ich die Benutzer-Shell auf Bash?

AIX – wie ändere ich die Benutzer-Shell auf Bash?

Ich möchte wissen, wie ich bashes automatisch ausführen kann, wenn ich mich bei meinem AIX-Server anmelde. Wie kann ich das tun, ohne es bei bashjeder Anmeldung bei meinem AIX-Server eingeben zu müssen?

Antwort1

Normalerweise würden Sie ausführen chsh(siehe zum BeispielÄndern von Shells unter IBM AIX). Wenn es jedoch bashnicht in diesen Dateien aufgeführt ist, kann Ihr Login beschädigt werden:

  • /etc/shellsUnd
  • /etc/security/login.defs

Als Workaround können Sie das Login-Initialisierungsskript Ihrer Shell bashdirekt ausführen lassen. Das funktioniert cshbeispielsweise, wenn Ihre Shell ist, indem Sie ändern .login.

Wenn Ihre Login-Shell ist ksh, ist das etwas schwieriger: AIXs ksh verwendet .profile(was auch von anderen Shells verwendet wird) und setzt keine speziellen Variablen. So etwas könnte für Sie funktionieren, in .profile:

[ $SHLVL = 1 ] && exec bash

Sowohl KSH als auch Bash legen diese Variable fest. Sie sollte beim 1Anmelden so sein und beim Wechsel zu Bash erhöht werden.

Wenn man mit solchen Dingen experimentiert, ist eswichtigeine funktionsfähige Hülle habenAnden Remotecomputer und testen Sie die Anmeldungen über eine andere Verbindung, falls bei Ihren Änderungen ein Problem auftritt.

Antwort2

Thomas hat mich daran erinnert. Ich verwende mehrere AIX-Server und nicht alle Server haben Bash. Ich bevorzuge jedoch Bash. Ich habe dies in mein .profile eingefügt.

case $- in
  *i*)
    # Interactive session. Try switching to bash.
    if [ -z "$BASH" ]; then # do nothing if running under bash already
      bash=$(command -v bash)
      if [ -x "$bash" ]; then
        export SHELL="$bash"
        exec "$bash"
      fi
    fi
esac

Antwort3

Andernfalls verwenden Sie das Dienstprogramm „smitty user“ mit Root-Berechtigung.
Gehen Sie zu „Eigenschaften eines Benutzers ändern“.
Geben Sie den Benutzernamen ein und überprüfen Sie den Wert im Feld „Anfangsprogramm“.
Hier können Sie nach Belieben Änderungen vornehmen (/usr/bin/xxxx).

Erziehl.

verwandte Informationen