Altera a localização do diretório inicial do root

10

Eu gostaria de mudar o local do diretório pessoal do root de / root para / var / root. Eu costumava ser capaz de fazer isso com usermod:

usermod -d /var/root root

No entanto, com a versão mais recente do usermod, não é possível alterar o diretório do usuário atualmente conectado. Eu estou tentando alterar o diretório raiz do root no momento da inicialização em um script de configuração do sistema que é executado na primeira vez que um sistema é inicializado, portanto, não posso ser realmente qualquer outro usuário.

Existe outra maneira de alterar o diretório inicial do usuário atualmente logado (root, neste caso)?

Eu provavelmente poderia sed / etc / passwd, mas isso parece desleixado.

    
por Kevin S. 12.12.2011 / 18:10

1 resposta

10
  1. O único problema com a edição manual do /etc/passwd é que pode haver uma corrida se algum outro usuário ou programa alterar esse arquivo enquanto você o mantém aberto no editor. Nesse caso, essa alteração será perdida quando você salvar o arquivo. Se tiver certeza de que esse problema não se aplica a você (nenhum outro usuário fez login, etc.), você pode editar /etc/passwd

  2. Certifique-se de que o diretório inicial da raiz esteja disponível ao inicializar no modo de usuário único, por exemplo, ele deve estar em um sistema de arquivos raiz.

  3. Vários truques, como criar um usuário secundário com uid 0, mudar para ele e alterar o diretório inicial do root, não funcionam. As verificações para o usuário conectado no momento são baseadas em uid.

por 12.12.2011 / 19:22