libpam-mount: a Solução para montagem de volumes SMB

Oki

Procurava uma solução multiusuário para montagem de volumes SMB durante o login. Tentei scripts e mais scripts sem sucesso, então encontrei o pam_mount, que resolve o problema. Embora não tenha uma excelente documentação, consegui encontrar na internet as dicas essenciais para colocá-lo para funcionar.

[ Hits: 33.597 ]

Por: Celso Goya em 17/04/2006


Configuração do libpam-mount



O arquivo de configuração do libpam-mount fica localizado no diretório /etc/security/pam_mount.conf, porém ele não é muito intuitivo. Então, a seguir você poderá ver uma versão resumida do arquivo.

# Ative esta opção caso você queira depurar sua configuração e acompanhar
# a seqüencia de montagem dos seus volumes.
# Esta configuração pode ser sobreposta pela configuração de usuário.
# Format: debug [ 1 | 0 ]

debug 0

mkmountpoint 1
fsckloop /dev/loop7
options_allow *
options_deny nodev

lsof /usr/sbin/lsof %(MNTPT)
fsck /sbin/fsck -p %(FSCKTARGET)
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 /usr/bin/smbmount //%(SERVER)/%(VOLUME) %(MNTPT) -o "username=%(USER)%(before=\",\" OPTIONS)"
ncpmount /usr/bin/ncpmount %(SERVER)/%(USER) %(MNTPT) -o "pass-fd=0,volume=%(VOLUME)%(before=\",\" OPTIONS)"
smbumount /usr/bin/smbumount %(MNTPT)
ncpumount /usr/bin/ncpumount %(MNTPT)
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)
pmvarrun /usr/sbin/pmvarrun -u %(USER) -d -o %(OPERATION)

#Configuração dos volumes que deverão ser montados automaticamente
volume * smb servidor homes /home/&/remote uid=&,gid=&,dmask=750 - -
volume * smb servidor share1 /home/&/share1 uid=&,gid=&,dmask=770 - -
volume * smb servidor share2 /home/&/share2 uid=&,gid=&,dmask=770 - -

Agora precisamos configurar o login propriamente dito, então é necessário editar as configurações do PAM. No Debian tais configurações encontram-se no diretório /etc/pam.d.

Arquivo common-auth.conf:

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#

auth    required        pam_unix.so nullok_secure
auth    optional        pam_mount.so use_first_pass

Arquivo common-session.conf:

#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive). The default is pam_unix.
#

session required        pam_unix.so
session optional        pam_mount.so

Feitas estas configurações, seu sistema estará pronto para efetuar a montagem automática de volumes.

Página anterior    

Páginas do artigo
   1. Visão geral
   2. Configuração do libpam-mount
Outros artigos deste autor

Fedora Core 1 :: Internet Resources

If inline para PHP

xCHM 0.8.5 :: Visualizador de arquivos de ajuda

Verificando a consistência de um formulário com JavaScript

Linux sob o ponto de vista comercial e social

Leitura recomendada

Adicionando facilidades ao Samba

Slackware 13 com Samba PDC completo

Instalação do Samba-3.6.1 + Kerberos + Winbind no Slackware 13.1.0

Solução para Samba e Fedora 5 com HD serial ATA

Samba: Implementando um domínio

  
Comentários
[1] Comentário enviado por agk em 18/04/2006 - 13:59h

Muito boa essa solução, parabéns pelo artigo.
Em rede mista GNU/Linux e Windows essa solução serve para montar os compartilhamentos ou o próprio home dos usuários no Linux e tudo utilizando somente o samba, o bom é que não precisa exportar os diretórios com NFS, daí fica mais fácil controlar as coisas.
[ ]'s.

[2] Comentário enviado por lackofiq em 29/05/2008 - 17:13h

A home do projeto pam_mount é http://pam-mount.sourceforge.net/

[3] Comentário enviado por R_antonio16 em 21/02/2009 - 18:01h

ola.
O seu artigo está muito bom. EU estou a implementar um servidor samba em cliente windows e ubuntu só que estou com uma dúvida primeiro ficheiro de configuração, o pam_mount.conf. A configuração indicada por voce coloco em que zona do ficheiro ou tenho que apagar tudo e colocar so a configuração indicada por voce?

os meus cumprimentos

[4] Comentário enviado por aantunes em 17/06/2009 - 17:28h

Oi estou com problema na configuração do pam_mount.conf.xml. ele não consegue destiguir os grupos

<!-- usuarios do grupo L_Asscomercial -->

<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="users/%(USER)" mountpoint="/home/%(USER)/users" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="publica" mountpoint="/home/%(USER)/publica" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="sistemas" mountpoint="/home/%(USER)/sistemas" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="tmkdc1" path="teleatend" mountpoint="/home/%(USER)/teleatend" />
<volume sgrp="l_asscomercial" fstype="smbfs" server="admfile1" path="iq2000" mountpoint="/home/%(USER)/iq2000" />

<!-- usuarios do grupo L_Juridico -->

<volume sgrp="l_juridico" fstype="smbfs" server="admfile1" path="users/%(USER)" mountpoint="/home/%(USER)/users" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="publica" mountpoint="/home/%(USER)/publica" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="sistemas" mountpoint="/home/%(USER)/sistemas" />
<volume pgrp="l_juridico" fstype="smbfs" server="tmkdc1" path="teleatend" mountpoint="/home/%(USER)/teleatend" />
<volume pgrp="l_juridico" fstype="smbfs" server="admfile1" path="iq2000" mountpoint="/home/%(USER)/iq2000" />
<volume pgrp="l_juridico" fstype="smbfs" server="tmkdc1" path="telelistas" mountpoint="/home/%(USER)/telelistas" />


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts