pykota

9
Gerˆ encia de Quotas de Impress˜ ao com CUPS e Pykota Projeto LibertasBR http://www.libertasbr.org.br 16 de junho de 2005 Direcionado para administradores de laborat´orios de inform´atica, este documento tem como objetivo explicar a instala¸c˜ ao e o funcionamento do aplicativo Pykota junto a um gerente de impress˜ ao e uma base de dados (CUPS e LDAP respectivamente). O Pykota ´ e um aplicativo que gerencia as quotas de impress˜ao do CUPS por pre¸co ou por umero de p´aginas. Neste manual, o pykota ser´a instalado e configurado para gerenciar as cotas das impressoras por pre¸co de p´agina. 1 Obten¸c˜ ao do Aplicativo Pykota ´ E poss´ ıvel obter o aplicativo pykota diretamente atrav´ es do sistema de controle de vers˜ ao (CVS) ou comprando pacotes para seu sistema. Para obter os pacotes pagos do aplicativo, vocˆ e pode acessar a p´agina: http://www.librelogiciel.com/software/PyKota/action\_Presentation E para obter diretamente do CVS, vocˆ e deve ter o servi¸co de CVS instalado e seguir o proce- dimento a seguir: Escolha ou crie um diret´orio para o arquivo ser baixado. Digite o comando a seguir para adicionar o meio de acesso ao CVS na vari´ avel de sistema correspondente: export CVS RSH= ”ssh” Digite o comando a seguir para baixar o arquivo como anˆonimo: cvs -z3 -d:ext:[email protected]:/cvsroot/pykota co pykota 1

Upload: daps

Post on 13-Aug-2015

25 views

Category:

Documents


4 download

DESCRIPTION

.

TRANSCRIPT

Page 1: pykota

Gerencia de Quotas de Impressao com CUPS e

Pykota

Projeto LibertasBR

http://www.libertasbr.org.br

16 de junho de 2005

Direcionado para administradores de laboratorios de informatica, este documento tem comoobjetivo explicar a instalacao e o funcionamento do aplicativo Pykota junto a um gerente deimpressao e uma base de dados (CUPS e LDAP respectivamente).

O Pykota e um aplicativo que gerencia as quotas de impressao do CUPS por preco ou pornumero de paginas. Neste manual, o pykota sera instalado e configurado para gerenciar as cotasdas impressoras por preco de pagina.

1 Obtencao do Aplicativo Pykota

E possıvel obter o aplicativo pykota diretamente atraves do sistema de controle de versao (CVS)ou comprando pacotes para seu sistema.

Para obter os pacotes pagos do aplicativo, voce pode acessar a pagina:http://www.librelogiciel.com/software/PyKota/action\_Presentation

E para obter diretamente do CVS, voce deve ter o servico de CVS instalado e seguir o proce-dimento a seguir:

� Escolha ou crie um diretorio para o arquivo ser baixado.

� Digite o comando a seguir para adicionar o meio de acesso ao CVS na variavel de sistemacorrespondente:

export CVS RSH= ”ssh”

� Digite o comando a seguir para baixar o arquivo como anonimo:

cvs -z3 -d:ext:[email protected]:/cvsroot/pykota co pykota

1

Page 2: pykota

2 Requisitos de Sistema

Para o funcionamento do pykota voce devera ter os seguintes servicos devidamente instalados econfigurados:

� Servico de diretorio e autenticacao LDAP.Serao necessarias informacoes sobre o servidor deste, alem de liberdade para adicao de in-formacoes na base de dados.

� Servico de Impressao CUPS.Sera necessario liberdade para modificacao ou instalacao de novos dispositivos de impressao.

Alem desses sevicos, alguns pacotes sao necessarios para a instalacao do Pykota. Sao eles:

� Python v2.1 ou superior

� Modulo Python eGenix’ mxDateTime

� Modulo Python-JAXML

� Modulo Python-SNMP

� Modulo Python-OSD

� Modulo Python-PSYCO

� Ferramentas SNMP

� Netatalk

� Modulo Python-LDAP

Os pacotes acima podem ser obtidos atraves do repositorio apt, a nao ser o modulo Python-SNMP que deve ser obtido de uma URL especıfica, e para isso e aconselhavel o uso do programawget. Este pacote, entretanto, nao e obrigatorio. Neste manual trataremos mensagens de impressaopor software.

Satisfeitas as condicoes basta executar os seguintes comandos:

aptitude install python2.3 python2.3-egenix-mxdatetime python2.3-osd \ 1

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

1Este comando deve ser executado numa unica linha; a ‘\’, neste caso, indica apenas a quebra da linha e naodeve ser utilizada na execucao do comando.

2

Page 3: pykota

3 Instalacao do aplicativo

Tendo todos os aplicativos acima devidamente instalados, voce deve seguir o procedimento abaixopara instalar o Pykota:

� Entre no diretorio onde voce baixou o arquivo do CVS.

� Descomprima o arquivo com o comando:

tar -zxvf [nome do arquivo]

� Entre no diretorio criado:

cd [nome do diretorio]

� Execute o Script de instalacao com o seguinte comando:

python setup.py install

� Serao feitas algumas perguntas no processo. Voce pode responder sim <Y> para todas elas eo processo de instalacao sera encerrado.

� Copie o arquivo pykota.schema do diretorio [diretorio pykota]/initscripts/ldap/ para o di-retorio /etc/ldap/schema, utilizando o comando:

cp [diretorio pykota]/initscripts/ldap/pykota.schema /etc/ldap/schema

� Reinicie o servico LDAP para as alteracoes fazerem efeito:

/etc/init.d/slapd restart

4 Criacao da base de dados Pykota no LDAP

Esta secao indicara como se deve criar a base de dados do Pykota no LDAP, assim como usuariosespeciais para acessar esta base. Os exemplos citados nesta secao utilizam como base as confi-guracoes de LDAP do servidor LibertasBR, as entradas devem, portanto, ser alteradas de acordocom seu servidor.

A primeira coisa a fazer e iniciar a base de dados do Pykota. Para isso voce deve ter acesso aoseu servidor LDAP e permissoes para a criacao de entradas na base de dados. Abaixo e mostradoum exemplo de como deve ser esta base de dados:

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

ou: PyKota

objectClass: organizationalUnit

3

Page 4: pykota

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 conteudo acima para um arquivo chamado pykota.ldif eadicione este arquivo a base de dados com o seguinte comando:

ldapadd -f pykota.ldif -x -W -D ”[usuario administrativo]”

Agora sera necessaria a adicao de usuarios para manipular essa base de dados. Os usuariosdevem 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 usuarios, copie o conteudo acima para um arquivo chamado usuarios.ldife adicione este arquivo a base de dados com o seguinte comando:

4

Page 5: pykota

ldapadd -f usuarios.ldif -x -W -D ”[usuario administrativo]”

Para dar as devidas permissoes para estes usuarios, e necessario alterar o arquivo:/etc/ldap/slapd.conf .

Devem ser inseridas duas linhas adicionais na secao access to *. Essas linhas devem ser asseguintes:

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

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

Observacoes:

� Estas configuracoes nao sao obrigatorias, mas facilitam a instalacao e melhoram o servico.

� Nao esqueca de mudar as entradas para serem compatıveis com seu servidor LDAP.

5 Arquivos de Configuracao do Pykota

Agora voce deve configurar seu pykota de acordo com as caracterısticas de seus servidores CUPSe LDAP. O arquivo de configuracao geral a ser editado e o /etc/pykota/pykota.conf.

Abaixo estao dispostas as linhas alteradas com os valores corretos de acordo com as confi-guracoes citadas anteriormente. Altere os devidos campos com as configuracoes especıficas de seusservidores.

# 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 user’s 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 CAN’T WRITE TO YOUR PRINT QUOTA

# DATABASE, OTHERWISE ANY USER WHO COULD READ THIS CONFIGURATION

# FILE COULD CHANGE HIS PRINT QUOTA.

5

Page 6: pykota

#

#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 user’s 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 servico de mensagens e email que nao serao tratadosneste texto.

6

Page 7: pykota

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

[global]

# Quota Storage administrator’s name and password

storageadmin: cn=pykotaadmin,dc=libertasbr,dc=org,dc=br

storageadminpw: [sua senha]

Observacao: E necessaria a alteracao dos dados de acordo com seu servidor LDAP.

6 Adicionar Impressora com suporte a Pykota

O primeiro passo e adicionar um novo backend para o CUPS poder utilizar o pykota. Para faze-lo,execute os seguintes comandos:

cd /usr/lib/cups/backend

ln -s /usr/share/pykota/cupspykota cupspykota

/etc/init.d/cupsys restart

Agora o CUPS ja e capaz de enxergar dispositivos para utilizar o pykota. O proximo passoe adicionar uma impressora para o uso do pykota, ou entao modificar uma impressora existentepara suportar o pykota.

Para fazer isso, basta voce seguir os procedimentos indicados pelo seu manual de instalacaode impressoras padrao, tomando cuidado apenas para escolher o dispositivo a ser utilizado pelaimpressora, que deve ser precedido de Pykota managed. Veja a figura a baixo:

7 Comandos Basicos

Agora o seu sistema de quotas de impressao esta pronto para o uso. A primeira tarefa a ser feitae popular a base de dados com as impressoras e usuarios do pykota.

Para adiconar uma impressora ao sistema de quotas voce pode utilizar o comando pkprinters.O exemplo abaixo adiciona a impressora impressora1 com o custo de 0.05 por folha.

pkprinters −−add −−charge 0.05 impressora1

Para adicionar usuarios que possam utilizar esta impressora, voce deve utilizar o comandoedpykota. O exemplo abaixo adiciona os usuarios Jose e Joao a impressora1 com um balanco(saldo) de 10 unidades:

edpykota −−add -P impressora1 −−limitby balance −−balance 10 Jose Joao

Para ver as quotas de impressao dos usuarios, voce pode utilizar o comando repykota. Oexemplo abaixo mostra a quota de impressao de todos os usuarios da impressora1:

7

Page 8: pykota

Figura 1: Exemplo do dispositivo da impressora

repykota −−printer impressora1

Para maiores informacoes sobre como utilizar estes comandos, basta consultar suas respectivaspaginas de manual2.

2execute “man [nome do comando]”para acessar tais paginas

8

Page 9: pykota

A Creditos

Documento Gerencia de Quotas de Impressao com CUPS e Pykota

Direitos Autorais Reservados (c)Universidade Federal de Minas GeraisDepartamento de Ciencia da ComputacaoProjeto LibertasBRMarcus Flavio de Lima - [email protected]

Esta documentacao e livre; voce pode redistribuı-la e/ou modifica-la sob os termos da LicencaPublica Geral GNU conforme publicada pela Free Software Foundation; tanto na sua versao 2,como qualquer versao posterior (a seu criterio) .

A distribuicao desta documentacao e feita na expectativa de que ela seja util, porem, sem

nenhuma garantia; nem mesmo a garantia implıcita de comerciabilidade ou adequacao a

uma finalidade especıfica.Consulte a Licenca Publica Geral do GNU para mais detalhes.

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

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

9