sexta-feira, 20 de janeiro de 2012

Iniciando com SuSE

A maioria das versões de Linux, assim como Unix, define  o prompt de comando padrão como um sinal de dolar, $, para usuários comuns e para o root #). o SuSE, entretanto, define o prompt de comando padrão como um sinal de maior  (>), mas segue a convenção dos Linux usando o sinal de cerquilha ou libra # para o usuario root. Ao longo dos meus post, você vai ver $ para o prompt de shell para comandos que podem rodar como qualquer usuario (não querer privilegios especiais).

Voce pode customizar seu prompt da maneira que voce quiser, usando o comando abaixo:

$ export PS1=" [\u@\h \w]\\$ "
[amilcar@isis /root]$

Este comando configura o prompt com seu nome, @ o hostname corrente, com o diretorio de trabalho atual, tudo dentro dos colchetes, seguido pelo $ que é o prompt tradicional.

Encontrando Comandos

Alguns dos comandos que vou descrever em meus post, pode não ser encontrados na sua distribuição ou dependendo do usuario que você estiver logado, ou se digitar o comando errado, irá aparecer uma mensagem similar  a essa:

[amilcar@isis ~]$ comandoinexistente
bash: comandoinexistente: command not found

Algumas das razões para voltar essa mensagem de erro:

  • Você pode ter digitado o comando errado;
  • O comando pode não existir em seu PATH;
  • Pode ser necessario do usuario root para executar o comando;
  • O comando pode nao estar instalado no computador;

Abaixo alguns comandos para extrair informações do comandos que deseja usar:

[amilcar@isis ~]$ type mount   (Mostra o primeiro comando do PATH)
mount is /bin/mount
[amilcar@isis ~]$ ]

[amilcar@isis ~]$ whereis mount            (Mostra binarios, fontes e manuais)
mount: /bin/mount /sbin/mount.nfs /sbin/mount.cifs /sbin/mount.nfs4 /sbin/mount.ntfs /sbin/mount.ntfs-3g /usr/share/man/man2/mount.2.gz /usr/share/man/man8/mount.8.gz
[amilcar@isis ~]$


[amilcar@isis ~]$ which mount      (procura pelo comando em qualquer lugar da file system)
/bin/mount
[amilcar@isis ~]$

[amilcar@isis ~]$ rpm -qal |grep mount           (encontrar pelo comando em qualquer pacote instalado)
/usr/bin/mmount
/usr/share/man/man1/mmount.1.gz
/usr/share/zsh/4.3.6/functions/_fusermount
/usr/share/zsh/4.3.6/functions/_mount
/usr/share/zsh/4.3.6/functions/_showmount
/usr/lib64/hal/hal-storage-cleanup-all-mountpoints
/usr/lib64/hal/hal-storage-cleanup-mountpoint
/usr/lib64/hal/hal-storage-mount
/usr/lib64/hal/hal-storage-unmount
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/linux/ncp_mount.ph
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/linux/nfs4_mount.ph
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/linux/nfs_mount.ph
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/linux/smb_mount.ph
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/rpcsvc/mount.ph
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi/sys/mount.ph
/sbin/mount.nfs
/sbin/mount.nfs4
/sbin/umount.nfs
/sbin/umount.nfs4
…………………
…………………

[amilcar@isis ~]$ rpm -q --whatprovides tar   (procura pelo pacote que prove o comando)
tar-1.20-23.12.1
[amilcar@isis ~]$

Se o comando que voce procura nao estiver instalado, voce pode fazer a instalação do pacote usando o shell ou GUI:

  • Instalação pelo Shell – digite yast na linha de comandoe siga as orientações do YaST2. Também pode ser instalado via zypper ou ainda com o rpm.
  • Instalação via GUI – pode ser instalado pela versão grafica do YaST2, você vai precisar da senha do root para rodar a aplicação.

Usando o recurso GLS

O recurso de Suporte de Linguagem Global (Global Language Support – GLS)  permite que produtos IBM Informix lide com diferentes idiomas, convenções culturais, e conjuntos de códigos para a Ásia, Africa, Europa, Latino Americano, e países do Oriente Médio.

O recurso GLS permite que você crie bancos de dados usando os diacríticos, de sequência , e convenções monetárias e hora do idioma que você selecionar. Não existe nenhum parametro de configuração no ONCONFIG para o GLS, essas configurações são realizadas nas variaveis de ambiente do sistema.

Em um banco de dados, algumas das tarefas por ele realizado dependem das convenções de linguagem e cultura dos dados que eles manipulam. Por exemplo, o servidor de banco de dados deve classificar dados do Brasil diferentemente dos dados de caracteres coreanos. Uma aplicação Cliente deve exibir a moeda canadense diferentemente da moeda Tailandesa.

Se o servidor de banco de dados Informix ® ou produto cliente inclui o código para executar essas tarefas, cada um precisaria ser escrito especialmente para lidar com um conjuento diferentes de culturas especifica de dados.

Com suporte ao GLS, produtos IBM Informix não precisa especificar como processar informações especificas de cultura diretamente. Informações específicas de cultura reside em um local GLS. Quando um produto IBM Informix necessita de informações especificas de culturas, ele chama a biblioteca GLS,  que acessa o local GLS e retorna as informações para os produtos IBM Informix.

O recurso GLS é uma forma portátil de suporte de informação específicos de culturas. Embora muitos sistemas operacionais oferecem suporte para varios tipos de idiomas, esse suporte é geralmente para o proprio sistema operacional. Não existem ainda padrões para o formato de informações especificas de culturas e idiomas. Esta falta de conformidade significa que se você mover um aplicativo de um ambiente de uma determinada região para uma outra região, talvez seja necessario mudar o suporte de linguagem do sistema operacional.

O recurso GLS pode acessar informações especificas de cultura em um UNIX® e ou no Windows®. Produtos IBM Informix pode localizar as informações de localidade em qualquer plataforma para o qual são portados.

Nota para o Ambiente Windows®
Para que o GLS suporte um local não padrão, a versão do Windows® que voce esta usando tambem deve suportar essa localidade. Ou seja, voce não pode suportar um aplicativo japonês no Windows, a menos que a aplicação esta rodando na versão japonesa do Windows®.
Fim da Nota.

Para utilizar o recurso GLS, as tarefas que voce precisa para realizar depende se você é um administrador de sistemas, administrador de banco de dados, usuario final de um aplicativo, usuario final de um utilitario de servidor de banco de dados ou desenvolvedor de aplicações.

Função Tarefas
Administrador de sistema, administrador de banco de dados, e ou usuario final do aplicativo
  • Para locais não padrão, configure as variaveis de ambientes DB_LOCALE, CLIENT_LOCALE, e SERVER_LOCALE.
  • Para customizar os formatos par asuarios finais, configure as variaveis de ambientes GL_DATE, GL_DATETIME e DBMONEY. Para o Informix SQL/C você pode configurar a variavel DBTIME ao inves da variavel GL_DATETIME.

 

 
  • Para configurar um ambiente GLS para Informix ESQL / C, configure as variáveis ​​de ambiente  CC8BITLEVEL e ESQLMF.
  • Para executar uma configuração adicional para o ambiente GLS, definir as variaveis de ambiente DBLANG e GLS8BITFSYS.

 

sexta-feira, 13 de janeiro de 2012

Locale em Informix

Locale

A GLS ou descrição locais (Locale) é um conjunto de arquivos que contêm informações específicas para uma determinada língua e cultura:

  • O nome do conjunto de códigos que os dados do aplicativo usa;
  • A ordem de agrupamento a ser usado para dados de caracteres;
  • O formato em que diferentes tipos de dados aparece para usuários finais;

O locale padrão é a localidade que a instalação do Windows ® utiliza. Por exemplo, Instalações do Windows em Inglês dos EUA usam o locale en_us.1252.

Caracteres de Byte Único

Esta publicação representa caracteres de byte único como uma série de letras minúsculas. O formato para a representação de um caractere de byte único é:

a                                                                                                                                                                                                                               

Aqui a representa qualquer caractere de byte único, não para a letra "a" em si.

O formato para a representação de uma seqüência de caracteres de byte único é a seguinte:

a b c d e ……….z                                                                                                                                                                                                       

Aqui a representa o primeiro caracter e z representa o ultimo caractere da sring. Por exemplo, se a string informix consiste de oito caracteres de byte unico, o seguinte formato representa essa string de 8 caracteres abstratamente:

abcdefgh                                                                                                                                                                                                                 

Caracteres Multibyte

Não é a ideia dessa publicação tentar mostrar a aparencia real de carecteres multibyte no texto, exemplos ou diagramas. Em vez disso, a convenção a seguir mostra como caracteres multibyte são armazenados abstratamente:

A1……………An                                                                                                                                                                                                                                                                                                                   

De um a quatro letras maiusculas identicas, cada um seguido por um numero diferente sobrescrito, representa um caractere multibyte. Os sobrescritos mostram o byte n do caracter multibyte, onde n tem valores entre dois e quatro, por exemplo, os seguintes simbolos representam um caractere multibyte que consiste de dois bytes:

A1A2                                                                                                                                                                                                                                                                                                                                       

A notação a seguir representa um caractere multibyte que consite em quatro bytes (o comprimento máximo de um caractere multibyte):

A1A2A3A4                                                                                                                                                                                                                                                                                                                           

O proximo exemplo mostra uma sequencia de caracteres multibyte em uma instrução SQL:

CREATE DATABASE A1A2B1B2C1C2D1D2E1E2;                                                             

Esta instrução cria um banco de dados cujo nome é composto de cinco caracteres multibyte, cada um dos quais é de dois byte.

Caracteres de byte unico e multibyte na mesma string

Para um conjunto de código multibyte, uma determinada string pode ser composto por caracteres de byte único e multibyte. Para representar essa string mista, esta publicação simplesmente combina os formatos de caracteres multibyte e byte unico. O próximo exemplo representa uma string com quatro caracteres, onde o primeiro e o quarto caracter são byte unico, e o segundo e terceiro caracteres são multibyte que consistem de dois bytes cada um:

aA1A2B1B2b                                                                                       

Caracteres de espaço em branco na String

Espaço me branco é uma serie de um ou mais caracteres que são apresentados como espaço em branco, cada localidade GLS define quais caracteres são caracteres de espaço em branco.

Por exemplo, tanto o TAB (ASCII 9) e no espaço em branco (ASCII 32) pode ser definido como caracteres espaço em branco em uma localidade, mas certas combinação de tecla CTRL e outro caracter pode ser definido como caracteres de espaço em branco em uma localidade diferente.

A convenção para a representação de um espaço de byte unico branco nesta publicação é a letra “s”. A notação a seguir representa um espaço de byte unico branco:

s                                                                                                                                                                                                                                

No conjunto de codigo ASCII, um exemplo de um espçao em branco de um unico byte é o caractere em branco (ASCII 32). Para representar uma string que consiste de dois caracteres ASCII em branco, a publicação utiliza a seguinte notação:

 ss                                                                                                                                                                                                                             


A notação a seguir representa um caractere de espaço multibyte branco:
s1...sn                                                                                                         
Aqui S1 representa o primeiro byte do caractere espaço em branco, e sn representa o último byte do caractere espaço em branco, onde n pode variar entre dois e quatro. A notação a seguir representa 4-byte de um caractere espaço em branco:
s1s2s3s4                                                                                                        
Entendendo melhor Caracteres de espaços em branco
Combinações de caracteres com espaços em branco podem ocorrer em  strings entre aspas, em colunas CHAR que contêm menos caracteres do que o comprimento da coluna declarada, e em outros contextos. Por exemplo, se uma coluna CHAR(5) em um conjunto de códigos de byte único contém três caracteres, a string é preenchido com dois espaços em branco de modo que seu comprimento é igual ao comprimento da coluna:
abcss                                                                                            
O próximo exemplo representa uma string de cinco caracteres (tres caracteres de dados e dois caracteres em branco à direita) em um conjunto de código multibyte , onde cada um dos caracteres de dados e caracteres  de espaço em branco é composto de dois bytes:
A1A2B1B2C1C2s1s2s1s2                                                                                           
Em algumas localidades, uma string pode conter caracteres espaço em branco de bytes de códigos unico e multibyte. Por exemplo, considere a seguinte seqüência:
abcss1s2sss1s2                                                                                                 
A string tem três caracteres de byte único (abc), um caractere de byte único de espaço em branco (s), um caractere de espaço multibyte branco ( s1s2 ), dois caractere de byte único de espaço em branco (ss), e um character de espaço em branco multibyte (s1s2).

terça-feira, 13 de dezembro de 2011

Comparando SuSE com outras distribuições Linux

Usando openSuSE pode ser a melhor maneira de aprender Linux se você tiver a intenção de se tornar um profissional Linux. Com seu foco no desenvolvimento comunitario, voce pode ter certeza que voce esta recebendo alguns dos mais recentes e melhores software de codigo aberto disponivel. Utilizando o openSuSE voce ganhara habilidades em niveis de ambientes empresariais.

Alem da Novell, Red Hat Inc. é outra grande corporação que distribui Linux no mercado. Os Sistemas Operacionais da Red Hat segue o mesmo modelo dual de distribuição, com o Red Hat Enterprise Linux (RHEL) sendo uma distribuição comercial e o Fedora como um sistema Livre.

Debian é considerado uma distribuição Linux de altissima qualidade, com um forte compromisso com os ideiais do software de código aberto. Alguns derivados de distribuição Linux, como o popular Linux Ubuntu e o KNOPPIX são baseado no Debian. E embora o Debian é bom para utilizar-se em pequenas empresas, o projeto não tem uma infra-estrutura de empresas como (treinamento, suporte, documentação e assim por diante) que é construida em torno do SuSE Enterprise Linux e Red Hat Enterprise.

quinta-feira, 8 de dezembro de 2011

Sobre SuSE, Novell e Linux

SuSE (pronuncia-se SOO-zuh) é um Sistema Operacional Linux de propriedade da Novell, Inc. SuSE representado pela empresa de Software Alemã System-Entwicklung. o SuSE foi baseado no Slackware Linux, e tornou-se oficialmente uma distribuição independente em 1996, quando foi lançada a sua primeira versão:

SuSE  foi, e permanece, uma das distribuições de Linux mais popular da Europa.

Em novembro de 2003, a Novell adquriu o SuSE e incorporou a distribuição em seus projetos. Hoje existem 3 edições para o SuSE:

  • SuSE Linux Enterprise Desktop (SLED) edição comercial, baseado em assinatura, produzido pela Novell, Inc. cujo objetivo é fornecer um ambiente de Desktop empresarial, oferecendo suporte, treinamentos, documentações, certificações de hardware, entre outros produtos.
  • SuSE Linux Enterprise Server (SLES) tambem uma edição comercial, porem uma edição focada em servidores.
  • openSuSE, uma versão de codigo aberto do SuSE, livre, e sem as opções de suporte ofertada pela Novell, foi iniciada pela Novell em 2005. openSuSE é uma comunidade do sistema operacional que é distribuida livremente e tornou-se conhecida pela sua estabilidade e suporte a hardware.

terça-feira, 8 de novembro de 2011

SuSE Linux

Depois que você ja teve alguma experiencia com linux, você nao precisa de alguem dizendo a você para clicar no botão ajuda ou para arrastar um arquivo para a lixeira para exclui-lo Alegre. O que você precisa é de um bom livro ou um site que mostrem comandos poderosos e as opções que permitem você controlar seu sistema Linux, como os processos, usuarios, media de armazenamento, recursos de redes, e serviços do sistema associados com tudo isso.

Como podem perceber sou um adpto da SuSE, gosto muito dessa distribuição, talvez por usar e acompanhar toda a sua evolução desde 1994 quando surgiu a versão 1.0 baseada no Slackware. Vou tentar nos proximos dias ou proximos meses quem sabe, passar varios conceitos e comandos do OpenSuSE e do SuSE Linux da Novell para ajudar a você a se tornar um usuario avançado em Linux. Se você é um administrador de Sistemas ou um usuario comum, esses artigos vai mostrar-lhes comandos para criar sistemas de arquivos, solucionar problemas de redes, aumentar o nivel de segurança, e mostrar muita coisa que você gostaria de saber sobre o seu sistema Linux.

Quem me inspiriou a escrever esse artigo foi Christopher Negus e Françõis Caen, que escreveram um livro chamado SUSE LINUX TOOLBOX (1000+ Commands for OpenSuSE and SUSE Enterprise, li o livro e gostei muito, eles estão de Parabens pela iniciativa, esse livro foi publicado nos Estados Unidos da America em Indianopolis e Simultaneamente no Canada, para os interessados na aquisição do Livro, procure no Amazon.com pelo ISBN: 978-0-470-08292-9.

Os artigos que vou escrever, foi inspirado nesse livro, e vai ser focado em comandos de linhas de comandos do openSuSE.

Uma breve historia da Novell’s com o SuSE

para saber mais, vá ate o link do wikipedia http://pt.wikipedia.org/wiki/OpenSUSE

O mais interessante da historia e poucos sabem é que existe um acordo de cooperação entre a Novell e a Microsoft que teve inicio em 2006 e com termino em 2011, porem ja foi renovado por mais 4 anos. O acordo previa a colaboração entre as duas empresas para que trabalhassem em direção ao suporte e interoperabilidade entre os sistemas operacionais Windows e Linux. É bom deixar claro que a Microsoft não contribui para o desenvolvimento do SuSE e tambem esse acordo não se extende ao OpenSuSE, somente ao SuSE Linux Enterprise da Novell.

Então até os proximos artigos,

terça-feira, 11 de outubro de 2011

PAM–Plugglable Authentication Modules

Já faz alguns dias que venho quebrando a cabeça com o PAM, muito minucioso para configurar, porem muito eficiente para quem busca segurança. Já faz dias que estou vasculhando a Internet, procurando por documentos e dicas, participando de fóruns para tentar entender como realmente funciona o aplicativo para poder configurar dois servidores.

O meu objetivo com o PAM, é configurar uma autenticação segura, onde, por exemplo, se o usuário errar a senha por cinco vezes bloqueia o acesso, e somente é liberado se o root liberar, também configurar o comprimento da senha, que seria no caso de seis caracteres, porem teria que ter uma maiúscula e um numero formando essa senha, ate esse momento que estou escrevendo esse artigo não consegui sucesso ainda.

Mas o que é realmente o PAM?

O PAM é uma biblioteca que permite usuários autenticar em ambientes como o Linux ou Unix (HP-UX,
AIX, Solaris, entre outros). O grande objetivo do desenvolvimento do PAM deu-se devido ao problema encontrado quando era preciso fazer o login de um usuário, utilizando uma senha criptografada através de acesso remoto. Além disso, como cada programa possuía seu método próprio de login, caso fosse necessário mudar o método de autenticação, os programas teria que ser alterados para reconhecer este novo método. Foi neste momento, que a SUN MICROSYSTEMS criou o PAM, um aplicativo centralizador da tarefa de autenticação, com isso não seria mais necessário cada programa se preocupar com o papel de autenticador, pois esta seria a tarefa do PAM e casso fosse mudado o critério de autenticação, por questão de segurança, somente seria necessários alterar o método no próprio PAM.

Qual a Vantagem do PAM

A principal vantagem do PAM, além de centralizador das funções de autenticação do login e senha, é que ele é capaz de selecionar, se configurar para tal, os programas aos quais os usuários que fez o login pode ou não acessar. Desta forma, um usuário que quisesse usufruir de aplicativos de áudio e vídeo, por exemplo, remotamente, poderia ser bloqueado o que não aconteceria caso ele estivesse utilizando estes aplicativos localmente.

Configuração do Módulo PAM

Os arquivos de configuração do PAM, no Linux, normalmente estão localizados no diretório /etc/pam.d/.

Nestes arquivos, a linha de configuração é dada como:

Service-name module-type control-flag modulo-path args

Nome do Serviço

Esta associado ao nome do serviço a esta entrada. Por exemplo, ftpd, rlogind, su e outros.

Divisão dos Módulos – Module-Type

Como o próprio nome diz, o PAM é um conjunto de módulos, no qual cada um recebe uma ou mais funções especiais dentro do processo de autenticação. Essa função que cada modulo tem é determinado pelas divisões dos módulos do PAM, que são: AUTH, ACCOUNT, PASSWORD, SESSION.

AUTH

A divisão AUTH trata da autenticação, seja por login/senha ou autenticação biométrica (voz, retina, impressão digital, por exemplo).

ACCOUNT

Esta divisão, terá o papel de autorização ou não autorização para o uso de programas com base no login, determinando assim, o usuário apto a utilizar aquele programa ou não.

PASSWORD

É responsável pela troca de senha.

SESSION

Determina qual será o ambiente do usuário com base no seu login.

É importante salientar, neste momento, que o PAM é o conjunto de módulos e como tal, não precisa ter todos os módulos existentes e possíveis para funcionar, basta ter aqueles os quais o administrador acha necessário trabalhar, e que, alguns módulos possuem apenas uma das divisões acima citadas enquanto outros chegam a ter todas as divisões.

Controle das Flags – Control-flag

O control-flag é utilizado para indicar de que forma a biblioteca do PAM reagirá ao sucesso ou falha do módulo que esta associado. Outra função que a control-flag pode executar é dando prioridades a cada módulo, visto que eles podem ser empilhados.

Existem dois modos de sintaxe para o control-flag um mais antigo e tradicional que divide a sintaxe em: REQUIRED, REQUISITE, SUFFICIENT, OPTIONAL. O modo mais novo, mais elaborado e especifico separa da seguinte forma: VALUE=ACTION. A parte ACTION é nomeada como IGNORE, BAD, DIE, OK, DONE, RESET.

Controle de Sintaxe do Modo Tradicional

REQUIRED

Estabelece que: a falha do módulo utilizando a sintaxe REQUIRED, não será mostrada ao usuário até que todos os módulos estejam sendo executados.

REQUISITE

Parecido com o REQUIRED, porem no caso de falha, o controle é retornado direto a aplicação. Esta flag é muito utilizada para proteger um usuário que tente colocar sua senha quando o meio esta inseguro.

SUFFICIENT

A falha deste modulo não implica em falha da autenticação como um todo. Se o modulo falhar, o próximo da classe é executado. Se não houver próximo, então a classe retorna com sucesso. Se, por outro lado, o modulo terminar com sucesso, então os módulos seguintes dessa classe não serão executados. Este parâmetro é bastante usado no caso de usar LDAP para autenticação, por exemplo, ou outra fonte de dados.

OPTIONAL

Módulos marcados como ptional praticamente não influencia o resultado da autenticação como um todo. Eles terão alguma influencia somente caso os módulos anteriores da mesma classe não apresentem um resultado definitivo.

Exemplos de Modulos do PAM – Module Path

Existem muitos módulos disponíveis como: pam_access, pam_chroot, pam_cracklib, pam_deny, pam_env, pam_filter, pam_ftp, pam_group, pam_issue, pam_krb4, pam_lastlog, pam_limits, pam_listfile, pam_mail, pam_mkhomedir, pam_motd, pam_nologin, pam_permit, pam_pwdb, pam_radius, pam_rhosts_auth, pam_rootok, pam_securetty, pam_tally, pam_time, pam_unix, pam_userdb, pam_warn, pam_wheel, pam_tally2.

Porem, somente os módulos principais serão mostrados e explicados a seguir.

Securetty Module – pam_securetty

Module-Type: AUTH

Autor: Elliot Lee

Características: este modulo simplesmente verifica em qual terminal o root esta tentando fazer login, então a partir dele é possivel restringir os locais em que o root pode fazer login. Logo,a principal característica do pam_securetty é evitar o login do root em terminais inseguros. Vale ressaltar, que para o pam_securetty,nenhum terminal esta liberado para o login, o root que devera configurar este modulo para ele possa fazer o login em outro terminal.

Password Database Module – pam_pwdb

Module-Type: ACCOUNT, AUTH, PASSWORD, SESSION

Autores: Cristian Gafton e Andrew G. Morgan

Caracteristica: Este é o principal modulo do programa login, para tanto ele se encarrega de fazer a verificação do nome do usuário e senha, assim, autorizando o usuário ou não. Este modulo ainda aceita alguns parâmetros em sua configuração: shadow, nullok, md5, use_authtok.

Shadow: permite o uso de senhas shadow ou convencionais.

Nullok: permite o uso de senha em branco.

Md5: usa criptografia md5 em vez de cript padrão.

Use_authok: indica que o modulo deve usar a autenticação já fornecida para os módulos anteriores, para não interrogar o usuário novamente.

No-login Module – pam_nologin

Module-Type: ACCOUNT, AUTH

Autor: Michael K. Johnson

Caracteristica: este modulo é muito útil quando se deseja fazer a manutenção do sistema. Com ele funcionando, não será permitido a nenhum usuário fazer o login com exceção do root. É importante citar que, usuários que já estiverem feito o login não serão afetados com a adição deste modulo.

Cracklib pluggable password strength-checker – pam-cracklib

Module-Type: PASSWORD

Autor: Cristian Gafton

Caracteristica: este modulo fara a verificação da fragilidade de uma nova senha. Para isto, ele avalia algumas características como:

Polindrome: a nova senha é um palindrome da antiga?

Case change only: a nova senha é a antiga com apenas a diferença da caixa(maiúscula e minúscula)?

Simiar: a nova senha é similar a antiga? Ou seja, se existe caracteres repetidos. Ele estipula um numero mínimo para o uso dos mesmo caracteres da senha antiga.

Simple: a nova senha é muito pequena?

Rotated: a nova senha é a antiga, porem invertida?

Already used: a opção para nova senha já foi utilizada no passado?

Access Module – pam_access

Module-Type: ACCOUNT

Autor: Alexei Nogin

Caracteristica: verifica quais usuários podem fazer login e em qual local (terminal, remoto, domínio, etc.)

Resource Limits Module – pam_limits

Module-Type: SESSION

Autor: Cristian Gafton

Caracteristica: este modulo limita o uso dos recursos como : uso da CPU, memoria e outros. Sua linha de configuração de entrada é:

<domain> <type> <item> <value>

Domain: pode ser o nome de um usuário ou grupo.

Type: pode ser de dois tipos: hard ou soft. Para o hard o usuário não pode alterar os recursos pre-definidos, já para o modo soft o usuário é capaz de alterar os recursos, porem sem ultrapassar os limites do modo hard.

Item: pode ser cada um dos seguintes:

Core: tamanho máximo para arquivos core (KB)

Data: tamanho máximo do seguimento de dados de um processo de memoria

Fsize: tamanho máximo para novos arquivos.

Memlock: tamanho máximo de memoria que um processo pode bloquear na memoria física.

Nofile: quantidade máxima de arquivos abertos ao mesmo tempo

Rss: tamanho máximo que um processo pode manter na memoria física

Stack: tamanho máximo da pilha

Cpu: tempo máximo do uso da CPU

Nproc: quantidade máxima de processos disponíveis para um único usuário

As: limite de espaço de endereçamento

Maxlogins: quantidade máxima de logins para este usuário ou grupo

Priority: a prioridade com os processos deste usuário serão executados.

Value: determina o valor para opção do Item.

Argumentos – Args

Os args, argumentos, fazem parte de uma lista de símbolos que podem ser colocados ao final de cada modulo, se desejado. Estes argumentos são semelhantes aos argumentos disponíveis em um comando do Linux.