AIX - как изменить оболочку пользователя на bash?

AIX - как изменить оболочку пользователя на bash?

Я хочу знать, как я могу запустить bashавтоматически, когда я вхожу в свой сервер AIX. Как я могу это сделать, не печатая bashкаждый раз, когда я вхожу в свой сервер AIX?

решение1

Обычно вы бежите chsh(см. напримерИзменение оболочек на IBM AIX). Однако, если bashон не указан в этих файлах, то вы можете сломать свой вход в систему:

  • /etc/shellsи
  • /etc/security/login.defs

В качестве обходного пути вы можете заставить скрипт инициализации входа вашей оболочки запускаться bashнапрямую. Это сработает, если ваша оболочка csh, например, путем изменения .login.

Если ваша оболочка входа — ksh, это немного сложнее: ksh AIX использует .profile(который используется другими оболочками), и не устанавливает специальные переменные. Что-то вроде этого может сработать для вас, в .profile:

[ $SHLVL = 1 ] && exec bash

Эту переменную устанавливают и ksh, и bash; она должна быть 1установлена ​​сразу после входа в систему и увеличена при переходе в bash.

При экспериментировании с такими вещами, как эта,важныйиметь работоспособную оболочкунана удаленном компьютере и проверьте вход в систему с помощью другого соединения на случай возникновения проблем с внесенными вами изменениями.

решение2

Томас напомнил мне об этом. Я использую несколько серверов AIX, и не на всех серверах есть bash. Хотя я предпочитаю bash. Я поместил это в свой .profile.

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

решение3

В противном случае используется утилита 'smitty user' с правами root.
Перейдите в "Изменить характеристики пользователя".
Введите имя пользователя и проверьте значение в поле "Начальная программа".
В этом поле вы можете изменить его по своему усмотрению (/usr/bin/xxxx).

Образ.

Связанный контент