gssilva
(usa Ubuntu)
Enviado em 18/11/2011 - 18:41h
Olá amigo...
Olha só, como vc tem um servidor Samba autenticando na base LDAP, para que o sistema de quotas do seu servidor de dados funcione, ele precisa reconhecê-los como se estivessem sidos criados no seu sistema. O que fiz para aplicar quotas em um servidor Debian Lenny aqui numa configuração parecida com a sua. É o seguinte (procure adequar au seu Ubuntu, pois algumas coisas são diferentes e teste em uma máquina separada antes de executar isto no seu servidor de produção):
Estou usando o APTITUDE para instalar pacotes. Ele não vem pré-instalado no Ubuntu, portanto, instale-o antes. No lugar do VIM você pode usar qualquer editor de textos dispinível:
adm-srv02:~# aptitude install aptitude
adm-srv02:~# aptitude install quota quotatool
adm-srv02:~# modprobe quota_v2
adm-srv02:~# echo "quota_v2" >> /etc/modules
adm-srv02:~# cd /home/
adm-srv02:/home# touch aquota.user
adm-srv02:/home# touch aquota.group
adm-srv02:~# chmod 600 aquota.*
Nas partições /cti e /home, adicionar os três parâmetros abaixo logo após a opção "defaults".
usrquota,grpquota,user_xattr
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda1 /ext3 errors=remount-ro 0 1
/dev/sda8 /boot ext3 defaults 0 2
/dev/sda13 /cti ext3 defaults 0 2
/dev/sdb1 /home ext3 defaults 0 2
/dev/sda6 /opt ext3 defaults 0 2
/dev/sda7 /srv ext3 defaults 0 2
/dev/sda10 /tmp ext3 defaults 0 2
/dev/sda5 /usr ext3 defaults 0 2
/dev/sda9 /var ext3 defaults 0 2
/dev/sda11 /var/lib/ldap ext3 defaults 0 2
/dev/sda12 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Depois use o comando abaixo para aplicar as mudanças (share é o compartilhamento).
# mount -o remount,rw /share
Depois execute o proximo comando para se certificar de que os parâmetros adicionados nas diretivas do fstab foram carregadas:
# mount | grep share
/dev/hda4 on /share type ext3 (rw,usrquota,grpquota)
Agora rode os comando abaixo para habilitar e atualizar as quotas:
# quotacheck -augv
# quotaon -augv
E agora instale o WebMIM com o módulo de quota para gerenciá-las mais facilmente.
Mas para elas serem efetivamente aplicadas o seu Ubuntu que armazena os dados dos usuários precisa reconhecer os usuários da base LDAP, então, fiz isso aqui no Debian, procure adequar ao seu Ubuntu. Por favor, teste em outro sistema antes de fazê-lo em seu servidor:
Instalação do Cyrus-SASL
adm-srv02:~# aptitude install sasl2-bin libsasl2-modules libsasl2-dev libsasl2-modules-gssapi-mit libsasl2-modules-otp libsasl2-modules-ldap libsasl2-modules libsasl2-modules-ldap
O arquivo abaixo deve ser alterado para que o Cyrus funcione corretamente:
dm-srv02:~# vim /etc/default/saslauthd
START="yes"
MECHANISMS="ldap"
A essa altura o Debian Lenny está pronto para reconhecer os usuários da base LDAP. Agora é preciso instalar o NSS e os Módulos do PAM para que seja possível a autenticação dos usuários da base ldap no Linux, pois será preciso que o sistema operacional os reconheça, senão não será possível a atribuição de cotas e outros recursos que o servidor suportará. Ao instalar o pacote “libnss-ldap” também será instalado o pacote “libpam-ldap” como dependência, o que acaba sendo importante, pois sem um o outro não funciona e devem ser configurados um após o outro na exata sequência abaixo.
Tome o cuidado de antes de começar a editar os arquivos de configurações do PAM, fazer uma cópia completa do diretório “/etc/pam.d”, pois uma única falha nessa etapa pode fazer o sistema operacional não inicializar mais, fazendo com que você tenha de fazer uma restauração dos arquivos originais do PAM, e como eles são específicos de cada distribuição, cerque-se de cuidados.
Outra dica importante é que você pode ir pressionando <enter> nas telas onde as configurações padrões são sugeridas e reconfigurar depois os pacotes libnss-ldap e libpam-ldap.
adm-srv02:~# aptitude install libpam-runtime libpam-passwdqc nscd libpam0g libpam-foreground libpam-modules libpam-cracklib ldap-utils libnss-ldap libpam-ldap
Mande o DPKG reconfigurar o libnss-ldap e responda às perguntas de acordo com sua bae LDAP e domínio:
adm-srv02:~# dpkg-reconfigure libnss-ldap
Faça a mesma coisa com libpam-ldap
adm-srv02:~# dpkg-reconfigure libpam-ldap
Alterações dos Arquivos de Configurações dos Clientes de LDAP Para o NSS e o PAM
1. ldap.conf
adm-srv02:~# vim /etc/ldap/ldap.conf
URI ldap://127.0.0.1/
BASE dc=dominio
2. nsswitch.conf
adm-srv02:~# vim /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files dns
networks: files ldap
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: ldap
3. libnss-ldap.conf
adm-srv02:~# vim /etc/libnss-ldap.conf
host 127.0.0.1
base dc=campuspi
ldap_version 3
rootbinddn uid=admin,dc=usuarios,dc=campuspi
nss_base_passwd ou=usuarios,dc=dominio?one
nss_base_shadow ou=usuarios,dc=dominio?one
nss_base_group ou=grupos,dc=dominio?one
4. pam_ldap.conf
adm-srv02:~# vim /etc/pam_ldap.conf
host 127.0.0.1
base dc=dominio
ldap_version 3
rootbinddn uid=admin,dc=usuarios,dc=dominio
pam_password crypt
nss_base_passwd ou=usuarios,dc=dominio?one
nss_base_shadow ou=usuarios,dc=dominio?one
nss_base_group ou=grupos,dc=dominio?one
5. common-account
adm-srv02:~# vim /etc/pam.d/common-account
account sufficient pam_unix.so
account sufficient pam_ldap.so
account sufficient pam_permit.so
6. common-auth
adm-srv02:~# vim /etc/pam.d/common-auth
auth sufficient pam_unix.so
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
7. common-password
adm-srv02:~# vim /etc/pam.d/common-password
password sufficient pam_passwdqc.so min=disabled,16,12,8,6 max=256
password sufficient pam_unix.so use_authtok md5
password sufficient pam_ldap.so use_first_pass use_authtok md5
password required pam_deny.so
8. common-session
adm-srv02:~# vim /etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 silent
session sufficient pam_unix.so
Ai é só verificar com os comando de listagem de usuários normais do Linux. Se aparecerem os usuário da base LDAP também as quotas funcionarão.
Qualquer dúvida posta ai.