Я создал пользователя'user11
'в Linux и измененный его корневой каталог с помощью -d
опция, но когда я вхожу в систему с этим пользователем, это показывает'-bash-4.3$
'.
Я хочу знать:
-bash-4.3
'и почему это происходит?user11
печатает его рабочий каталог'/root
'и user12
печать'/phome/user12
'?user11
или user12
)?Concering Ваши вопросы...
- , Каково значение '-bash-4.3' и почему это происходит?
Это - используемая оболочка и ее версия.
- , почему user11 печатает, он работает, каталог, '/root' и user12, печатает '/phome/user12'?
, поскольку user11 не имеет корневого каталога (/phome/user11
) в файловой системе.
- , как я могу изменить '-bash-4.3', он - обычное значение (как user11 или user12)?
Создают корневой каталог /phome/user11
, как указано от getent
.
то, Что Вы сделали, - то, что Вы только изменили информацию, где найти пользователя homedirectory, но Вы не создали тот.
Создание нового корневого каталога для user11
cp -a /etc/skel /phome/user11
chown -R user11:1009 /phome/user11
Лучший должно было бы использовать useradd ... -m
для создания пользователя homedirectory автоматически.
Обращение к каждой из точек в свою очередь:
-bash-4.3
подсказка по умолчанию для Вас, окружают, который является ударом. Это показывает оболочку и ее версию.. Подсказка установлена переменной среды PS1
. Посмотрите настройку Bash/подсказки.
user11
имеет другое значение $PS1
к user12. Можно проверить это путем ввода echo $PS1
для каждого пользователя.
В ~/.bashrc
, для user12 добавьте строку:
export PS1="${PWD}> "
Значение этой переменной среды может быть установлено во множестве мест. Наиболее распространенные места /etc/profile
, /etc/bashrc
, ~/.bash_profile
, и ~/.bashrc
.
От установки PS? Строки постоянно
Johan Kullstam (johan19@idt.net) записи:
PS1
строка должна быть установлена в.bashrc
. это вызвано тем, что неинтерактивные удары стараются изо всех сил сбрасыватьPS1
. страница справочника удара говорит как присутствие или отсутствиеPS1
хороший способ знать, является ли каждый в интерактивном по сравнению с неинтерактивным (т.е. сценарий) сессией удара.Путем я понял, что это - это
startx
сценарий удара. то, что это означает,startx
вытрет Вашу подсказку. когда Вы устанавливаетеPS1
в.profile
(или.bash_profile
), войдите в систему в консоли, разожгите X черезstartx
, ВашPS1
уничтожается в процессе, оставляя Вас с подсказкой по умолчанию.Одно обходное решение должно запуститься
xterm
s иrxvt
s с-ls
опция вынудить их читать.profile
, но любое время оболочка называют через неинтерактивного посредника сценария оболочкиPS1
потерян.system(3)
использованиеsh -c
который, если shbash
. уничтожитPS1
. Лучший путь состоит в том, чтобы поместитьPS1
определение в.bashrc
. Это читается каждый раз, когда удар запускается и где интерактивные вещи - например.PS1
должен пойти.Поэтому это должно быть подчеркнуто это
PS1=..blah..
должен быть в.bashrc
и нет.profile
.
Подсказка удара является обширным предметом, и слишком широко обсуждать полностью здесь. Для дальнейшего удовлетворения требованиям заказчика подсказки удара см. ПРАКТИЧЕСКОЕ РУКОВОДСТВО Подсказки Bash.
Вы отметили свой вопрос adduser
но Вы, кажется, на самом деле используете useradd
: AFAIK useradd
(в отличие от этого, adduser
) не копирует скелетные файлы с /etc/skel
каталог - в частности, это не создает значение по умолчанию ~/.bashrc для нового пользователя.
Отвечать на Ваши вопросы детально:
это - приглашение оболочки удара по умолчанию, используемое в отсутствие более специализированного, которое обычно обеспечивается пользователем ~/.bashrc
файл
потому что Вы не создали корневой каталог для user11
(и ни один useradd
ни usermod -d
сделайте это для Вас),
любая копия значение по умолчанию .profile
и .bashrc
файлы от /etc/skel
в корневые каталоги пользователей, или удаляют пользователя (пользователей) и запускаются по использованию adduser
вместо этого
Посмотрите то, Что различие между adduser и useradd?