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.