O shell padrão não está sendo selecionado com useradd

4

Eu tenho uma nova versão do Ubuntu 16.04.1 instalada e tentei criar uma nova conta de usuário através de root . Alterei a linha SHELL em /etc/default/useradd para o seguinte:

SHELL=/bin/bash

(leu anteriormente /bin/sh )

A execução de useradd -D fornece a seguinte saída:

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

Eu então tento criar um usuário da seguinte forma:

useradd -m -G sudo -c "David Buckley" david

No entanto, o shell padrão ainda é /bin/sh . Mais especificamente, o arquivo /etc/passwd é o seguinte:

david:x:1000:1000:David Buckley:/home/david:

Em uma nota ligeiramente potencialmente relacionada, o novo usuário não recebe acesso ao sudo. Ele recebe os grupos david sudo e o arquivo /etc/sudoers inclui as linhas (não comentadas):

# Allow members of group sudo to execute any command
sudo    ALL=(ALL:ALL) ALL

O que posso estar fazendo errado para causar isso?

    
por Druckles 05.11.2016 / 04:38

2 respostas

5

Curiosamente, isso aconteceu comigo ontem em um servidor rodando o Ubuntu 16.04 LTS.

Não tenho uma resposta concreta sobre por que isso acontece, mas aqui está uma solução rápida que funcionou para mim:
Não use useradd , use adduser !

DESCRIPTION

adduser and addgroup add users and groups to the system according to command line options and configuration information in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, running a custom script, and other features.

Quanto a sudo , você precisa fazer o logout desse usuário - e depois fazer o login novamente - para que as novas configurações do grupo tenham efeito.

Aqui está um bom link em useradd vs adduser .

    
por 05.11.2016 / 10:37
5

Este é um bug conhecido no useradd do Ubuntu (adicionado por um Ubuntu patch específico). Ele ignora todas as configurações especificadas em /etc/defaults/useradd ...

A solução alternativa, conforme indicado na resposta do maulinglawns , é usar adduser , que é o ferramenta recomendada para adicionar usuários que não são do sistema em derivados Debian.

    
por 05.11.2016 / 10:53