GNU/Linux >> Linux Esercitazione >  >> Linux

Dov'è impostata la variabile d'ambiente $HOME?

Su Linux, HOME variabile di ambiente è impostata dal programma di accesso:

  • di login su console, telnet e rlogin sessioni
  • di sshd per connessioni SSH
  • di gdm , kdm o xdm per le sessioni grafiche.

Il programma di accesso lo organizza prima di chiamare exec sulla tua shell (includendolo negli argomenti di exec), in base al valore in /etc/passwd.


Modificalo eseguendo:usermod -d /home/whatever_dir whatever_user .

Si prega di notare che questa sarà (ovviamente) la nuova home directory. Bash farà cd ad esso all'accesso, quindi assicurati che esista e che le autorizzazioni siano corrette. Inoltre, non dimenticare .bashrc , .profile , .xinitrc , eccetera; se non sono nella home directory, non verranno letti.

Da usermod :

Usage: usermod [options] LOGIN

Options:
  -c, --comment COMMENT         new value of the GECOS field
  -d, --home HOME_DIR           new home directory for the user account
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP as new primary group
  -G, --groups GROUPS           new list of supplementary GROUPS
  -a, --append                  append the user to the supplemental GROUPS
                                mentioned by the -G option without removing
                                him/her from other groups
  -h, --help                    display this help message and exit
  -l, --login NEW_LOGIN         new value of the login name
  -L, --lock                    lock the user account
  -m, --move-home               move contents of the home directory to the
                                new location (use only with -d)
  -o, --non-unique              allow using duplicate (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new password
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             new login shell for the user account
  -u, --uid UID                 new UID for the user account
  -U, --unlock                  unlock the user account

Linux
  1. Come impostare una variabile di ambiente utente? (permanentemente, non sessione)?

  2. Come determinare da dove proviene una variabile d'ambiente?

  3. Come modificare la variabile PATH in Linux

  4. Come cambiare la lingua del mio git?

  5. Variabile di ambiente TERM non impostata

Come impostare la variabile d'ambiente in Windows

Come impostare le variabili d'ambiente in MacOS

Come impostare la variabile d'ambiente in Bash

Linux:dove viene effettivamente memorizzata la stringa dell'ambiente?

Come impostare l'utente di Php-fpm in modo che sia un utente Php anziché Www-data?

Dove dovrebbero essere impostate le variabili d'ambiente per Jenkins?