Página do Manual do SAMBA para Sincronizar Contas de Usuário com Domínio
Lista de e-mails do SAMBA :: Verificando o status de um usuário do domínio em relação ao Active Directory D (omain) / C (ontroller)
Uma maneira que eu vejo para realizar essa tarefa é colocar um script dentro do diretório /profile.d/ indicado na minha outra resposta.
Teste a participação no domínio e o status do usuário, dependendo dos resultados da consulta, atenda ao seu requisito ou, se o usuário não atender ao requisito de privilégio de domínio, não crie um bash_profile.
Comando do console Bash
$> getent group
Resultado
Domain Admins:x:512:root
Domain Users:x:513:jht,lct,ajt,met,vlendecke
Domain Computers:x:553:
... ...
domain-ssh-users:x:55X:harry,mark,john
Testando a participação no grupo de domínio
DOMAIN_GROUPS='getent group'
USERS_DOMAIN_SSH='echo $DOMAIN_GROUPS | grep "domain-ssh-users" | sed 's/domain-ssh-users:x:55X://g'
USER='last | head -n 1'
if [ 'echo $DOMAIN_GROUPS | grep $USER' ]
then
#... Do add bash_profile.
else
#... Do not add bash_profile.
exit
fi
Isso é hacky, mas é viável ...
A atribuição
DOMAIN_GROUPS lista grupos de domínio e usuários associados.
USER_DOMAIN_SSH lê DOMAIN_GROUPS, retira tudo, exceto a linha de domínio-ssh-users, e o processamento de texto por stream retira tudo, exceto para usuários delineados por vírgula.
USER verifica os últimos usuários para fazer login e lê o último login absoluto.
O teste verifica a string DOMAIN_GROUPS para o USUÁRIO.
Exemplo de exportações de caminho do SAMBA
if [ $TEST_DOMAIN_USER_ACCESS_LEVEL ]
then
export PATH='/usr/local/samba/bin:\
/usr/local/samba/sbin:$PATH' >> /home/domain/user/.bash_profile && echo OK
else
exit
fi
Gerenciamento do grupo SAMBA
script profile.d
#!/bin/bash
env='env'
#Store env to string then test for domain membership...
if echo $env grep -q "local.mydomainname.com"
then
user='cat /var/log/auth | grep LOGIN | grep -o '.\{0,0\}:.\{0,100\} | sed 's/: //g' | grep -Eo '^[^ ]'
# There's a step ^^ missing in this assignment to grab the first line matching a pattern. So here we are checking what user to build for.
echo "Line 1 of ~/.bashrc" >> /home/mydomain/$user
echo "Line 2 of ~/.bashrc" >> /home/mydomain/$user
else
echo "Do not build a ~./bashrc for non-domain users"
fi