Итак, когда я вхожу в систему как root в моем терминале, используя sudo , sudo -i или su я получаю:
[dash@localhost IN => ~]$ su
Password
[root@localhost IN => /home/dash]$ (обратите внимание на $ вместо # , это может быть ошибка, которую я допустил при редактировании .bashrc & .bashprofile) (хотя последняя часть моего .bashrc - \$)

Теперь, когда я редактирую .bashrc & .bash_profile (как root), я вижу изменения, только если я root . Когда я закрываю терминал и снова открываю его, изменения исчезают. Однако, если я войду в систему как root , изменения появятся снова. Возможно ли, что есть 2 .bashrc и 2 .bash_profile s? Если так, значит ли это, что я изменил их только для пользователя root?

На другом компьютере я изменил .bashrc и .bash_profile как обычный пользователь (не root). Изменения появились только тогда, когда я НЕ был root. Я слышал, что один из этих двух файлов предназначен для обычного терминала, а другой - для оболочек. Если да, то почему изменения появились только тогда, когда я не был пользователем root, хотя я поместил один и тот же код в оба файла, а не прибегал к if ~/etc/.bashrc... ? (при условии, что корень является оболочкой)

1 ответ1

0

Прежде всего следует отметить, что для каждого пользователя есть отдельный файл .bashrc включая root.

В первом случае, когда вы использовали команду su вы становитесь пользователем root, текущим каталогом которого является /home/dash . Если вы выполните echo $HOME то обнаружите, что это /root а если вы редактируете файл .bashrc то редактирование этого файла в каталоге /root означает, что вы редактируете файл .bashrc для пользователя root. Таким образом, эти изменения появятся только когда вы войдете как root, а не как обычный пользователь.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .