Установите оболочку по умолчанию как bash для пользователей, не находящихся в / etc / passwd

В настольной системе Ubuntu 15.10 моей компании я вхожу в систему через Active Directory, используя некоторую магию, основанную на PBIS . Таким образом, моя учетная запись пользователя не указана в / etc / passwd, хотя у меня есть домашний каталог в /home/local/FOOBAR/dotancohen/ . Как настроить bash как оболочку, когда нет строки / etc / passwd для редактирования и поэтому не может использовать chsh ?

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

Ниже приведены результаты нескольких ключевых команд, запускаемых с открытия терминала Gnome в Unity (рабочий стол Ubuntu):

 $ echo $HOME /home/local/TECHMARKETING/dotan $ whoami FOOBAR\dotancohen $ grep dotan /etc/passwd $ grep sourced ~/.profile echo 'sourced .profile' $ grep sourced ~/.bashrc echo "sourced .bashrc" $ echo $SHELL /bin/sh $ echo $TERM xterm $ bash sourced .bashrc - dotan-tm():~$ echo $SHELL /bin/sh - dotan-tm():~$ echo $TERM xterm-256color 

Как видно, оба .bashrc и .profile эхо, когда они были получены. Кажется, что .profile не запускается при запуске оболочки по умолчанию, но .bashrc запускается при запуске bash. Я использовал этот ответ, чтобы открыть bash из тире, но поскольку .profile не запускается, очевидно, что скрипт не имеет никакого эффекта.

Вот мой полный файл ~/.profile для справки:

 $ cat .profile # ~/.profile: executed by the command interpreter for login shells. # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login # exists. # see /usr/share/doc/bash/examples/startup-files for examples. # the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask # for ssh logins, install and configure the libpam-umask package. #umask 022 # if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin if it exists if [ -d "$HOME/.bin" ] ; then PATH="$HOME/.bin:$PATH" fi xmodmap ~/.Xmodmap export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 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" -l fi fi esac echo 'sourced .profile' $ 

One Solution collect form web for “Установите оболочку по умолчанию как bash для пользователей, не находящихся в / etc / passwd”

Используя PBIS, вы можете определить оболочку по умолчанию для всех пользователей:

 #/opt/pbis/bin/config LoginShellTemplate /bin/bash 

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

  • добавление звука из файла воспроизведения в поток микрофона
  • код возврата obexftp 97
  • почему вывод xargs -n2 применяется к тому же количеству аргументов, различающихся по каналам или с клавиатуры?
  • передача нескольких аргументов через трубу
  • Названия stdin / stdout в BASH?
  • Barebone Linux Bluetooth-соединение
  • Определите медленный прыжок при загрузке видео
  • Как я могу сделать исполняемую программу всюду
  • Цветной, пронумерованный, paged git diff
  • Неожиданная обратная косая черта при преобразовании из шестнадцатеричного в двоичное число
  • zsh - проверить аргументы команды перед ее выполнением
  • Interesting Posts

    Что такое «Все оболочки и программы, которые используют вызовы библиотеки exec * p, обрабатывают поиск»?

    Перенаправить вывод ошибки grep в файл

    Я определил макрос в файле .netrc, но когда я его выполнил из ftp, он говорит: «макрос не найден»,

    Как создать пользовательские правила Vsync для «Комптона»?

    Сжатие KUTE генератора трафика 1.4 на Fedora Core 5

    apparmor: разрешения mysql – без последних изменений

    Slingshot больше не отвечает на Super + Space

    Использование головы и хвоста для захвата различных наборов строк и сохранения в один файл

    Конфигурация /etc/pam.d

    Рекомендации по распространению флэш-дисков USB

    Можно ли разрешить загрузку полосы пропускания на «IP» с использованием `tc`,` htb` и `iptables`? (Ограничение загрузки не требуется)

    Что должно быть в файле / etc / shadow, если я хочу, чтобы моя учетная запись root была отключена?

    Установка Linux на Luks-over-LVM

    Распечатайте длинный IPv6 интерфейса

    Ошибки жесткого диска

    Linux и Unix - лучшая ОС в мире.