Ubuntu - histórico de comandos não disponível para usuários recém-criados

1

Eu criei um novo usuário

useradd -d / -G www-data dsweb
sudo passwd dsweb
usermod -aG sudo dsweb

Eu loguei como este usuário com sucesso, mas quando tentei pressionar a tecla, ele me mostra algo como ^[[A , em vez dos comandos que eu digitei apenas alguns instantes atrás. Se logar como usuário root, tudo funcionará bem.

Como faço para que funcione?

    
por TigerTiger 31.05.2018 / 15:11

1 resposta

4

Os desenvolvedores de git falam sobre os comandos encanamento (baixo nível) e porcelana (alto nível). useradd é o encanamento. Você deveria ter usado adduser (= porcelana).

Na página de manual do useradd :

useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

Ao usar useradd , você precisa especificar literalmente tudo, como um diretório inicial e um shell de login. Por outro lado, adduser tem padrões razoáveis para eles. A experiência que você fez é devido a ter / como o diretório inicial (sem permissões de gravação) e / ou errado sem shell de login, como anotado @steeldriver em um comentário. adduser lida com tudo isso. Assim:

adduser dsweb           # create user with default settings (like $HOME, $SHELL)
adduser dsweb www-data  # add him to group www-data
adduser dsweb sudo      # ... and sudo

E sim, é uma verdadeira bagunça termos dois comandos adduser e useradd . Eu mesmo sempre tenho que procurar qual é qual.

Para remover seu usuário dsweb criado anteriormente, use deluser dsweb . Do não forneça a opção --remove-home porque você o criou com / como $ HOME e não quer que isso seja removido.

    
por PerlDuck 31.05.2018 / 15:32