Quotas

1. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 18/11/2011 - 00:21h

Eai galerinha,

não sei se é o lugar certo pra postar isso, mas ai vai... estou com um problema nas quotas, tenho um servidor ldap+smb e gostaria de usar quotas para limitar o uso dos usuário windows e linux ao disco, mas não sei, porem no tutorial q sigo diz q devo colocar essa linha no /etc/fstab: "usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0", porém, não sei se isso vai no cliente ou apenas no servidor, alguem entende de quotas?


  


2. Re: Quotas

Gilmar Silva
gssilva

(usa Ubuntu)

Enviado em 18/11/2011 - 00:58h

Boa noite Jeanconte

Isso que você postou é fácil de resolver. A configuração de quotas deve ser feita apenas no servidor onde estão os dados que você quer que o limite de gravação de arquivos seja feito. Mas para que nós possamos te ajudar melhor com isso, nos conte como está a sua instalação:

1 - O seu Samba e o servidor LDAP estão instalados na mesma máquina onde são gravados os dados dos usuários?

2 - Qual a distribuição que você está usando no seu servidor de dados?

3 - O seu Samba está configurado como PDC?

Para que as quotas sejam corretamente aplicadas aos usuários e grupos, o Linux da máquina de dados precisa reconhecer os usuários cadastrados na sua base LDAP como se fossem usuários do sistema. Ai surgem duas situações:

1ª - O servidor LDAP está instalado na mesma máquina de dados: Ai você precisará instalar os módulos do PAM e configurá-lo para reconhecer os usuários da base LDAP como se fossem do sistema. Eles, inclusive, terão direito de logar no sistema e tudo. Você precisa cuidar disso para que usuários indesejáveis não se loguem no seu SO. A configuração das quotas é bastante simples.

2º - O servidor LDAP está instalado em outra máquina: Ai é mais simples porque você apenas precisa instalar o cliente samba e fazer com que essa máquina logue no seu domínio Samba. Ai, a configuração das quotas também é simples.

Nos dê informações mais detalhadas sobre a sua configuração que ficará simples de ajudar.

Você pode obter mais informações nesses links aqui:

http://www.vivaolinux.com.br/artigo/Gerenciando-quotas-de-disco
http://www.vivaolinux.com.br/artigo/Autenticando-cliente-Linux-Ubuntu-8.10-no-PDC-Samba-com-perfil-m...


3. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 18/11/2011 - 08:29h

Olá amigo,

Sobre as perguntas feitas, o servidor de de domínio tem instalado um LDAP+SMBm os dois na mesma máquina com um s.o. ubuntu server 11.04, os dados de usuário estão todos armazenados na base LDAP, e o samba está configurado como pdc para as máquinas windows, os usuários linux logam diretamente ao ldap (com o pacote 'libpam-ldap') montando um nfs como /home. O PAM ja está configurado na máquina servidora, e o windows funciona perfeitamente inclusive com as quotas, com a linha que citei acima no /etc/fstab.

Os clientes linux funcionam perfeitamente, com excessão das quotas que não funcionam...ja coloquei a linha no cliente e não funcionou.. daí vem a dúvida se as quotas devem ser configuradas no servidor também...


4. Re: Quotas

Inutil
inutil

(usa Red Hat)

Enviado em 18/11/2011 - 09:06h

Quotas sao configuradas "apenas" no servidor. ta ai a dica.


5. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 18/11/2011 - 11:22h

Bom dia,

ja configurei as cotas apenas no servidor, mas os clientes linux não estão respeitando as cotas, cada cliente monta o NFS e tem acesso aos 500gb, deveriam ter apenas 200mb de acordo com as cotas, qual seria o problema então? alguma idéia?


6. Re: Quotas

Gilmar Silva
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.


7. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 19/11/2011 - 09:43h

WOW!

Grande resposta amigo, com certeza foi de grande ajuda, vou montar uma máquina virtual e testar o que vc escreveu, li tudo que vc escreveu mas ainda tenho algumas dúvidas...

"adm-srv02:~# modprobe quota_v2
adm-srv02:~# echo "quota_v2" >> /etc/modules"

-O que fazem estas linhas? gosto de entender o se passa no servidor, pois me da mais controle da situação caso haja algum problema...

"Nas partições /cti e /home, adicionar os três parâmetros abaixo logo após a opção "defaults"."

-Os parâmetros também são adicionados à partição cti? por que? não será apenas o /home compartilhado?

"Instalação do Cyrus-SASL"

-O que faz o Cyrus-SASL?

-Neste caso, os parâmetros citados acima serão adicionados ao /etc/fstab apenas na maquina servidor?




Jean D. Conte


8. Re: Quotas

Gilmar Silva
gssilva

(usa Ubuntu)

Enviado em 19/11/2011 - 12:13h

Olá Jean

Aqui vão as respostas às suas dúvidas:

1 - Tudo o que postei acima são procedimentos executados numa máquina rodando Debian Lenny. Todos os comandos são os mesmos no Ubuntu, somente há algumas mudanças nos arquivos de configurações do PAM, mas são mínimas.

2 - As linha "adm-srv02:~# modprobe quota_v2" carrega o módulo "quota_v2" necessário para que p kernel do sistema passe a trabalhar com as quotas e a linha "adm-srv02:~# echo "quota_v2" >> /etc/modules" faz com que esse módulo seja sempre carregado na inicialização. O "adm-srv02:~#" é a máquina que usei para fazer isso.

3 - As linhas referentes a "/cti" e "/home" são dois HDs que montei. No seu caso, retire a linha referente a "/cti" porque você não tem esse compartilhamento. No fstab as duas linhas devidamente configuradas ficariam assim:

/dev/sda13 /cti ext3 defaults,usrquota,grpquota,user_xattr 0 2
/dev/sdb1 /home ext3 defaults,usrquota,grpquota,user_xattr 0 2

O atributo "usrquota" ativa as cotas para usuários na partição citada. "gprquota" ativa suporte a quotas para grupos e "user_xattr" ativa suporte a atributos extendidos que melhoram as permissões e compatibilidade dos arquivos quando gravados.

Você pode montar quantas partições quiser usando o fstab. Mas antes de editar esse arquvo, sempre faça uma cópia de segurança dele porque é um dos arquivos de configuração mais importante do sistema operacional e um erro nele simplesmente fará o SO não inicializar mais até que todos os erros sejam completamente corrigidos. No caso do Ubuntu e, recentemente, do Debian Squeeze, no sugar dos dispositivos, por exemplo "/dev/sda13" vai o UUID da partição. É só seguir o exemplo das linhas anteriores do aquivo de configuração do arquivo original, usar o comando "blkid <partição>


9. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 19/11/2011 - 16:19h

Olá Gilmar,

obrigado pela ajuda, ja estou entendo melhor o que devo fazer, porém ainda tenho duas dúvida, li um pouco sobre esse Cyrus_SASL mas não entendi muito bem, ele tem o mesma função/funcionamento do TLS/SSL? Outra dúvida que está me encomodando é: devo instalar algum pacote referente as quotas na máquina cliente linux, ou o cliente deveria automaticamente respeitar as quotas mesmo sem nenhum parâmetro no /etc/fstab ou pacote extra? estou montando o nfs no cliente da seguinte forma:

"<ip_do_servidor>:/home /home ext4 defaults,usrquota,grpquota 0 0"



10. Re: Quotas

Gilmar Silva
gssilva

(usa Ubuntu)

Enviado em 19/11/2011 - 17:11h

Boa tarde Jean...

O CyrusSASL não é obrigatório para as quotas funcionarem. Ele nem mesmo precisa ser instalado para esse fim. Ele é uma biblioteca baseada no OpenSSL que implementa um sistema de autenticação seguro com criptografia forte. Se seu servidor LDAP não usa SSL, e você não está interessado nisso, não instale os pacotes referentes a ele.

Todas as configurações referentes as quotas tem que, obrigatoriamente, ser feitas no seu servidor de dados onde estão instalados os HDs que contêm os dados dos usuário. Não precisa configurar nem instalar nada em qualquer cliente Linux, Windows ou outro SO qualquer, poque, se você fizer a configuração neles o SO cliente entenderá que as quotas devem ser aplicadas na máquina onde foi feito isso e, em hipótese alguma, respeitarão os limites estabelecidos para os mapeamentos dos compartilhamentos do servidor.

Quanto ao mapeamento que você esta fazendo no cliente, cabe uma observação muito importante. Na linha "<ip_do_servidor>:/home /home ext4 defaults,usrquota,grpquota 0 0", voce deve retirar (em todos os clientes), os parâmetros "usrquota e grpquota" e deve adicioná-los à linha correspondente à montagem do diretório de dados do servidor onde são gravados os dados dos seus usuários aos quais você deseja que as restrições de quotas sejam aplicadas.

Só para você entender melhor como as cotas funcionam, ai vai uma explicação bem simples:

1-Cliente pede autorização ao servidor para gravar um arquivo;
2-Servidor verifica se o usuário tem permissão;
3-Servidor veriica se tem espaço suficiente (AQUI ENTRA O SISTEMA DE COTAS);
a) Tem espaço? Grava;
b) Não tem espaço? Manda mensagem ao cliente informando que não tem espaço;

Portanto, todas as configurações são feitas no servidor porque somente ele tem permissões para parar a gravação de arquivos no momento em que o esaço em disco de determinado usuário acabar, certo?




11. Quotas

jean
jeanconte

(usa Ubuntu)

Enviado em 19/11/2011 - 17:22h

Perfeito, gilmar muito obrigado, explicou bem o que eu não estava entendendo, agora ja está mais claro como tudo funciona, obrigado!
Vou implementar o q tu me disse e se posível retorno a resposta :)
espero que a comunidade continue assim ;)


12. Re: Quotas

Mauricio Gomes
mauagomes

(usa Red Hat)

Enviado em 13/03/2015 - 16:49h

Boa tarde,

Lendo o problema aqui no Viva o Linux, gostaria de lhe perguntar como eu faria para a aplicação "Quota" efetivamente funcionar com grupos do LDAP? Tenho um servidor PDC com SAMBA separado do servidor OpenLDAP.
Eu consigo fazer funcionar normalmente as quotas quando definidas por usuário do meu LDAP, mas para os GRUPOS eu até consigo configurar, mas não funcionam na prática.
Me parece que o "Quota" não entende que o grupo é do LDAP, embora reconheça quando executo "edquota -g <grupo_ldap>". Teria como me dar alguma dica?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts