O Samba é o pacote padrão de interoperabilidade do Windows para Linux e Unix.

Desde 1992, o Samba fornece serviços de arquivo e impressão seguros, estáveis e rápidos para todos os clientes que usam o protocolo SMB / CIFS, como todas as versões do DOS e Windows, OS / 2, Linux e muitos outros.

O Samba é um componente importante para integrar servidores e desktops Linux / Unix em ambientes do Active Directory. Pode funcionar como um controlador de domínio ou como um membro regular do domínio.

O Samba é um pacote de software que oferece flexibilidade e liberdade aos administradores de rede em termos de configuração, configuração e escolha de sistemas e equipamentos. Por tudo o que oferece, o Samba tem crescido em popularidade e continua a fazê-lo todos os anos desde o seu lançamento em 1992.

Fonte: https://www.samba.org/samba/what_is_samba.html

Para os amantes de GNU Linux, samba é uma ótima alternativa para o Active Directory do Windows, podendo gerenciar usuários e permissões de pastas dentro de um domínio, porém o obstáculo que muitos veem é o fato dele não ter uma interface, dificultando para muitos o entendimento da ferramenta.

Então vou abordar, alguns comandos básicos de linha de comando para gerenciar usuários no samba 4.

Usuários

Para trocar senha de um usuário:

samba-tool user setpassword mundoti --newpassword=NOVASENHA

alterar senha do usuário e forca a troca no próximo Login:

samba-tool user setpassword mundoti --newpassword=NOVASENHA --must-change-at-next-login

deletar usuário:

samba-tool user delete nomedeusuario

deletando usuário junto com sua pasta home:

samba-tool user delete mundoti && rm -r /home/samba/nomedeusuario

listar todos usuários criados no samba:

samba-tool user list

desabilitar uma conta:

samba-tool user disable nomedeusuario

habilitando uma conta:

samba-tool user enable nomedeusuario

habilitar expiração de senha para um usuário:

samba-tool user setexpiry nomedeusuario --days=10

desabilitar expiração de senha para um usuário:

samba-tool user setexpiry nomedeusuario --noexpiry

Grupos

criar grupo:

samba-tool group add nomegrupo

adicionar diversos grupos de uma vez:

samba-tool group add "nomegrupo_um nomegrupo_dois"

adicionar descrição á um grupo:

samba-tool group add nomegrupo --description="Esse é um grupo de exemplo"

adicionar um usuário a um grupo:

samba-tool group addmembers nomegrupo nomedeusuario

adicionar um grupo dentro de outro grupo:

samba-tool group addmembers nomegrupo_um nomegrupo_dois

adicionar vários usuários dentro de um grupo:

samba-tool group addmembers nomegrupo "nomedeusuario_um,nomedeusuario_dois"

remover um grupo:

samba-tool group delete nomedogrupo

removendo vários grupos de uma vez:

samba-tool group delete "nomegrupo_um nomegrupo_dois"

remover um membro de um grupo:

samba-tool group removemembers nomegrupo nomedeusuario

remover vários usuários de um grupo:

samba-tool group removemembers nomegrupo "nomedeusuario_um,nomedeusuario_dois"

listar todos os grupos:

samba-tool group list

listar usuários que pertencem a um grupo:

samba-tool group listmembers nomegrupo

Script

E para deixar o gerenciamento de usuários do samba mais fácil, criei um script em bash, com todas essas opções e mais algumas, no script possue as seguintes opções:

[0]  - Cria um novo Usuario.
[1]  - Trocar a senha de um Usuario.
[2]  - Trocar a senha e solicitar uma nova senha no proximo login.
[3]  - Deletar um Usuario.
[4]  - Listar todos os usuarios.
[5]  - Desabilitar um Usuario.
[6]  - Habilitar um Usuario.
[7]  - Criar um Grupo.
[8]  - Criar varios Grupos.
[9]  - Adicionar um Usuario em um Grupo.
[10] - Adicionar varios Usuarios em um Grupo.
[11] - Remover um Usuario de um Grupo.
[12] - Remover varios Usuarios de um Grupo.
[13] - Listar todos os Grupos.
[14] - Listar todos os usuarios de um grupo.

Para usar o script, basta seguir os passos à baixo:

git clone https://github.com/andreyglauzer/manager_user_samba4
cd manager_user_samba4
chmod 755 ./manager_user_samba4.sh
./manager_user_samba4.sh

flw/

Imagem de perfil do autor

O autor

Andrey Glauzer, 25 anos, sou analista de segurnaça da informação apaixonado po Linux e entusiasta em desenvolvimento. Esta sempre em busca de automatizar tarefas do dia-a-dia e de um bom café.