Autenticando Linux num PDC Samba com auto-montagem de unidade por usuários (sem usar LDAP)

Tinha uma rede mista e precisava de implantar Linux em 50 máquinas, com autenticação no PDC Linux e ainda montar unidades para cada usuário, como já era feito no Windows. Deu trabalho, mas graças à Deus em uma semana estava tudo OK. Como o assunto é meio escasso, eis a documentação.

[ Hits: 83.209 ]

Por: Waldemar Wantuil de Souza Neto em 04/09/2006 | Blog: http://upsys.org


Auto-montagem e desmontagem de compartilhamentos para cada usuário



Altere o arquivo como a seguir:

Este é o único arquivo necessário ser alterado para que haja a montagem automática no logon e desmontagem no logoff de compartilhamentos.

# vim /etc/security/pam_mount.conf

# Turn on if you want to debug why some volume cannot be mounted etc.
# This can be overriden by user's local configuration
#
# Format: debug [ 1 | 0 ]
# Local user configuration can override this.


debug 0
mkmountpoint 1
fsckloop /dev/loop7

options_allow   *
options_deny   nodev

options_require   nosuid,nodev

lsof /usr/sbin/lsof %(MNTPT)
fsck /sbin/fsck -p %(FSCKLOOP)
losetup /sbin/losetup -p0 "%(before="-e " CIPHER)" "%(before="-k " KEYBITS)" %(FSCKLOOP) %(VOLUME)
unlosetup /sbin/losetup -d %(FSCKLOOP)
cifsmount /bin/mount -t cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o "username=%(USER)%(before="," OPTIONS)"
smbmount /bin/mount -t smbfs //%(SERVER)/%(VOLUME) %(MNTPT) -o "username=%(USER)%(before="," OPTIONS)"
ncpmount /bin/mount -t ncpfs %(SERVER)/%(USER) %(MNTPT) -o "pass-fd=0,volume=%(VOLUME)%(before="," OPTIONS)"
umount /bin/umount %(MNTPT)
lclmount /bin/mount -p0 %(VOLUME) %(MNTPT) "%(before="-o " OPTIONS)"
cryptmount /bin/mount -t crypt "%(before="-o " OPTIONS)" %(VOLUME) %(MNTPT)
nfsmount /bin/mount %(SERVER):%(VOLUME) "%(MNTPT)%(before="-o " OPTIONS)"
mntagain /bin/mount --bind %(PREVMNTPT) %(MNTPT)
mntcheck /bin/mount # For BSD's (don't have /etc/mtab)
pmvarrun /usr/sbin/pmvarrun -u %(USER) -d -o %(OPERATION)

#volume [user permitted] [server] [share] [mountpoint] [uid],[gid],[dmask] - -
volume * smb servidor & /home/&/online uid=&,gid=&,dmask=777 - - #

Neste local temos o nome do volume (volume) o usuário permitido para realizar a montagem (*) - todos -, o sistema de arquivos (smb), o nome do servidor ou ip (servidor), o nome do compartilhamento (&) - que significa o nome do usuário, o ponto de montagem (/home/&/online), o uid (uid=&), o gid (gid=&), a máscara da montagem (dmask=777).

Reinicie o cliente para que os módulos do PAM sejam atualizados e os serviços inicializados na ordem correta. Utilize um usuário do servidor para logar no XDM.

É só isso pessoal!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Mudando sistema de senhas, grupos e shadow /etc/nsswitch.conf
   3. Iniciando os serviços, ingressando no domínio e configurando o PAM
   4. Arquivos de configuração da interface gráfica
   5. Auto-montagem e desmontagem de compartilhamentos para cada usuário
Outros artigos deste autor

Automação comercial livre no Slackware 12

VPN com pptpd com acesso a compartilhamentos

Leitura recomendada

Sobre WINS (Windows Internet Name Service)

Réplica de dados entre servidores Samba4 com load-balance de DNS

Ferramenta samba-vscan: antivírus nos compartilhamentos do Samba

PDC - Samba + LDAP - Fedora 7

Samba: Servidor de arquivos Linux com estações Windows

  
Comentários
[1] Comentário enviado por samuK em 04/09/2006 - 15:25h

Realmente é muito escasso esse assunto.
Muito bom artigo amigo!
abraços.

[2] Comentário enviado por mendes_bsb em 05/09/2006 - 07:17h

Parabens, realmente existe pouca informação sobre esse assunto

[3] Comentário enviado por agk em 12/09/2006 - 09:15h

Muito bom, parabéns.
Já havia testado esse método há algum tempo, mas autenticando as estações GNU/Linux em um servidor Windows NT.
Encontrei alguns problemas, mas no geral funcionou bem.
Nos testes que fiz encontrei os seguintes problemas:
- Máquinas com dual boot precisam ter nomes diferentes;
- Máquinas que já existiam no domínio e precisam ser colocadas novamente não entram no domínio a não ser que você delete a conta de máquina antiga.
- O programa smb4k na versão 0.56 fecha quando se tenta montar algum compartilhamento da rede Windows. PS: parece que foi resolvido na versão atual.
- programa mcedit se tornou extremamente lento para abrir arquivos.
- sudo apresentou problemas.
- não foi possível trocar a senha através da estação GNU/Linux.
- Senhas expiradas causam erro no KDM e também no GDM.

Enfim uma série de detalhes, não encontrei solução para eles ainda, é possível que configurando todos os serviços em /etc/pam.d para trabalhar corretamente com winbind esses problemas sejam sanados, infelizmente não sei como o fazer.

Bem eis aqui meu relato, ótimo artigo, vamos discutir e trabalhar esse assunto.

[4] Comentário enviado por nissieloin em 12/09/2006 - 09:48h

=>Sobre as máquinas com Dualboot é necessário que vc já instale com nomes diferentes, senão ela realmente terá que ser reingressada... se nao tiver nenhum conflito com o nome (entrar com sistema diferente com o mesmo nome) nao é necessario reingressar.
=> Nao é necessario apagar a conta antiga, somente sair realmente do dominio, tipo passar para outro dominio ou grupo de trabalho e reingressar no dominio anterior.
=> O sudo normalmente nao vai funcionar corretamente, pq os usuários nao existem na maquina e seu UID e GID nao conferem com os verdadeiro do PDC, daí a pala. Sao numeros concedidos pelo winbind, por isso que a máscara de montagem é 777, pq caso nao fosse assim nao haveria possibilidade de escrita e leitura.
=> Sobre a senha realmente se enquadra no mesmo caso do sudo.

A solução sem LDAP deve ser usada no caso apenas de cursos de informatica para usuarios desktop, ou para ambiente de trabalhos de pequenas empresas. Usar o Ldap é sempre a melhor saída.

Todos estes problemas são possíveis de se solucionar implementando o ldap.

Um abraço e até mais.

[5] Comentário enviado por agk em 12/09/2006 - 11:34h

Realmente com LDAP tudo isso é possível, só relatei os pontos problemáticos no meu comentário para ajudar os colegas que venham a ter esses problemas e que eu não encontrei solução, pois seu artigo fala justamente sobre como "Autenticar Linux num PDC Samba com auto-montagem de unidade por usuários (sem usar LDAP)".

Você citou no seu comentário, mudar a máquina de domínio para grupo, poderia exemplificar como se faz isso?

[6] Comentário enviado por nissieloin em 21/09/2006 - 08:06h

Desculpa a demora, no Windows vc deve ingressar num outro dominio ou grupo fantasma, como o MSHOME e depois retornar ao domínio original;
No linux, quando vc da o comando:
#net rpc join member -u root
Precisa aparecer a mensagem Maquina joined in DOMINIO.
Caso contrário, nao ira entrar no dominio realmente. Se não entrar na primeira vez, ele com certeza entra na segunda vez que vc executa o comando.

Um abraço e fique com Deus.

[7] Comentário enviado por hernan em 24/11/2006 - 16:06h

Parabens pela materia:

so tenho uma dúvida:
vc fala na materia que tem que ter instalados nas estações os pacotes: samba server, samba cliente, winbin e pam modules....certo?

a minha dúvida é se esses pacotes tem que ter instaldos no PDC e se tem que instalar esses pacotes no samba 3.0.10 ou se já vem juntos pq na hora que instalei o slack 10.1 instalei como full

grato

[8] Comentário enviado por nissieloin em 01/12/2006 - 16:55h

Se vc já tem instalado um servidor linux samba, rodando estações windows, não vai precisar instalar nada.
Sobre os pacotes, o pam_mount, que monta e desmonta as unidades tem que dar uma conferida pra ver se vem instalado, pq normalmente ele não vem incluso. (mas os pacotes extras só são utilizados na estação cliente).
Existe um comando para listar os pacotes instalados no slackware, mas no momento não me lembro qual. Deve ser algo parecido com lspkg. Leia os manuais que estão relacionados com installpkg.

Fique atento porque os arquivos de configuração do slack costumam ficar em lugares diferentes e/ou serem outros.

Desculpe a demora para a resposta, mas eu estava em dias difíceis.

Qualquer dúvida é só postar que tentaremos resolver juntos.

Um abraço e fique com Deus.

[9] Comentário enviado por nissieloin em 01/12/2006 - 17:18h

Utiliza o pkgtool pra vc dar uma olhada nos pacotes.

Um abraço e fique com Deus.

[10] Comentário enviado por hernan em 15/12/2006 - 14:23h

Olá:
Obrigado por responder....estou quebrando a cabeca aqui para resolver esse problema...entao, instalei o Linux-PAM ate esse momento deu tudo certo, so que na tua materia estou vendo o:
auth required /lib/security/pam_mount.so
session required /lib/security/pam_mkhomedir.so skel=/etc/skel umask=0022
session required /lib/security/pam_mount.so
auth sufficient /lib/security/pam_winbind.so
account sufficient /lib/security/pam_winbind.so
session required /lib/security/pam_winbind.so


Esse pam_mount eu nao tenho esse arquivo.. o caminho onde se econtrar esses arquivos é o mesmo no slack pq mandei procurar pelo pam_mount e nao encontrou mais nada... O que eu quer fazer aqui é que em um rede mista com estaçoes windows e linux autentiquem no mesmo PDC e olha ta difícil achar material que fale sobre isso. E na hora que fizer esse material quero disponibilizar pra todo mundo que tenha esse mesmo problema, pq é chato nao achar um soluçao para esse problema.

Grato

[11] Comentário enviado por nissieloin em 15/12/2006 - 17:33h

O Pam_mount é dificil de achar e nao vem junto com o pacote do PAM. Custei a achar o pro Conectiva.

Sobre a autenticação é pra o ambiente misto logar todo num unico PDC. No meu caso todas as maquinas do parque tem dual-boot e loga dos dois jeitos.

Tenta utilizar um pacote rpm com o pam_mount e utiliza o rmp2tgz, talvez de certo.

Um abraço e fique com Deus.

[12] Comentário enviado por ulyssis em 12/01/2007 - 12:53h

No Debian, instalei (apt-get install samba winbind libpam-modules) mas nao tem os arquivos pam_mount.so e pam_pwdb.so. esse ultimo verifica a senha do usuario no pdc. tentei pelo rpmfind para converter usando o alien, mas os arquivos não funcionam.

alguem conseguiu instalar ou encontrar esses arquivos?

[13] Comentário enviado por jgama em 15/11/2007 - 14:42h

Também tenho que colocar algums máquinas linux com ubuntu na rede com dominio mas não encontro esta pacote pam_mount.

OBS: o Dominio já funciona cm Maquinas Windows XP, só que ainda não estamos usando Ldap, estamos em faze de implementação.

Quem sober onde encotra o pacote pam_mount para debian agradeço


Abraço

[14] Comentário enviado por nissieloin em 15/11/2007 - 16:07h

Desculpem-me mas sou completamente leigo em debian... nunca sequer instalei uma distro debian ou debian based. Gostaria mesmo de poder ajudar... mas o pam_mount é barra pesada pra encontrar...

Grande abraço.

[15] Comentário enviado por jgama em 08/01/2008 - 00:24h

para distro que usa o debian, ubuntu e e seus derivados vc intalar pelo apt-get

#apt-get install libpam-mount

O problem é que só alguns usuarios consegue se logar, mas para isso tem que digitar duas vezes a senha, e creio que o problema é a duplicação de arquivos que é informado neste tutorial. Pois como tem muita quantidade de alterações realizadas no pam deste tutorial, Isto não é necessário pois distribuições debian e redhat possuem arquivos base acionados por include nos diversos demais arquivos. Apenas o que realmente muda do padrão é incluído nestes arquivos. A quantidade de informações que é colocada no pam deste tutorial gera duplicação e confusão.

Irei voltar os backups dos arquivos altarados e ficar atento nas duplicações.

Depois retorno com novidades.

Abraço

[16] Comentário enviado por anthonydarkness em 13/03/2008 - 10:11h

Pessoal, eu não consegui entender muito bem no final do arquivo onde diz como colocar os volumes.

esse volume se refere como no windows exemplo a letra. no meu caso eu carrego no windows o netlogon

net use x: \\servidor\informatica

como eu faria para carregar esse mesmo compartilhamento utilizando esse pam_mount.conf

aguardo sugestoes

[17] Comentário enviado por valterrezendeeng em 26/06/2008 - 14:30h

Muito bom seu artigo.

Uso o Debian 4, configurando a pesquisa no repositório da Ver Sarge 3.1, consegui instalar pelo apt-get install libpam-mount, a biblioteca pam-mount.

mas não consigo achar as bibliotecas pam-console e a pam stack.

como consigo elas ou alguma alternativa para substituila

Grato

[18] Comentário enviado por nissieloin em 27/06/2008 - 11:32h

vc tentou usar sem estes dois? Eu não tenho nada de Debian, nem nunca usei. Não sei te informar onde encontrar....

[19] Comentário enviado por removido em 22/08/2008 - 08:38h

Seguindo várias dicas, tutoriais, artigos e blá, blá e blá sobre Linux autenticando em servidor PDC Linux...

Eu consegui ingressar no servidor PDC linux,
mas quando faço:
wbinfo -u
wbinfo -g
wbinfo -t

Só dá problemas.....

Seria porque eu usei wimbind uid 10000-20000
Seria porque eu usei wimbind gid 10000-20000

E quando eu criar usuarios no Server PDC tem que ser no minimo 10000 e maximo 20000?

Ninguem citou sobre isto, mas acredito ser aí o meu problema!!!
Pois, quando insiro um user no servidor linux PDC ele cria id a partir de 1000 e não 10000....
Alguém que entende do assunto poderia explicar isto melh

[20] Comentário enviado por nissieloin em 25/08/2008 - 08:33h

É o seguinte. Estes números determinam o pseudo-UID do usuário através da rede samba. Os números são altos para que não coincidam com os usuários das estações. E é imprescindível q sejam os mesmos números que no servidor.

[21] Comentário enviado por simei em 29/05/2009 - 14:48h

Ola nao sei por onde começar...mas possuo o seguinte cenario e o seguinte problema.::

Entendi tudo que vc falou....
No entanto eu não quero ir de cliente em cliente instalando samba, winbind, libpam-modules e libpam-mount, mas queria que tudo issu fosse automatico, ou seja colocasse um script shell para fazer a instalação e a configuração em cada cliente....

Obs. Tenho que 3 pastas compartilhadas pelo samba e queria tambem ter exemplos de como configurar o /etc/security/pam_mount.

Portanto queria ter uma ideia desse script....pois assim ficaria mais automatizado o negocio.

[22] Comentário enviado por wellington79 em 11/09/2009 - 08:07h

Uma duvida, ja havia testado o pam_mount funciona muito bem, coloquei a maquina no dominio tudo certinho. Quando digito ntlm_auth --username=wellington digito a senha ele retorna mensagem de sucesso.
Minha duvida é a seguinte quanto utilizo nautilus e tento acessar alguma maquina do dominio (smb://pdc) ele me pede a senha novamente ? Outra coisa utilizo proxy com autenticacao por ntlm ou seja ele autentica utilizando o usuario logado no windows, para linux isso nao funciona.

Se puder me ajudar agradeço.

[23] Comentário enviado por nissieloin em 11/09/2009 - 08:37h

Até onde sei wellington, programas como o nautilus armazenam a senha em si para futuros acessos da mesma sessão. O pam_mount está no caso montando uma pasta da rede no linux, no caso deste artigo que escrevi. Teoricamente ele não navegaria novamente mesmo. Agora sobre o restante das autenticações este recurso não vai atender, iria precisar mesmo de uma solução como o LDAP que unificará várias autenticações em apenas uma.

Grande abraço.

[24] Comentário enviado por roinf em 22/01/2010 - 11:24h

Como posso fazer para eu ter autenticacao local caso o servidor esteja fora do ar. Eu preciso de uma conta local para caso a rede esteja fora. É possível fazer isto? E como?

Obrigado.

[25] Comentário enviado por nissieloin em 22/01/2010 - 13:21h

Você pode acessar com um usuário local, através do terminal.

[26] Comentário enviado por roinf em 22/01/2010 - 16:03h

estou utilizando o ubuntu como estacao e preciso do acesso na interface gráfica, preciso do acesso local caso o servidor esteja fora do ar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts