Anda di halaman 1dari 9

Gerncia de Quotas de Impresso com CUPS e e a Pykota

Projeto LibertasBR http://www.libertasbr.org.br 16 de junho de 2005

Direcionado para administradores de laboratrios de informtica, este documento tem como o a objetivo explicar a instalao e o funcionamento do aplicativo Pykota junto a um gerente de ca impresso e uma base de dados (CUPS e LDAP respectivamente). a O Pykota um aplicativo que gerencia as quotas de impresso do CUPS por preo ou por e a c nmero de pginas. Neste manual, o pykota ser instalado e congurado para gerenciar as cotas u a a das impressoras por preo de pgina. c a

Obteno do Aplicativo Pykota ca

E poss obter o aplicativo pykota diretamente atravs do sistema de controle de verso (CVS) vel e a ou comprando pacotes para seu sistema. Para obter os pacotes pagos do aplicativo, voc pode acessar a pgina: e a http://www.librelogiciel.com/software/PyKota/action\_Presentation E para obter diretamente do CVS, voc deve ter o servio de CVS instalado e seguir o procee c dimento a seguir:
Escolha ou crie um diretrio para o arquivo ser baixado. o Digite o comando a seguir para adicionar o meio de acesso ao CVS na varivel de sistema a

correspondente: export CVS RSH= ssh


Digite o comando a seguir para baixar o arquivo como annimo: o

cvs -z3 -d:ext:anoncvs@savannah.nongnu.org:/cvsroot/pykota co pykota

Requisitos de Sistema

Para o funcionamento do pykota voc dever ter os seguintes servios devidamente instalados e e a c congurados:
Servio de diretrio e autenticao LDAP. c o ca

Sero necessrias informaes sobre o servidor deste, alm de liberdade para adio de ina a co e ca formaes na base de dados. co
Servio de Impresso CUPS. c a

Ser necessrio liberdade para modicao ou instalao de novos dispositivos de impresso. a a ca ca a Alm desses sevios, alguns pacotes so necessrios para a instalao do Pykota. So eles: e c a a ca a
Python v2.1 ou superior Mdulo Python eGenix mxDateTime o Mdulo Python-JAXML o Mdulo Python-SNMP o Mdulo Python-OSD o Mdulo Python-PSYCO o Ferramentas SNMP Netatalk Mdulo Python-LDAP o

Os pacotes acima podem ser obtidos atravs do repositrio apt, a no ser o mdulo Pythone o a o SNMP que deve ser obtido de uma URL espec ca, e para isso aconselhvel o uso do programa e a wget. Este pacote, entretanto, no obrigatrio. Neste manual trataremos mensagens de impresso a e o a por software. Satisfeitas as condies basta executar os seguintes comandos: co aptitude install python2.3 python2.3-egenix-mxdatetime python2.3-osd \ python2.3-psyco python2.3-ldap apt-get install snmp netatalk jaxml wget http://kent.dl.sourceforge.net/sourceforge/pysnmp/pysnmp-3.4.2.tar.gz tar -zxvf pysnmp-3.4.2.tar.gz cd pysnmp-3.4.2 python setup.py install
1 Este comando deve ser executado numa unica linha; a \, neste caso, indica apenas a quebra da linha e no a deve ser utilizada na execuo do comando. ca

Instalao do aplicativo ca

Tendo todos os aplicativos acima devidamente instalados, voc deve seguir o procedimento abaixo e para instalar o Pykota:
Entre no diretrio onde voc baixou o arquivo do CVS. o e Descomprima o arquivo com o comando:

tar -zxvf [nome do arquivo]


Entre no diretrio criado: o

cd [nome do diretrio] o
Execute o Script de instalao com o seguinte comando: ca

python setup.py install


Sero feitas algumas perguntas no processo. Voc pode responder sim <Y> para todas elas e a e

o processo de instalao ser encerrado. ca a


Copie o arquivo pykota.schema do diretrio [diretorio pykota]/initscripts/ldap/ para o dio

retrio /etc/ldap/schema, utilizando o comando: o cp [diretorio pykota]/initscripts/ldap/pykota.schema /etc/ldap/schema


Reinicie o servico LDAP para as alteraes fazerem efeito: co

/etc/init.d/slapd restart

Criao da base de dados Pykota no LDAP ca

Esta seo indicar como se deve criar a base de dados do Pykota no LDAP, assim como usurios ca a a especiais para acessar esta base. Os exemplos citados nesta seo utilizam como base as conca guraoes de LDAP do servidor LibertasBR, as entradas devem, portanto, ser alteradas de acordo c com seu servidor. A primeira coisa a fazer iniciar a base de dados do Pykota. Para isso voc deve ter acesso ao e e seu servidor LDAP e permisses para a criao de entradas na base de dados. Abaixo mostrado o ca e um exemplo de como deve ser esta base de dados:

dn: ou=PyKota,dc=libertasbr,dc=org,dc=br ou: PyKota objectClass: organizationalUnit

dn: ou=Impressoras,ou=PyKota,dc=libertasbr,dc=org,dc=br ou: Impressoras objectClass: organizationalUnit dn: ou=UQuotas,ou=PyKota,dc=libertasbr,dc=org,dc=br ou: UQuotas objectClass: organizationalUnit dn: ou=GQuotas,ou=PyKota,dc=libertasbr,dc=org,dc=br ou: GQuotas objectClass: organizationalUnit dn: ou=Jobs,ou=PyKota,dc=libertasbr,dc=org,dc=br ou: Jobs objectClass: organizationalUnit dn: ou=LastJobs,ou=PyKota,dc=libertasbr,dc=org,dc=br ou: LastJobs objectClass: organizationalUnit

Para adicionar estas entradas, copie o contedo acima para um arquivo chamado pykota.ldif e u adicione este arquivo ` base de dados com o seguinte comando: a ldapadd -f pykota.ldif -x -W -D [usurio administrativo] a Agora ser necessria a adio de usurios para manipular essa base de dados. Os usurios a a ca a a devem ter os seguintes atributos:

dn: cn=pykotauser,dc=libertasbr,dc=org,dc=br cn: pykotauser objectClass: simpleSecurityObject objectClass: organizationalRole description: Usuario do PyKota userPassword: {CRYPT}us6EKZMmfBVwI dn: cn=pykotaadmin,dc=libertasbr,dc=org,dc=br cn: pykotaadmin objectClass: simpleSecurityObject objectClass: organizationalRole description: Administrador do PyKota userPassword: {CRYPT}usKrzwzEa4ibs

Para adicionar estes usurios, copie o contedo acima para um arquivo chamado usuarios.ldif a u e adicione este arquivo ` base de dados com o seguinte comando: a 4

ldapadd -f usuarios.ldif -x -W -D [usurio administrativo] a Para dar as devidas permisses para estes usurios, necessrio alterar o arquivo: o a e a /etc/ldap/slapd.conf . Devem ser inseridas duas linhas adicionais na seo access to *. Essas linhas devem ser as ca seguintes:

by dn="cn=pykotaadmin,dc=libertasbr,dc=org,dc=br" write by dn="cn=pykotauser,dc=libertasbr,dc=org,dc=br" read

Observaes: co
Estas conguraes no so obrigatrias, mas facilitam a instalao e melhoram o servio. co a a o ca c No esquea de mudar as entradas para serem compat a c veis com seu servidor LDAP.

Arquivos de Congurao do Pykota ca

Agora voc deve congurar seu pykota de acordo com as caracter e sticas de seus servidores CUPS e LDAP. O arquivo de congurao geral a ser editado o /etc/pykota/pykota.conf. ca e Abaixo esto dispostas as linhas alteradas com os valores corretos de acordo com as cona guraes citadas anteriormente. Altere os devidos campos com as conguraes espec co co cas de seus servidores.

# the postgresql value is deprecated, use pgstorage instead. # storagebackend: pgstorage # Quota Storage Server hostname (and optional port) # e.g. db.example.com:5432 # storageserver: localhost # # name of the Quota Storage Database #storagename: pykota # # Quota Storage normal users name and password # These two fields contain a username and optional password # which may give readonly access to your print quota database. # # PLEASE ENSURE THAT THIS USER CANT WRITE TO YOUR PRINT QUOTA # DATABASE, OTHERWISE ANY USER WHO COULD READ THIS CONFIGURATION # FILE COULD CHANGE HIS PRINT QUOTA.

# #storageuser: pykotauser # storageuserpw: Comment out if unused, or set to Quota Storage user password # LDAP example, uncomment and adapt it to your own configuration : storagebackend: ldapstorage storageserver: ldap://127.0.0.1:389 storagename: dc=libertasbr,dc=org,dc=br storageuser: cn=pykotauser,dc=libertasbr,dc=org,dc=br storageuserpw: [sua senha] # # Here we define some helpers to know where # to plug into an existing LDAP directory userbase: ou=usuarios,dc=libertasbr,dc=org,dc=br userrdn: uid balancebase: ou=usuarios,dc=libertasbr,dc=org,dc=br balancerdn: uid groupbase: ou=grupos,dc=libertasbr,dc=org,dc=br grouprdn: cn printerbase: ou=Impressoras,ou=PyKota,dc=libertasbr,dc=org,dc=br printerrdn: cn jobbase: ou=Jobs,ou=PyKota,dc=libertasbr,dc=org,dc=br userquotabase: ou=UQuotas,ou=PyKota,dc=libertasbr,dc=org,dc=br groupquotabase: ou=GQuotas,ou=PyKota,dc=libertasbr,dc=org,dc=br lastjobbase: ou=LastJobs,ou=PyKota,dc=libertasbr,dc=org,dc=br ... # a possible value: newuser: attach(posixAccount, warn)

newuser: attach(posixAccount, warn) newgroup: attach(posixgroup, warn) # LDAP attribute which stores the users email address usermail : mail # # Choose what attribute contains the list of group members # common values are : memberUid, uniqueMember, member groupmembers: memberUid ...

O restante do arquivo trata de dados de servio de mensagens e email que no sero tratados c a a neste texto. 6

Outro arquivo que deve ser alterado o arquivo /etc/pykota/pykotadmin. Ele deve ser alterado e para a seguinte forma:

[global] # Quota Storage administrators name and password storageadmin: cn=pykotaadmin,dc=libertasbr,dc=org,dc=br storageadminpw: [sua senha]

Observao: E necessria a alterao dos dados de acordo com seu servidor LDAP. ca a ca

Adicionar Impressora com suporte a Pykota

O primeiro passo adicionar um novo backend para o CUPS poder utilizar o pykota. Para faz-lo, e e execute os seguintes comandos: cd /usr/lib/cups/backend ln -s /usr/share/pykota/cupspykota cupspykota /etc/init.d/cupsys restart Agora o CUPS j capaz de enxergar dispositivos para utilizar o pykota. O prximo passo ae o adicionar uma impressora para o uso do pykota, ou ento modicar uma impressora existente e a para suportar o pykota. Para fazer isso, basta voc seguir os procedimentos indicados pelo seu manual de instalao e ca de impressoras padro, tomando cuidado apenas para escolher o dispositivo a ser utilizado pela a impressora, que deve ser precedido de Pykota managed. Veja a gura a baixo:

Comandos Basicos

Agora o seu sistema de quotas de impresso est pronto para o uso. A primeira tarefa a ser feita a a popular a base de dados com as impressoras e usurios do pykota. e a Para adiconar uma impressora ao sistema de quotas voc pode utilizar o comando pkprinters. e O exemplo abaixo adiciona a impressora impressora1 com o custo de 0.05 por folha. pkprinters add charge 0.05 impressora1 Para adicionar usurios que possam utilizar esta impressora, voc deve utilizar o comando a e edpykota. O exemplo abaixo adiciona os usurios Jose e Joao ` impressora1 com um balano a a c (saldo) de 10 unidades: edpykota add -P impressora1 limitby balance balance 10 Jose Joao Para ver as quotas de impresso dos usurios, voc pode utilizar o comando repykota. O a a e exemplo abaixo mostra a quota de impresso de todos os usurios da impressora1: a a 7

Figura 1: Exemplo do dispositivo da impressora repykota printer impressora1 Para maiores informaes sobre como utilizar estes comandos, basta consultar suas respectivas co 2 pginas de manual . a

2 execute

man [nome do comando]para acessar tais pginas a

Crditos e

Documento Gerncia de Quotas de Impresso com CUPS e Pykota e a Direitos Autorais Reservados (c) Universidade Federal de Minas Gerais Departamento de Cincia da Computao e ca Projeto LibertasBR Marcus Flvio de Lima - mima@dcc.ufmg.br a

Esta documentao livre; voc pode redistribu e/ou modic-la sob os termos da Licena ca e e -la a c Pblica Geral GNU conforme publicada pela Free Software Foundation; tanto na sua verso 2, u a como qualquer verso posterior (a seu critrio) . a e A distribuio desta documentao feita na expectativa de que ela seja util, porm, sem ca ca e e nenhuma garantia; nem mesmo a garantia impl cita de comerciabilidade ou adequao a ca uma nalidade espec ca. Consulte a Licena Pblica Geral do GNU para mais detalhes. c u

http://creativecommons.org/licenses/GPL/2.0/ http://creativecommons.org/licenses/GPL/2.0/legalcode.pt

Anda mungkin juga menyukai