Quando eu crio dois usuários com o mesmo UID e GUID, mas diretórios home diferentes, meu Ubuntu 17.10 não inicializa, por quê?

3

Eu quero fazer login com configurações diferentes, mas ainda ser o mesmo "usuário". Então, eu adicionei um segundo usuário com o mesmo UID / GUID, mas o diretório home diferente e agora, ao inicializar o Ubuntu, o sistema simplesmente trava. Se eu remover o segundo usuário dos arquivos passwd e shadow , o sistema inicializará bem.

    
por intel_chris 02.12.2017 / 00:16

1 resposta

2

Normalmente, é uma má ideia editar o arquivo /etc/passwd e /etc/shadow manualmente. Eu recomendo usar o sistema com ferramentas para isso. Além disso, embora você possa fazer com que um usuário compartilhe o mesmo GUID com outro usuário, o UID deve ser exclusivo para cada usuário. Portanto, a inicialização provavelmente falhará no Linux impedindo o início dos aplicativos necessários e / ou na falha dos aplicativos que esperam que os UIDs sejam exclusivos.

Uma abordagem melhor de dois usuários compartilhando um diretório é usar o gerenciamento de grupo para fazer isso. Veja a Documentação sobre gerenciamento de usuários ou navegue Ask Ubuntu para possíveis guias:

No entanto, você pode criar um usuário simplesmente emitindo o seguinte comando:

sudo useradd -U -m -G <additional groups here> <user-name>

Isso adicionará um usuário ao seu sistema que funcionará. Explicação da linha acima de man 8 useradd (extremamente reduzido apenas para as opções mais usuais, para uma visão geral completa, veja a man page):

  

OPÇÕES

   The options which apply to the useradd command are:

   -c, --comment COMMENT
       Any text string. It is generally a short description of the login,
       and is currently used as the field for the user's full name.

   -g, --gid GROUP
       The group name or number of the user's initial login group. The
       group name must exist. A group number must refer to an already
       existing group.

       If not specified, the behavior of useradd will depend on the
       USERGROUPS_ENAB variable in /etc/login.defs. If this variable is
       set to yes (or -U/--user-group is specified on the command line), a
       group will be created for the user, with the same name as her
       loginname. If the variable is set to no (or -N/--no-user-group is
       specified on the command line), useradd will set the primary group
       of the new user to the value specified by the GROUP variable in
       /etc/default/useradd, or 100 by default.

   -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
       A list of supplementary groups which the user is also a member of.
       Each group is separated from the next by a comma, with no
       intervening whitespace. The groups are subject to the same
       restrictions as the group given with the -g option. The default is
       for the user to belong only to the initial group.

   -k, --skel SKEL_DIR
       The skeleton directory, which contains files and directories to be
       copied in the user's home directory, when the home directory is
       created by useradd.

       This option is only valid if the -m (or --create-home) option is
       specified.

       If this option is not set, the skeleton directory is defined by the
       SKEL variable in /etc/default/useradd or, by default, /etc/skel.

       If possible, the ACLs and extended attributes are copied.

   -m, --create-home
       Create the user's home directory if it does not exist. The files
       and directories contained in the skeleton directory (which can be
       defined with the -k option) will be copied to the home directory.

       By default, if this option is not specified and CREATE_HOME is not
       enabled, no home directories are created.

   -M
       Do no create the user's home directory, even if the system wide
       setting from /etc/login.defs (CREATE_HOME) is set to yes.

   -s, --shell SHELL
       The name of the user's login shell. The default is to leave this
       field blank, which causes the system to select the default login
       shell specified by the SHELL variable in /etc/default/useradd, or
       an empty string by default.

   -U, --user-group
       Create a group with the same name as the user, and add the user to
       this group.

       The default behavior (if the -g, -N, and -U options are not
       specified) is defined by the USERGROUPS_ENAB variable in
       /etc/login.defs.

Portanto, -U criará um nome de grupo de usuários semelhante ao nome do usuário com o GUID correspondendo ao UID do usuário. -m criará o diretório inicial dos usuários em /home/<user-name> e -G permitirá que você forneça grupos adicionais aos quais este usuário deve pertencer. Você pode adicionar grupos mais tarde também. Os grupos que o Ubuntu adiciona ao usuário principal são adm , cdrom , sudo , dip , plugdev , lpadmin e sambashare . Para adicionar grupos mais tarde, você pode usar o seguinte comando:

sudo usermod -aG <group-or groups> <user-name>

Por fim, seu usuário deve ter uma senha que você possa definir:

sudo passwd <username>

Isso conclui o processo de criação do usuário em um terminal.

Existe um comando combinado disponível também chamado de adduser , que automatiza alguns dos processos que você mencionou acima, para seu uso, dê uma olhada em man 8 adduser .

    
por Videonauth 02.12.2017 / 05:37