DICAS UNIX BRASIL

Limitando o espaço da área de dados

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE
DICA UNIX[bb]
Dica Unix 2930 - 13 de fevereiro de 2009
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Limitando o espaço da área de dados

Você pode limitar o espaço da área de dados ( processo ) usando o limit e o ulimit.

No ksh ou sh :

$ ulimit -d SIZE_IN_KB

Para mostrar o que atualmente está configurado :

$ ulimit -a

no csh ou tcsh :

$ limit datasize SIZE_IN_KB

Para mostrar o que atualmente está configurado :

$ limit

Por exemplo :

$ ulimit -d 141073
$ ulimit -a

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe
Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe
Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================
DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR ESCRITO DA UNIX GURU UNIVERSE.
TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO". UGU ADVERTE PARA
TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM PRODUÇÃO. Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Quem me enviou email ?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE
DICA UNIX[bb]
Dica Unix 2939 - 22 de fevereiro de 2009
http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Quem me enviou email ?

Para conhecer todos que lhe enviaram email .

---------------CUT HERE ----------
#!/bin/sh

: ${USER:=`expr "\`LANG=C id\`" : 'uid=[0-9]*(\([^)]*\).*'`}

for MBox in /var/mail/$USER /usr/spool/mail/$USER ""
do
   [ -r "$MBox" ] && break
done

[ -z "$MBox" ] && exec echo "No mailbox"

exec grep  "^From " "$@" "$MBox"

---------------CUT HERE -----------

Esta dica é generosamente suportada por : pradeep@cdacb.ernet.in

 

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe
Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe
Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================
DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO". UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM PRODUÇÃO. Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

PROBE-SCI-ALL E O IOSTAT

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 2929 - 12 de fevereiro de 2009
http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

PROBE-SCI-ALL E O IOSTAT 

Se você precisa efetuar o probe-sci-all quando o seu sistema está online, você pode fazê-lo executando o seguinte comando :

# iostat -En

Este comando é aplicável para o Solaris 2.6 na plataforma SPARC.

Esta dica é generosamente suportada por : bkumar@wipro.co.in

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe

Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe

Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================

DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE
E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR
ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO".
UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM
PRODUÇÃO.
Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Sistema congelou ? Alt + SysReq nele !!!!

No Linux sempre há alguns métodos interessantes de se salvar quando o seu sistema tem algum problema crítico. Enquanto no Windows somos forçados a usar sempre o famoso CTRL+ALT+DELETE, para matar processos com o Task Manager, sempre temos na maioria dos casos de usar o dedoff ( botão de off do computador ou o famoso reset ).

 

OLHA O TUX AI

 

No Linux, bem como em outros Unixes[bb] a coisa é mais divertida. Nem sempre precisamos apelar para o dedoff que na maioria das vezes pode corromper algum dado importante que temos em disco. Em alguns casos mais extremos, o dedoff pode inclusive causar um problema geral em um sistema de arquivos causando a perda de todos os dados.

Para salvar-lhe destes problemas, vamos apresentar aqui uma série de combinações de atalhos de teclado que lhe salvarão dos famosos problemas com o seu sistema ... sempre que houver um congelamento.

Em tempo, deve-se lembrar que as Magic Keys devem estar habilitadas no seu kernel para que os comandos abaixo funcionem.

Para quem tiver alguma dúvida, a tecla Sysrq é equivalmente a tecla "Print Screen".

Well, então vamos lá ...

Alt + SysR + K
Mata todos os processos ( incluindo o X ), que estão rodando no console atual.

Alt + SysRq + E
Manda o sinal TERM, para todos os processos excluindo o init.

Alt + SysRq + I
Manda um KILL para todos os processos excluindo o init.

lt + SysRq + L
Manda um KILL para todos os processos, agora incluindo o init.

Alt + SysRq + S
Ótimo para prevenir perdar de dados, pois executa um sync ( cache write ) em todos os filesystems que estão montados naquele momento.

Alt + SysRq + U
Remonta todos os sistemas em read-only. Tem praticamente o mesmo efeito do Sync, com um benefício importante : se a operação obtiver sucesso, o fsck não vai ter que testar todos os sistemas de arquivos caso haja um reset geral ( ou seja, o famoso dedoff ).

Alt + SysRq + R
Troca o modo do teclado de RAW para XLATE (útil quando se está no X)

Alt + SysRq + B
Reinicia automaticamente o computador. Vale ressaltar que este é um método bem brusco, já que pode causar erros nos sistemas de arquivos, pois não houve nenhuma sincronização.
Assim, este não é o método mais indicado para desligamento do computador.

Alt + SysRq + O
Desliga o computador pelo método mais indicado ( aliás, tal qual o Piter Punk já diz em seu artigo, desde que você tenha uma fonte ATX e o APM configurado, o que hoje, praticamente é um padrão.

Como cabeça de SysAdmin nunca guarda tanta coisa, utilize o Alt + SysRq + H para lhe dar todas as opções de combinações de teclas possíveis.

Além disto, o Piter Punk deixou em seu site um modo bem legal de lembrar isto, uma pequena cola para ficar perto de você, sempre que isto acontecer :-)
Vale a pena imprimir, pois vai lhe salvar de muito problema que antes lhe custaram algumas reinicializações problemáticas.

Recuperando a senha de root do MySQL

Dica antiga, mas sempre atual e útil, porque perder senha do MySQL é algo que a gente sempre consegue a mágica de fazer.

Bom, o método para recuperar a senha do MySQL[bb] é bem simples. Na realidade, a mágica consiste em subir o MySQL[bb] sem as tabelas de validação de usuário. Assim, o SGBD entende que não há nenhuma senha de super usuário ou de usuário comum e lhe deixa logar anonimamente. 

Nesta dica em questão vou levar em consideração o Slackware[bb]  e Linux[bb] que se baseiam no System V ( Suse, Red Hat e asseclas ). 

O processo é bem simples e é composto de cinco partes 

1. Parar o processo do MySQL

2. Subir o MySQL sem as tabelas de validação de usuário 

3. Conectar ao mySQL sem senha com privilégios de root 

4. Criar uma nova senha de root 

5. Subir novamente o serviço do MySQL 

Então, vamos começar a brincadeira.

1. Parando o processo do MySQL

$ su -
password:

Slackware : /etc/rc.d/rc.mysqld stop
System V : /etc/init.d/mysql stop

2. Subindo o processo do MySQL sem as tabelas de validação 

Em ambos os sistemas será o mesmo comando, o resultado é que pode se diferente.

root@matrix:~# mysqld_safe --skip-grant-tables &
[1] 3074
root@matrix:~# nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

3. Conectar no mysql sem senha com privilegios de root 

root@matrix:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


4. Criando uma nova senha de root

mysql> use mysql;
mysql> update user set password=PASSWORD("NOVA-SENHA-DE-ROOT") where User='root';
mysql> flush privileges;
mysql> quit

5. Subir novamente o serviço MySQL

Primeiro, vamos matar o atual processo do mysql 

 

Dica antiga, mas sempre atual e útil, porque perder senha do MySQL é algo que a gente sempre consegue a mágica de fazer.

Bom, o método para recuperar a senha do MySQL é bem simples. Na
realidade, a mágica consiste em subir o MySQL sem as tabelas de
validação de usuário. Assim, o SGBD entende que não há nenhuma senha de
super usuário ou de usuário comum e lhe deixa logar anonimamente. 

Nesta dica em questão vou levar em consideração o Slackware  e Linux que se baseiam no System V ( Suse, Red Hat e asseclas ). 

O processo é bem simples e é composto de cinco partes 

1. Parar o processo do MySQL

2. Subir o MySQL sem as tabelas de validação de usuário 

3. Conectar ao mySQL sem senha com privilégios de root 

4. Criar uma nova senha de root 

5. Subir novamente o serviço do MySQL 

Então, vamos começar a brincadeira.

1. Parando o processo do MySQL

$ su -
password:

Slackware : /etc/rc.d/rc.mysqld stop
System V : /etc/init.d/mysql stop

2. Subindo o processo do MySQL sem as tabelas de validação 

Em ambos os sistemas será o mesmo comando, o resultado é que pode se diferente.

root@matrix:~# mysqld_safe --skip-grant-tables &
[1] 3074
root@matrix:~# nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

3. Conectar no mysql sem senha com privilegios de root 

root@matrix:~# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.67 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


4. Criando uma nova senha de root

mysql> use mysql;
mysql> update user set password=PASSWORD("NOVA-SENHA-DE-ROOT") where User='root';
mysql> flush privileges;
mysql> quit

5. Subir novamente o serviço MySQL

Primeiro, vamos matar o atual processo do mysql 

root@matrix:~# kill -9 $(ps aux | grep mysql | grep -v grep | awk -F" " '{print $2}')
[1]+  Killed                  mysqld_safe --skip-grant-tables

Depois. subir o Mysql novamente : 

Slackware : /etc/rc.d/rc.mysqld start
System V : /etc/init.d/mysql start

E pronto, você já pode se sentir mais tranquilo, sabendo a senha de root do seu Mysql :-) 

 

O meu comando está completo ?

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 3227  - 06 de dezembro de 2008

http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

O meu comando está completo ?

Este script demonstra como um comando qualquer que esteja sendo executado pode mandar um email sempre que ele falhar.

----------------CUT HERE -----------
#!/bin/ksh
#
# IWS Log Download/Archive Script
#
#*****************************

**

# The next variable can be set for multiple addresses
# (i.e. jsmith@yahoo.com,jsmith@hotmail.com)
MAILADD=status

# Use secure copy to download today's log files

scp "admin@ISPlogsrv.isp.com#22:/app/weblog/access.ISPlogsrv" $LOGDIR
if [ $? -gt 0 ]; then
mail $MAILADD <<EOF
From: $0
Subject: Web Server Log
The download of log files
from ISPlogsrv to webtrsrv
has failed.  The files must
be downloaded immediately.
See $0 for details.  Once the
files have been downloaded,
click "Analyze Now" for each
website1 Webtrends profile.
Otherwise, there will be a
missing day in the web
statistics.
EOF
fi;

exit 0

----------------CUT HERE -----------

 
Esta dica é generosamente suportada por : gideon@infostruct.net

 

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe

Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe

Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================

DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE
E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR
ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO".
UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM
PRODUÇÃO.
Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Argument list is too long

Dica interessante para quem está tentando limpar um diretório e recebe este erro maravilhoso :

[root@matrix:/tmp]# rm -f *
-bash: /bin/rm: Argument list too long

Há dois modos de resolver isto, um é com um for na linha de comando :

for i in *; do rm -f $i; done

Ou usando o famoso canivete suiço do mundo Unix, o find :-) 

find . -name '*' -print0 | xargs -0 rm

Pode não ser novidade, mas que é uma mão na roda quando temos que procurar este tipo de coisa na net ... é :-)

Lembrando que o find vai lhe permitir fazer algumas filtragens bem interessante na busca , gerando uma deleção melhor dos arquivos :-)

The English version of this post is here.

 

Remoção por strings

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX
Dica Unix 3245 - 24 de dezembro de 2008

http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Remoção por strings

O que isto aqui faz ?

rm `ls -al | grep str | awk '{if ($9 !~ /^str/) {print $9}'`

Remove todos os arquivos que contém a string 'str' excetuando-se as que começam com esta string. Mudando o !~ para =~ , o contrário acontece.
 

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe

Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe

Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================

DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE
E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR
ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO".
UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM
PRODUÇÃO.
Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Fechando o telnet e o ftp

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 2892 - 6 de janeiro de 2009

http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Fechando o telnet e o ftp

Quando o acesso remoto ao servidor não é necessário, feche o FTP e o Telnet com o seguinte :

vi /etc/inetd.conf

Comente as linhas iniciadas com Telnet e FTP. Salve o arquivo e saia.

Pare e inicie o daemon com os seguintes comandos :

/etc/rc.d/init.d/inet stop

/etc/rc.d/init.d/inet start

( no seu sabor de Unix pode ser /etc/init.d )

Agora ninguém pode acessar o telnet ou o ftp na sua máquina.

Esta dica é generosamente suportada por :  avsrao_india@hotmail.com

 

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe

Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe

Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================

DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE
E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR
ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO".
UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM
PRODUÇÃO.
Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2008
======================================

Dando uma olhada no seu sistema

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
UNIX GURU UNIVERSE

DICA UNIX[bb]
Dica Unix 3224 - 03 de dezembro de 2008
http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Dando uma olhada no seu sistema

Aqui está um pequeno script pronto para uso. Apesar de não cobrir tudo que tem que ser olhado em um sistema, ele cobre o básico.

Use o seguinte script para checar problemasd de segurança no seu sistema. Rode o mesmo via cron uma vez por dia e tenha o resultado remetido via email para você ( é bom observar, que, você pode necessitar modificar alguma coisa, por causa do seu sabor de Unix ). 

------------- CUT HERE ---------

echo LIST PASSWD AND SHADOW FILES TO CHECK FOR LAST DATE ACCESSED
echo
cd /etc; ls -l *passwd* *shadow*
echo
echo CHECK FOR USERS AND GROUPS THAT ARE EQUAL WITH ROOT
echo
grep ':00*:' /etc/passwd
echo
echo CHECK FOR USERS WITH SHELL ACCESS
echo
grep bash /etc/passwd
echo
echo LIST SU ACTIVITY
echo
cat /usr/adm/sulog
echo
echo CHECK FOR INVALID PASSWORDS
echo
grep invalid /usr/adm/syslog
echo
echo LIST THE LAST 20 LOGINS
echo
last |head -20
echo
echo CHECK THE HARD DRIVE SPACE
df

-----------------------------------------------------------------------

Para assinar: http://www.ugu.com/sui/ugu/show?tip.subscribe

Para sair: http://www.ugu.com/sui/ugu/show?tip.unsubscribe

Para enviar uma dica: http://www.ugu.com/sui/ugu/show?tip.today
======================================

DECLARAÇÃO: TODAS AS DICAS DE UNIX SÃO PROPIEDADE DA UNIX GURU UNIVERSE
E NÃO SÃO PARA SER VENDIDAS, IMPRESSAS OU USADAS SEM O CONSENTIMENTO POR
ESCRITO DA UNIX GURU UNIVERSE. TODAS AS DICAS SÃO "USADAS POR SEU PROPRIO RISCO".
UGU ADVERTE PARA TESTAR TODAS AS DICAS EM UM AMBIENTE QUE NÃO ESTEJA EM
PRODUÇÃO.
Unix Guru Universe - www.ugu.com - tips@ugu.com - Copyright 1994-2009
======================================

Páginas