Unix / Linux - Administração de usuários

Neste capítulo, discutiremos em detalhes sobre a administração de usuários no Unix.

Existem três tipos de contas em um sistema Unix -

Conta raiz

Isso também é chamado superusere teria controle total e irrestrito do sistema. Um superusuário pode executar qualquer comando sem qualquer restrição. Este usuário deve ser considerado um administrador do sistema.

Contas do sistema

As contas do sistema são aquelas necessárias para a operação de componentes específicos do sistema, por exemplo contas de e-mail e sshdcontas. Essas contas geralmente são necessárias para alguma função específica em seu sistema e quaisquer modificações nelas podem afetar adversamente o sistema.

Contas de usuário

As contas de usuário fornecem acesso interativo ao sistema para usuários e grupos de usuários. Os usuários gerais são normalmente atribuídos a essas contas e geralmente têm acesso limitado a arquivos e diretórios críticos do sistema.

O Unix suporta um conceito de conta de grupo que agrupa logicamente várias contas. Cada conta faria parte de outra conta de grupo. Um grupo Unix desempenha um papel importante no tratamento de permissões de arquivo e gerenciamento de processos.

Gerenciando usuários e grupos

Existem quatro arquivos principais de administração de usuário -

  • /etc/passwd- Mantém as informações da conta do usuário e senha. Este arquivo contém a maioria das informações sobre contas no sistema Unix.

  • /etc/shadow- Contém a senha criptografada da conta correspondente. Nem todos os sistemas suportam este arquivo.

  • /etc/group - Este arquivo contém as informações do grupo para cada conta.

  • /etc/gshadow - Este arquivo contém informações seguras da conta do grupo.

Verifique todos os arquivos acima usando o cat comando.

A seguinte tabela lista os comandos que estão disponíveis na maioria dos sistemas Unix para criar e gerenciar contas e grupos -

Sr. Não. Comando e Descrição
1

useradd

Adiciona contas ao sistema

2

usermod

Modifica os atributos da conta

3

userdel

Exclui contas do sistema

4

groupadd

Adiciona grupos ao sistema

5

groupmod

Modifica os atributos do grupo

6

groupdel

Remove grupos do sistema

Você pode usar a Ajuda da página de manual para verificar a sintaxe completa de cada comando mencionado aqui.

Crie um grupo

Agora vamos entender como criar um grupo. Para isso, precisamos criar grupos antes de criar qualquer conta, caso contrário, podemos fazer uso dos grupos existentes em nosso sistema. Temos todos os grupos listados em/etc/groups Arquivo.

Todos os grupos padrão são grupos específicos de contas do sistema e não é recomendado usá-los para contas comuns. Então, a seguir está a sintaxe para criar uma nova conta de grupo -

groupadd [-g gid [-o]] [-r] [-f] groupname

A tabela a seguir lista os parâmetros -

Sr. Não. Opção e descrição
1

-g GID

O valor numérico do ID do grupo

2

-o

Esta opção permite adicionar um grupo com GID não exclusivo

3

-r

Esta bandeira instrui groupadd para adicionar uma conta de sistema

4

-f

Esta opção faz com que apenas saia com status de sucesso, se o grupo especificado já existir. Com -g, se o GID especificado já existir, outro GID (exclusivo) é escolhido

5

groupname

Nome real do grupo a ser criado

Se você não especificar nenhum parâmetro, o sistema usará os valores padrão.

O exemplo a seguir cria um grupo de desenvolvedores com valores padrão, o que é bastante aceitável para a maioria dos administradores.

$ groupadd developers

Modificar um Grupo

Para modificar um grupo, use o groupmod sintaxe -

$ groupmod -n new_modified_group_name old_group_name

Para alterar o nome do grupo developers_2 para desenvolvedor, digite -

$ groupmod -n developer developer_2

Aqui está como você mudará o GID financeiro para 545 -

$ groupmod -g 545 developer

Apagar um Grupo

Agora vamos entender como excluir um grupo. Para excluir um grupo existente, tudo que você precisa é ogroupdel command e a group name. Para excluir o grupo financeiro, o comando é -

$ groupdel developer

Isso remove apenas o grupo, não os arquivos associados a esse grupo. Os arquivos ainda podem ser acessados ​​por seus proprietários.

Crie a sua conta aqui

Vamos ver como criar uma nova conta em seu sistema Unix. A seguir está a sintaxe para criar uma conta de usuário -

useradd -d homedir -g groupname -m -s shell -u userid accountname

A tabela a seguir lista os parâmetros -

Sr. Não. Opção e descrição
1

-d homedir

Especifica o diretório inicial da conta

2

-g groupname

Especifica uma conta de grupo para esta conta

3

-m

Cria o diretório inicial se ele não existir

4

-s shell

Especifica o shell padrão para esta conta

5

-u userid

Você pode especificar um ID de usuário para esta conta

6

accountname

Nome da conta real a ser criada

Se você não especificar nenhum parâmetro, o sistema usará os valores padrão. ouseradd comando modifica o /etc/passwd, /etc/shadow, e /etc/group arquivos e cria um diretório inicial.

A seguir está o exemplo que cria uma conta mcmohd, definindo seu diretório inicial para /home/mcmohd e o grupo como developers. Este usuário teria Korn Shell atribuído a ele.

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

Antes de emitir o comando acima, certifique-se de já ter o grupo de desenvolvedores criado usando ogroupadd comando.

Depois que uma conta é criada, você pode definir sua senha usando o passwd comando da seguinte forma -

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Quando você digita passwd accountname, fornece a opção de alterar a senha, desde que você seja um superusuário. Caso contrário, você pode alterar apenas sua senha usando o mesmo comando, mas sem especificar o nome da conta.

Modificar uma conta

o usermodcomando permite que você faça alterações em uma conta existente a partir da linha de comando. Ele usa os mesmos argumentos douseradd comando, mais o argumento -l, que permite alterar o nome da conta.

Por exemplo, para alterar o nome da conta mcmohd para mcmohd20 e para alterar o diretório inicial de acordo, você precisará emitir o seguinte comando -

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

Excluir uma conta

o userdelcomando pode ser usado para excluir um usuário existente. Este é um comando muito perigoso se não for usado com cuidado.

Existe apenas um argumento ou opção disponível para o comando .r, para remover o diretório inicial e o arquivo de mensagens da conta.

Por exemplo, para remover a conta mcmohd20 , emita o seguinte comando -

$ userdel -r mcmohd20

Se você deseja manter o diretório inicial para fins de backup, omita o -ropção. Você pode remover o diretório inicial conforme necessário posteriormente.