Назад | Перейти на главную страницу

Сделайте так, чтобы все учетные записи использовали один и тот же тип Bash

На выделенном сервере мы используем оболочку, которая настраивается по-разному для разных учетных записей, что довольно раздражает. Когда я ssh в большинство пользователей я получаю:

[user@machine some_dir]$

Однако с некоторыми учетными записями я получаю:

bash-3.2$ 

Я держу много оболочек открытыми для разных машин, и есть много разных учетных записей. У меня есть возможность заставить всех быть одинаковыми ~/.bashrc, но я также считаю, что где-то в /etc

Какой самый быстрый способ убедиться, что я получаю ту же оболочку всякий раз, когда ssh?

/etc/profile является стандартным местом для общесистемной конфигурации bash в большинстве систем.

Из страница руководства bash:

PROMPTING
       When executing interactively, bash displays the primary prompt PS1 when
       it  is  ready  to  read a command, and the secondary prompt PS2 when it
       needs more input to complete  a  command. 

Лучше всего сочетать оба подхода. Баш всегда будет загружаться ~/.bashrc. Вы должны поместить стандартный файл в /etc/skel/.bashrc и ~/.bashrc что, в свою очередь, приводит к чему-то вроде /etc/bash.bashrc. (Версия в skel будут использоваться для новых учетных записей пользователей.) Поместите свои значения по умолчанию в последний файл.

Пример пользователя .bashrc:

# this line activates the system-wide default settings
. /etc/bash.bashrc

# users can add any custom .bashrc settings here

пример /etc/bash.bashrc на основе моей подсказки:

G='\e[1;32m'
R='\e[1;31m'
Y='\e[1;33m'
N='\e[0m'
PS1='\A \['$G'\]\u@\h \['$Y'\]\w\['$N'\] \$ '

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