Apr 26

Red Hat 5: Missing ext2online

Category: Red Hat

No RHEL 5 a funcionalidade do comando ext2online foi migrada para o comando resize2fs.

Portanto, ainda podemos realizar o aumento dos file systems on-line, conforme abaixo:

resize2fs /dev/rootvg/tmplv

OBS.:

Porém, reduzir file system que encontra-se em uso apenas off-line.

Comments are off for this post

Jan 16

Solução para mensagem “Terminal too wide”

Category: Solaris

No Solaris algumas vezes encontramos este erro quando utilizamos o editor VI:

Terminal too wide

Utilizamos o comando abaixo:

# /usr/openwin/bin/resize

Se mesmo assim não funcionar, para solucionar este problema precisamos incrementar o número de colunas utilizando o comando abaixo:

# stty columns 120

OBS.:

Uma melhor solução é instalar o VIM

Comments are off for this post

Jan 14

Administração de usuários HP-UX

Category: HP-UX

Abaixo segue uma descrição dos principais comandos de administração de usuários no HP-UX (estes comandos são semelhantes aos demais Sistemas Operacionais Unix).

- Criar novos usuários

# useradd -m login

- Modificar conta de usuário (modifica grupo sencundário de um determinado login)

# usermod -G sencond_group login

- Removendo uma conta de usuário

# userdel login
# userdel -r login (remove também o home do usuário)

- Criar novo grupo

# groupadd group

- Modificar grupo

# groupmod -n groupname newgroupname

- Excluir um grupo

# groupdel groupname

- Checar erro de syntaxe no arquivo /etc/passwd

# pwck

- Checar erro de syntaxe no arquivo /etc/group

# grpck

- Configurando password para uma conta de usuário

# passwd login

- Configurando null password para uma conta de usuário

# passwd -d login

- Forçar troca de password no próximo login

# passwd -f login

- Bloqueio de uma conta de usuário (disable/lock)

# passwd -l login
ou
#  /usr/lbin/modprpw -l -x login

- Liberação de uma conta de usuário (enable/unlock)

# /usr/lbin/modprpw -l -k login

- Reset de password

# /usr/lbin/modprpw -x login

- Reset do Password Age

# /usr/lbin/modprpw -v login

OBS.:

/etc/profile – sistema de login script
~/.profile – user login script
~/.shrc OR ~/.kshrc OR ~/.cshrc – shell startup script (executado sempre que usuário efetua um login)
/etc/skel/ – Diretório padrão de onde todos os arquivos são copiados quando um novo usuário é criado.

Comments are off for this post

Jun 22

Configurando Automount

Category: Red Hat

Para este exemplo vou utilizar um file system exportado via NFS e outro via SAMBA.

Editamos o arquivo auto.master, para definir time out e onde os compartilhamentos serão montados.

No exemplo abaixo, todos os compartilhamentos configurados no arquivo auto.nfs serão montados em /mnt/shared e com um time out de 60 segundos.

/mnt/shared    /etc/auto.nfs    –timeout 60
/mnt/shared    /etc/auto.smbfs    –timeout 60

Feito isso editamamos o arquivo auto.nfs que contém todos os mapeamentos exportados via NFS.

/www    -rw,soft,intr    server:/exports/www

Depois editamamos o arquivo auto.smbfs que contém todos os mapeamentos exportados via SAMBA.

/SMB -fstype=smbfs,username=xxxx,password=xxxx ://server/shared

Finalizando basta realizar um start no daemon autofs.

service autofs start

Comments are off for this post

Jun 22

Chrooted Shell com PAM (Jail)

Category: Debian

Primeiro instale o pacote libpam-chroot

# apt-get install libpam-chroot

Configure o ambiente chrooted. No exeplo estou utilizando o user admin e o jail em /home/chroot.
Adicione a linha abaixo em /etc/security/chroot.conf

admin   /home/chroot

Crie o usuário admin normalmente:

# useradd -d /home/admin -s /bin/sh admin
# passwd admin

Insira a linha abaixo nos arquivos /etc/pam.d/ssh e /etc/pam.d/login.

# Chroot features
session    required   pam_chroot.so debug

Depois finalizamos o ambiente chrooted executando scripts que se encontram em /usr/share/doc/libpam-chroot/examples/

# cd /usr/share/doc/libpam-chroot/examples/
# chmod 750 *.sh

Devemos fazer pequenas correções em dois scripts

1. No script setup-chrootdir-shell.sh

Alterar as linhas que contenham:

/bin/ln

por

/bin/cp

2. No script setup-chrootdir-template.sh

Alterar a variável DIRECTORIES para:

DIRECTORIES=”bin dev lib”

3. O scripts setup-chrootdir-rsync.sh, deve ser executado apenas se desejar utilizar o “rsync”

Executar os scripts como abaixo:

./setup-chrootdir-shell.sh /home/chroot/
./setup-chrootdir-template.sh /home/chroot/

Caso deseje utilizar rsync

./setup-chrootdir-rsync.sh /home/chroot/

Filizando copiamos o passwd  e o PAM

# cd /home/chroot
# mkdir -p etc/pam.d/
# cp /etc/passwd etc/
# cp -r /etc/pam.d/* etc/pam.d/

OBS.: Se estive utilizando o shell “/bin/sh”

# cd /home/chroot
# cp /bin/sh bin/
# ldd bin/sh
linux-gate.so.1 =>  (0xffffe000)
libncurses.so.5 => /lib/libncurses.so.5 (0xb7efd000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7ef9000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dc7000)
/lib/ld-linux.so.2 (0xb7f46000)
# cp /lib/libncurses.so.5 lib/
# cp /lib/ld-linux.so.2 lib/

Se durante o logon a conexão finalizar com a seguinte mensagem “Conection Closed”, altere o /etc/ssh/sshd_config conforme abaixo”:

UsePrivilegeSeparation yes

para

UsePrivilegeSeparation no

NOTA:

Algumas vezes faz se necessário as bibliotecas libnss_*

# cp /lib/libnss_* lib/

Comments are off for this post

Jun 22

Chrooted Shell com RSSH (Jail)

Category: Debian

Primeiro vamos instalar o pacote do rssh.

# apt-get install rssh

Depois criamos a seguinte configuração no arquivo /etc/rssh.conf:

logfacility = LOG_USER
allowscp
allowsftp
umask = 022
user=admin:011:00011:”/home/chroot”

Onde os paramêtros são:

user=<login>:<umask>:<service>:”<chroot directory>”

Verifique se no arquivo /etc/shells existe a entrada “/usr/bin/rssh”.

Agora montamos o ambiente do usuário em chroot (Jail)

# mkdir /home/chroot
# cd /home/chroot
# mkdir bin/
# mkdir dev/
# mkdir -p etc/pam.d
# mkdir -p home/admin
# mkdir -p usr/bin
# mkdir -p lib/tls/i686/cmov
# mkdir -p usr/lib/rsh
# mkdir -p usr/lib/openssh
# mkdir -p usr/lib/i686/cmov

Depois é necessário copiar os programas e as bibliotecas correspondentes de cada um.

# cp /etc/passwd etc/
# cp -r /etc/pam.d/* etc/pam.d/
# cp /usr/bin/scp usr/bin/
# cp /usr/bin/sftp usr/bin/
# cp /usr/bin/rssh usr/bin/
# cp /usr/lib/rssh_chroot_helper usr/lib/
# cp /usr/lib/rssh/rssh_chroot_helper usr/lib/
# cp /usr/lib/sftp-server usr/lib/
# cp /usr/lib/openssh/sftp-server usr/lib/openssh/

Agora basta copiar as bibliotecas referente a cada programa, para isto use o comando “ldd”. De acordo com o exemplo abaixo

# ldd /usr/bin/scp
linux-gate.so.1 =>  (0xffffe000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb7f75000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb7e3b000)
libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb7e36000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7e22000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7e0c000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7dde000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7dc2000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7d46000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7d20000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7d1d000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7d18000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7be7000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7be3000)
/lib/ld-linux.so.2 (0xb7f90000)
#

Como processo é demorado e repedito, utilize o script no link abaixo:

Download make_jail.sh

Por último vamos criar o usuário.

# useradd -d /home/chroot/home/admin -s /usr/bin/rssh
# password admin

Caso user já exista

# usermod -d /home/chroot/home/admin -s /usr/bin/rssh admin

OBS.:

Lembre-se de atualizar o passwd para o ambiente chrooted.

Finalizamos com o restart do ssh.

service sshd restart

NOTA:

Algumas vezes faz se necessário as bibliotecas libnss_*

# cp /lib/libnss_* lib/

Colocar permissão de SUID para o arquivo rssh_chroot_helper

# chmod 4755 /usr/lib/rssh_chroot_helper
# chmod 4755 /usr/lib/rssh/rssh_chroot_helper

Caso contrário teremos a seguinte mensagem no syslog.

Jun 21 18:01:17 server rssh_chroot_helper[3120]: chroot() failed, 2: Operation not permitted

Se durante o logon a conexão finalizar com a seguinte mensagem “Conection Closed”, altere o /etc/ssh/sshd_config conforme abaixo”:

UsePrivilegeSeparation yes

para

UsePrivilegeSeparation no

Comments are off for this post

Jun 21

Aumentando área de swap no Linux com LVM

Category: Red Hat

Primeiro precisamos desabilitar a área de swap

# swapoff -v /dev/rootvg/swaplv

Agora aumentamos a nossa área de swap em 512M

# lvextend -L +512M /dev/rootvg/swaplv

É necessário formatar a nova área de swap

# mkswap /dev/rootvg/swaplv

Finalizando habilitamos a nova área de swap

# swapon -va /dev/rootvg/swaplv

Para verificar a nova área utilize:

# cat /proc/swaps

ou

# free

Comments are off for this post

Jun 21

Utilizando rsh, rexec e rlogin

Category: SUSE

Primeiro precisamos ter instalado os seguintes pacotes:

server:~ # rpm -qa | grep rsh
rsh-0.17-548.13
rsh-server-0.17-548.9
server:~ #

Depois alteramos a linha abaixo nos arquivo de configurações de cada serviço no diretório /etc/xinet.d, como abaixo.

De:

disable = yes

Para:

disable = no

Logo após realizar um restart no serviço xinetd:

server:~ # /etc/init.d/xinetd restart
Shutting down xinetd: done
Starting INET services. (xinetd) done
server:~ #

Para verificar se os serviços encontram-se ativos:

server:~ # chkconfig –list rsh rexec rlogin
xinetd based services:
rsh:     on
rexec: on
rlogin: on
server:~ #

NOTA:

Para executar comandos remotos através do rexec, utilize a linha de comando abaixo.

server:~ # rexec -a -l <username> -p <password> <server> <command>

Também é necessários liberar as portas TCP:

512 => rexec
513 => rlogin
514 => rsh

Comments are off for this post

May 10

Troubleshooting snmpdx

Category: Solaris

A pouco tempo encontrei o seguinte log no /var/adm/messages em alguns servidores Solaris 8, fazendo com que o file system /var chega-se em 100% várias vezes.

May 5 21:01:05 sserver8 /usr/lib/snmp/snmpdx: [ID 702911 daemon.error] session_open() failed for a pdu received from localhost.55659
May 5 21:01:05 sserver8 /usr/lib/snmp/snmpdx: [ID 702911 daemon.error] community_check();bad community from localhost

Realizei os seguintes procedimentos.

  • Verifiquei o /etc/hosts, em busca de entradas duplicadas.

127.0.0.1 localhost

10.0.0.11 sserver8

  • Alterei as seguintes linhas abaixo no arquivo /etc/snmp/conf/snmpd.conf.

system-group-read-community S89priv

trap-community S89priv

managers localhost snmpman

  • Depois realizei a seguinte configuração em /etc/snmp/conf/snmpdx.acl

acl = {

{

communities = public

access = read-only

managers = *

}

}

Nota: S89priv é o nome da comunidade

  • Após isto é necessário realizar um restart do serviço

/etc/rc3.d/S76snmpdx stop

/etc/rc3.d/S76snmpdx start

E por fim você irá constatar que as mensagens de erro não mais ocorrem.

tail -f /var/adm/messages.

Espero que a dica tenha sido útil.

Comments are off for this post

May 1

Análise de pacotes com iptrace

Category: AIX

No AIX uma boa opção para substituir o tcpdump é o iptrace, que realiza a captura de pacotes recebidos pelas interfaces configuradas.

O iptrace pode ser iniciado através da linha de comando, sem utilizar o System Resource Controler (SRC), mas para ser parado é necessário um kill -15, se for parado de qualquer outra forma o mesmo permanece ativo na memória.

O arquivo de log gerado pelo iptrace para ser lido é necessário o utilizar o ipreport.

Exemplos:

Start iptrace através do System Resource Controller

# startsrc -s iptrace -a “/tmp/nettrace”

ou

# startsrc -s iptrace -a “-i en0 /tmp/nettrace”

Stop do daemon

# stopsrc -s iptrace

ou

# kill -15 process_number

Iniciando daemon através da linha de comando

Gravar pacotes recebidos na interface en0 de um host especifico

# iptrace -i en0 -p protocol -s hostname /tmp/net.trace

Gravar pacotes enviados e recebidos de um determinado host

# iptrace -i en0 -s hostname -b /tmp/net.trace

Gerando relatórios através do arquivo de saída do iptrace

# ipreport -sn /tmp/net.trace

Nota: Se o daemon do iptrace se encontra travado (hang), será necessário realizar um restart no sistema.

Comments are off for this post

« Previous PageNext Page »