Gostaria de saber se existe algum comando shell simples para alterar o diretório inicial do usuário no Linux / Unix (um semelhante ao chsh que altera o shell de login padrão de um usuário válido existente) sem tocar no /etc/passwd
arquivo. obrigado
203
/etc/passwd
arquivo? Você precisará!usermod -d /home/userxx /home/useryy
a mudança linux diretório de login padrão para / home / useryychsh
não altera o shell de login padrão , mas apenas o shell de login de um determinado usuário ... Para alterar oHOME
de um usuário em particular, basta editar/etc/passwd
Respostas:
O comentário de Ibrahim na outra resposta é a maneira correta de alterar o diretório inicial de um usuário existente.
Altere o diretório inicial do usuário:
usermod
é o comando para editar um usuário existente.-d
(abreviação de--home
) alterará o diretório inicial do usuário.Alterar o diretório inicial do usuário + Mova o conteúdo do diretório atual do usuário:
-m
(abreviação de--move-home
) moverá o conteúdo do diretório atual do usuário para o novo diretório.fonte
/home/username
normalmente) é removida./newhome/username
argumento será o diretório inicial do usuário. Você pode configurá-lo de volta ao diretório inicial anterior, se souber o que era, mas não há opção "desfazer".usermod -m -d /newhome/username username
trabalho.No Linux, altere o diretório inicial do usuário padrão ao adicionar um novo usuário :
fonte
usermod -m -d /path/to/new/login/home/dir user
muda diretório home do usuário existente para um novo diretório de login que é criado se ele não existir, a opção -m move o conteúdo do diretório atual para o novo diretório homeA resposta aceita está com defeito, pois o conteúdo da pasta inicial do usuário não é movido usando-a. Vou adicionar outra resposta para corrigi-lo:
Você não precisa criar a pasta com nome de usuário e isso também moverá seus arquivos da pasta inicial do usuário para a pasta / newhome / username.
fonte
Caso outros leitores procurem informações sobre o
adduser
comando.Editar
/etc/adduser.conf
Definir
DHOME
variávelfonte
Descobriu que isso interrompe alguns aplicativos, a melhor maneira de fazer isso é
Além do link simbólico, em distribuições e sistemas de arquivos mais recentes, como root, você também pode usar bind-mount:
Isso é útil para permitir o acesso "através" do diretório / home aos subdiretórios via daemons que, de outra forma, são configurados para evitar percorrer links simbólicos (apache, ftpd, etc.).
Você precisa se lembrar (ou script de inicialização) para ligar as reinicializações, é claro.
Um exemplo de script init
/etc/fstab
éfonte
usermod -m -d / newhome nome de usuário
fonte