У меня есть текущий/home/user/каталог для ~, но я хочу изменить его, чтобы быть в/user/home/
/user/home уже существует.
Опция использования usermod
движение не должно работать, потому что у меня нет доступа к системе как корень или как другой пользователь.
Я прошу решение вроде изменения некоторого .bashrc файла и изменения некоторой переменной среды или чего-то подобного. Я регистрируюсь на пути ssh.
Я запускаю Ubuntu 14.04.
Заранее спасибо
Решения как те ниже, к сожалению, не применимы к моему случаю:
Как изменить мой собственный корневой каталог?
Как изменить мой корневой каталог по умолчанию
https://stackoverflow.com/questions/20797819/command-to-change-the-default-home-directory-of-a-user
Править
Я думал, что дам еще некоторую информацию здесь, а не отвечу на комментарии.
В настоящее время структура папок является намного более странной, чем мой пример выше, но jist его является тем же. Т.е. в настоящее время когда я делаю:
user@local:~$ ssh user@host
Я заканчиваю в:
user@host:~$
user@host:~$ pwd
/path/of/current/home/
таким образом, когда я использую вещи как pip
с --user
тег это установит вещи локально.
Поскольку существуют некоторые ограничения памяти, а также ssh
проблемы с записью в то местоположение (через какое-то время я больше не могу писать) я хотел бы иметь следующее поведение:
user@local:~$ ssh user@host
user@host:~$
user@host:~$ pwd
/path/of/new/home/
/path/of/new/home/
уже существует и не установили ограничения выше.
Ну, Вы могли просто добавить эту строку к Вашему ~/.profile
1:
HOME=/user/home/
Однако это действительно не хорошая идея. Проблемы, которые это вызвало бы, включают (но вероятно не ограничены):
Это будет только работать если /home/user
принадлежит Вашему пользователю. Если это не будет, то Вы даже не сможете войти в систему.
Это будет работать на Вашего пользователя только. Для всех остальных Ваш корневой каталог будет тем, что хранится в /etc/passwd
. Это означает это, например, cd ~user
перестанет работать. Другими словами, если я вхожу в систему как bob
и bob
имеет строку HOME=/home/bob/foo
в ~/.profile
, затем bob
думает, что его корневой каталог /home/bob/foo
но никто больше не знает что:
$ whoami
bob
$ echo $HOME
/home/bob/foo
$ cd ## this moves to your $HOME
$ pwd
/home/bob/foo
Пока все хорошо. Но:
$ whoami
terdon
$ cd ~bob
$ pwd
/home/bob
Это будет управлять Вашим безумным системным администратором. Вы не хотите возмущать своего системного администратора для Вас, являются хрустящими и имеют приятный вкус с кетчупом.
В любом случае это редко - хорошая идея смешать с переменными как $HOME
, это может часто иметь непреднамеренные последствия. Вместо этого намного более чистое решение состояло бы в том, чтобы удостовериться, что каждая новая сессия оболочки запускается в целевом каталоге. Просто добавьте эту строку к Вашему ~..bashrc
:
cd /user/home/
Теперь, каждый раз Вы log2 в или открытый терминал, Вы окажетесь в /user/home
.
1 Или ~/.bash_profile
если это существует.
2 Входят в находящиеся в Debian системы как Ubuntu, так или иначе. Для других ДИСТРИБУТИВОВ/OSS Вы, возможно, должны были бы добавить его к ~/.profile
также. Посмотрите здесь.