$ HOME не определен для пользователя root в Ubuntu 14.04

528
Byron Hawkins

При новой установке Ubuntu 14.04 среда bash для пользователя root не $HOMEопределена. Мне нужно запустить некоторые приложения из корневой оболочки, например:

gdb /usr/sbin/apache2 

Это трудно без рабочего $HOMEкаталога, потому что приложения любят vimи gdbтребуют $HOMEв среде, и они несколько сломаны без него. Добавление

export HOME=/root 

к /root/.bashrcработам (хотя я заметил, что apache2сценарий среды отключается $HOME).

Как правильно HOME=/rootопределиться в корневой среде? Есть ли причина, по которой это не было определено? Не должен $HOMEбыть определен для пользователя root?

1

1 ответ на вопрос

2
chaos

Переменная HOME определена в / etc / passwd. Строка пользователя root обычно должна выглядеть так:

root:x:0:0:root:/root:/bin/bash 

6-е поле (разделенное двоеточием :) определяет домашний каталог и копируется в переменную среды HOME с помощью PAM ; механизм linux для аутентификации пользователей.

Спасибо - хотя у меня `/ root` в обычном месте в / etc / password. Означает ли это, что что-то выдавало команду `unset HOME`? Кажется, что переменная должна быть преднамеренно не установлена ​​в какой-то момент. Byron Hawkins 9 лет назад 0
Кажется, так. Вы можете искать `HOME` в конфигурационных файлах и скриптах rc:` grep HOME / etc / * `и` grep HOME ~ /.* `. Возможно, это покажет некоторые сценарии, которые сбрасывают / сбрасывают переменную. chaos 9 лет назад 0
Похоже, это был просто сценарий окружения `apache2`, который я должен был выполнить пару раз, не осознавая этого. Так что все в порядке с моим пользовательским конфигом в конце концов ... Byron Hawkins 9 лет назад 0

Похожие вопросы