Pesquisa de site

Como gerenciar a infraestrutura Samba4 AD a partir da linha de comando do Linux - Parte 2


Este tutorial abordará alguns comandos básicos diários que você precisa usar para gerenciar a infraestrutura do Samba4 AD Domain Controller, como adicionar, remover, desabilitar ou listar usuários e grupos.

Também veremos como gerenciar a política de segurança de domínio e como vincular os usuários do AD à autenticação PAM local para que os usuários do AD possam realizar logins locais no controlador de domínio do Linux.

Requisitos

  1. Crie uma infraestrutura AD com Samba4 no Ubuntu 16.04 – Parte 1
  2. Gerencie a infraestrutura do Samba4 Active Directory do Windows10 via RSAT – Parte 3
  3. Gerenciar DNS do controlador de domínio Samba4 AD e política de grupo do Windows – Parte 4

Etapa 1: gerenciar o Samba AD DC na linha de comando

1. O Samba AD DC pode ser gerenciado através do utilitário de linha de comando samba-tool, que oferece uma ótima interface para administrar seu domínio.

Com a ajuda da interface da ferramenta samba, você pode gerenciar diretamente usuários e grupos de domínio, Política de Grupo de domínio, sites de domínio, serviços DNS, replicação de domínio e outras funções críticas de domínio.

Para revisar toda a funcionalidade do samba-tool basta digitar o comando com privilégios de root sem qualquer opção ou parâmetro.

samba-tool -h

2. Agora, vamos começar a usar o utilitário samba-tool para administrar o Samba4 Active Directory e gerenciar nossos usuários.

Para criar um usuário no AD use o seguinte comando:

samba-tool user add your_domain_user

Para adicionar um usuário com vários campos importantes exigidos pelo AD, use a seguinte sintaxe:

--------- review all options --------- 
samba-tool user add -h  
samba-tool user add your_domain_user --given-name=your_name --surname=your_username [email  --login-shell=/bin/bash

3. Uma lista de todos os usuários do domínio samba AD pode ser obtida emitindo o seguinte comando:

samba-tool user list

4. Para excluir um usuário de domínio samba AD use a sintaxe abaixo:

samba-tool user delete your_domain_user

5. Redefina a senha de um usuário de domínio samba executando o comando abaixo:

samba-tool user setpassword your_domain_user

6. Para desabilitar ou habilitar uma conta de usuário do samba AD, use o comando abaixo:

samba-tool user disable your_domain_user
samba-tool user enable your_domain_user

7. Da mesma forma, grupos de samba podem ser gerenciados com a seguinte sintaxe de comando:

--------- review all options --------- 
samba-tool group add –h  
samba-tool group add your_domain_group

8. Exclua um grupo de domínio samba emitindo o comando abaixo:

samba-tool group delete your_domain_group

9. Para exibir todos os grupos de domínios samba, execute o seguinte comando:

samba-tool group list

10. Para listar todos os membros do domínio samba em um grupo específico, use o comando:

samba-tool group listmembers "your_domain group"

11. Adicionar/remover um membro de um grupo de domínio samba pode ser feito emitindo um dos seguintes comandos:

samba-tool group addmembers your_domain_group your_domain_user
samba-tool group remove members your_domain_group your_domain_user

12. Como mencionado anteriormente, a interface de linha de comando do samba-tool também pode ser usada para gerenciar a política e a segurança do seu domínio samba.

Para revisar as configurações de senha do domínio samba, use o comando abaixo:

samba-tool domain passwordsettings show

13. Para modificar a política de senha do domínio samba, como nível de complexidade da senha, validade da senha, comprimento, quantas senhas antigas devem ser lembradas e outros recursos de segurança necessários para um controlador de domínio, use a captura de tela abaixo como um guia.

---------- List all command options ---------- 
samba-tool domain passwordsettings -h 

Nunca use as regras de política de senha conforme ilustrado acima em um ambiente de produção. As configurações acima são usadas apenas para fins de demonstração.

Etapa 2: autenticação local do Samba usando contas do Active Directory

14. Por padrão, os usuários do AD não podem realizar logins locais no sistema Linux fora do ambiente Samba AD DC.

Para fazer login no sistema com uma conta do Active Directory, você precisa fazer as seguintes alterações no ambiente do sistema Linux e modificar o Samba4 AD DC.

Primeiro, abra o arquivo de configuração principal do samba e adicione as linhas abaixo, se estiverem faltando, conforme ilustrado na imagem abaixo.

sudo nano /etc/samba/smb.conf

Certifique-se de que as seguintes instruções apareçam no arquivo de configuração:

winbind enum users = yes
winbind enum groups = yes

15. Depois de fazer as alterações, use o utilitário testparm para garantir que nenhum erro seja encontrado no arquivo de configuração do samba e reinicie os daemons do samba emitindo o comando abaixo.

testparm
sudo systemctl restart samba-ad-dc.service

16. Em seguida, precisamos modificar os arquivos de configuração locais do PAM para que as contas do Samba4 Active Directory possam autenticar e abrir uma sessão no sistema local e criar um home diretório para usuários no primeiro login.

Use o comando pam-auth-update para abrir o prompt de configuração do PAM e certifique-se de habilitar todos os perfis PAM usando a tecla [space] conforme ilustrado na captura de tela abaixo.

Quando terminar, pressione a tecla [Tab] para ir para Ok e aplicar as alterações.

sudo pam-auth-update

17. Agora, abra o arquivo /etc/nsswitch.conf com um editor de texto e adicione a instrução winbind no final da senha e das linhas de grupo conforme ilustrado na imagem abaixo.

sudo vi /etc/nsswitch.conf

18. Por fim, edite o arquivo /etc/pam.d/common-password, procure a linha abaixo conforme ilustrado na captura de tela abaixo e remova o use_authtok< declaração.

Essa configuração garante que os usuários do Active Directory possam alterar suas senhas na linha de comando enquanto estiverem autenticados no Linux. Com esta configuração ativada, os usuários do AD autenticados localmente no Linux não podem alterar suas senhas no console.

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

Remova a opção use_authtok sempre que as atualizações do PAM forem instaladas e aplicadas aos módulos PAM ou sempre que você executar o comando pam-auth-update.

19. Os binários do Samba4 vêm com um daemon winbindd integrado e ativado por padrão.

Por esse motivo, você não precisa mais ativar e executar separadamente o daemon winbind fornecido pelo pacote winbind dos repositórios oficiais do Ubuntu.

Caso o antigo e obsoleto serviço winbind seja iniciado no sistema, certifique-se de desativá-lo e interromper o serviço emitindo os comandos abaixo:

sudo systemctl disable winbind.service
sudo systemctl stop winbind.service

Embora não precisemos mais executar o antigo daemon winbind, ainda precisamos instalar o pacote Winbind dos repositórios para instalar e usar a ferramenta wbinfo.

O utilitário Wbinfo pode ser usado para consultar usuários e grupos do Active Directory do ponto de vista do daemon winbindd.

Os comandos a seguir ilustram como consultar usuários e grupos do AD usando wbinfo.

wbinfo -g
wbinfo -u
wbinfo -i your_domain_user

20. Além do utilitário wbinfo, você também pode usar o utilitário de linha de comando getent para consultar o banco de dados do Active Directory a partir das bibliotecas Name Service Switch representadas em 20. arquivo/etc/nsswitch.conf.

Canalize o comando getent por meio de um filtro grep para restringir os resultados referentes apenas ao banco de dados de usuários ou grupos do domínio do AD.

getent passwd | grep TECMINT
getent group | grep TECMINT

Etapa 3: Faça login no Linux com um usuário do Active Directory

21. Para autenticar no sistema com um usuário Samba4 AD, basta utilizar o parâmetro nome de usuário do AD após su - comando.

No primeiro login, uma mensagem será exibida no console notificando que um diretório inicial foi criado no caminho do sistema /home/$DOMAIN/ com o nome do seu nome de usuário AD.

Use o comando id para exibir informações extras sobre o usuário autenticado.

su - your_ad_user
id
exit

22. Para alterar a senha de um usuário autenticado do AD, digite o comando passwd no console depois de fazer login com sucesso no sistema.

su - your_ad_user
passwd

23. Por padrão, os usuários do Active Directory não recebem privilégios de root para executar tarefas administrativas no Linux.

Para conceder poderes de root a um usuário AD, você deve adicionar o nome de usuário ao grupo sudo local emitindo o comando abaixo.

Certifique-se de colocar o domínio, a barra e o nome de usuário do AD entre aspas simples ASCII.

usermod -aG sudo 'DOMAIN\your_domain_user'

Para testar se o usuário AD tem privilégios de root no sistema local, faça login e execute um comando, como apt-get update, com permissões sudo.

su - tecmint_user
sudo apt-get update

24. Caso você queira adicionar privilégios de root para todas as contas de um grupo do Active Directory, edite o arquivo /etc/sudoers usando o comando visudo e adicione a linha abaixo após a linha de privilégios de root, conforme ilustrado na imagem abaixo:

%DOMAIN\\your_domain\  group ALL=(ALL:ALL) ALL

Preste atenção à sintaxe do sudoers para não quebrar as coisas.

O arquivo Sudoers não lida muito bem com o uso de aspas ASCII, então use % para indicar que você está se referindo a um grupo e use uma barra invertida para escape da primeira barra após o nome de domínio e outra barra invertida para escapar de espaços se o nome do seu grupo contiver espaços (a maioria dos grupos internos do AD contém espaços por padrão). Além disso, escreva o domínio em letras maiúsculas.

É tudo por agora! O gerenciamento da infraestrutura Samba4 AD também pode ser feito com diversas ferramentas do ambiente Windows, como ADUC, DNS Manager, GPM > ou outro, que pode ser obtido instalando o pacote RSAT da página de download da Microsoft.

Para administrar o Samba4 AD DC através dos utilitários RSAT, é absolutamente necessário unir o sistema Windows ao Samba4 Active Directory. Este será o assunto do nosso próximo tutorial, até então fique ligado no TecMint.