J'ai un répertoire/home/user/actuel pour ~ mais je veux le changer pour qu'il soit sur/user/home /
/ utilisateur/home existe déjà.
L'option d'utiliser usermod
ne fonctionnera pas car je n'ai pas accès au système en tant qu'utilisateur root ou utilisateur.
Je demande une solution dans le sens de modifier un fichier .bashrc et de changer une variable d’environnement ou similaire. Je me connecte via ssh.
J'utilise Ubuntu 14.04.
Merci d'avance
Des solutions comme celles ci-dessous ne sont malheureusement pas applicables à mon cas:
Comment changer mon propre répertoire personnel?
Comment changer mon répertoire personnel par défaut
https://stackoverflow.com/questions/20797819/command-to-change-the-default-home-directory-of-a-user
EDIT
Je pensais donner plus d’informations ici plutôt que de répondre aux commentaires.
Actuellement, la structure des dossiers est beaucoup plus étrange que mon exemple ci-dessus, mais sa structure est la même. C'est à dire quand je fais:
user@local:~$ ssh user@Host
Je me retrouve dans:
user@Host:~$
user@Host:~$ pwd
/path/of/current/home/
ainsi, lorsque j'utilise des éléments tels que pip
avec la balise --user
] , les choses seront installées localement.
Comme il existe certaines limitations de mémoire ainsi que ssh
problèmes liés à l'écriture dans cet emplacement (je ne peux plus écrire après un certain temps), j'aimerais avoir le comportement suivant:
user@local:~$ ssh user@Host
user@Host:~$
user@Host:~$ pwd
/path/of/new/home/
/path/of/new/home/
existe déjà et n'a pas les limitations définies ci-dessus.
Eh bien, vous pouvez simplement ajouter cette ligne à votre ~/.profile
1:
HOME=/user/home/
Cependant, ce n'est vraiment pas une bonne idée. Les problèmes que cela causerait incluent (mais ne sont probablement pas limités à):
Cela ne fonctionnera que si /home/user
appartient à votre utilisateur. Si ce n'est pas le cas, vous ne pourrez même pas vous connecter.
Cela fonctionnera pour votre utilisateur uniquement. Pour tous les autres, votre répertoire personnel sera celui qui sera stocké dans /etc/passwd
. Cela signifie que, par exemple, cd ~user
échouera. En d'autres termes, si je me connecte en tant que bob
et bob
a la ligne HOME=/home/bob/foo
dans ~/.profile
, alors bob
pense que son répertoire personnel est /home/bob/foo
mais personne d'autre ne le sait:
$ whoami
bob
$ echo $HOME
/home/bob/foo
$ cd ## this moves to your $HOME
$ pwd
/home/bob/foo
Jusqu'ici tout va bien. Mais:
$ whoami
terdon
$ cd ~bob
$ pwd
/home/bob
Cela rendra votre administrateur système insensé. Vous ne voulez pas mettre en colère votre administrateur système car vous êtes croustillant et savourez le ketchup.
Dans tous les cas, il est rarement judicieux de jouer avec des variables comme $HOME
, cela peut souvent avoir des conséquences inattendues. Au lieu de cela, une solution beaucoup plus propre serait de s'assurer que chaque nouvelle session Shell commence dans le répertoire cible. Ajoutez simplement cette ligne à votre ~..bashrc
:
cd /user/home/
Maintenant, chaque fois que vous vous connectez2 Dans ou ouvrez un terminal, vous vous retrouverez dans /user/home
.
1Ou ~/.bash_profile
s'il existe.
2 Connectez-vous aux systèmes basés sur Debian comme Ubuntu, de toute façon. Pour les autres distributions/systèmes d'exploitation, vous devrez peut-être également l'ajouter à ~/.profile
.Voir ici .