Revista Do Linux
 
  
  
EDIÇÃO DO MÊS
 CD do Mês


 Capa
 Entrevista
 Estudo de Caso
 Serviço Público
 Documentação
 Hardware
 Passo a Passo
 Programação
 Redes
 Ferramenta
 Solução
 Estudo de Caso
 

DICAS E DÍVIDAS

Dicas de kylix

Jairo M. de Barros Júnior - supreme@linux-lover.co.uk

Procedimento padrão para limpar componentes

Este procedimento varre o formulário atual e limpa os dados dos componentes do tipo TMemo e TEdit.



procedure Limpar;

var

n:Integer;

begin

for n := 0 to Self.ComponentCount -1 do

//Self seria o form atual!

with Self do begin

//Verifica o tipo de componente e manda limpar

if (Components[n] is TEdit)  then (Components[n] as TEdit).Clear;

if (Components[n] is TMemo)  then (Components[n] as TMemo).Clear;

//E por ai vai...

end;

end;

Tirando aspas de uma String

Função usada para evitar erros em uma query quando alguns dados estão vindo de TEdits e TMemos.



function TiraAspas(Texto:String):String;

var

sTemp:String;

begin

sTemp := Texto;

while pos('“', sTemp) <> 0 do delete(sTemp, pos('“', sTemp), 1);

Result := sTemp;

end;

Redimensionamento de um array

Esta função redimensiona um array de String e adiciona um outro valor. O array acaba tendo um tamanho praticamente infinito.



type

TArSTR = array of string;



function AddInArray(CamposPar: TArSTR; valor:String):TArSTR;

var

temp:TArSTR;

N: Integer;

begin

temp := CamposPar;

setlength(temp, length(temp) + 1);

N := length(temp);

while N < (Length(temp)-1) do temp[N] := CamposPar[N];

temp[Length(temp)-1] := valor;

Result := temp;

end


Dicas de segurança

Renato Murilo Langona - renato@linuxsecurity.com.br

Undo utilizando bash

Ao utilizar o shell bash como seu interpretador de comandos, você pode usar Crtl+_ , Ctrl+X ou ainda Crtl+U para desfazer uma linha escrita em seu prompt de comandos durante erro ou desistência.

Desabilitando o IP Source Routing

O IP Source Routing permite estabelecer previamente o caminho que um pacote irá seguir (path) para chegar ao seu destino, fazendo também com que o destino desse pacote envie suas respostas (replies) utilizando o mesmo caminho. Desta forma, um cracker, sabendo do caminho desses pacotes, pode interceptá-los fazendo com que o destino acredite ser ele a fonte correta desses pacotes:

Você pode desabilitá-lo da seguinte forma:

1) Através do script:


  

for f in /proc/sys/net/ipv4/conf/*/accept_source_route do

echo 0 > $f

done

2) Com o comando:




sysctl -w net.ipv4.all.accept_source_route=0

3) Editando o arquivo /etc/sysctl.conf:


net.ipv4.conf.all.accept_source_route=0

Habilitando logging

Você pode fazer com que seu sistema Linux registre através de logs todos os pacotes forjados (spoofed), source routed ou redirect através de recursos do próprio kernel.

1) Através do script:

        

for f in /proc/sys/net/ipv4/conf/*/log_martians

do

echo 1 > $f

done

2) Com o comando:



sysctl -w net.ipv4.conf.all.log_martians=1

Dicas do Piter

Por Piter Punk - piterpk@terra.com.br

Instalando RPMs no Slackware

Para fazer isso existem duas formas. A primeira é utilizando o próprio comando rpm e a outra, usando scripts do próprio Slack.

a)Usando rpm:


       

rpm -ivh —nodeps —force pacote.rpm

b)Com os scripts do Slack:



rpm2tgz pacote.rpm

installpkg pacote.tgz

Tenha em mente que nenhum dos dois comandos irá verificar a base de dependências do rpm, não sendo “garantido” que o programa instalado funcione. Prefira sempre utilizar os pacotes .tgz para Slackware.

Inicializando no modo Gráfico

Na configuração original, o Slackware inicializa direto pelo modo texto. Para fazer inicializar pelo modo gráfico, é necessário editar o arquivo /etc/inittab. Procure uma linha semelhante a esta:



id:3:initdefault:

E, onde está um 3, coloque o número 4. É interessante notar que (ao contrário de várias outras distros) o runlevel para o modo gráfico é o 4 e não o 5.

O que está instalado?

Para saber quais pacotes estão instalados no seu sistema, basta digitar:



ls /var/log/packages

Neste diretório estão todos os pacotes instalados. Checando no interior de cada um deles, é possível saber quais arquivos estão incluídos no pacote. Podemos usar essa característica para localizar em que pacote está um determinado arquivo. É só utilizar alguns comandos e pipes:



grep “arquivo” /var/log/packages/* | cut -f 1 -d : | uniq

Veja o exemplo:



punk@rachael:~$ grep “bin/uniq” /var/log/packages/* | cut -f 1 -d : | uniq

/var/log/packages/txtutils

Agora nós sabemos que o arquivo “uniq” está localizado dentro do pacote txtutils. Vez ou outra, aparecem dois pacotes listados. Neste caso, utilize apenas o comando grep para saber em qual deles se encontra o arquivo que você quer.


Dica TCP_WRAPPERS

Ao utilizar os arquivos de controle de acesso do tcp_wrappers /etc/hosts.allow e /etc/hosts.deny (para serviços iniciados pelo tcpd), lembre-se de checar a sintaxe das linhas digitadas em ambos os arquivos através da ferramenta tcpdchk do próprio pacote tcp_wrappers. A ferramenta irá reportar, caso encontre problemas como pathnames não existentes, serviços que possuam regras, mas não são controlados pelo tcpd, hosts conflitantes, uso inapropriado de coringas, argumentos inválidos e muito mais, e, sempre que possível, sugerindo algo para corrigir o problema.

Uso da variável TMOUT

Muitos usuários que utilizam o console acabam esquecendo seu username logado enquanto tiram uma folga ou realizam outra tarefa qualquer. Para fazer com que esse usuário seja automaticamente desconectado após certo tempo, pode-se usar a variável local do BASH chamada TMOUT:

Basta atribuir um valor (em segundos) para essa variável globalmente em /etc/bashrc ou /etc/profile para que, após x segundos de inatividade, o usuário seja automaticamente desconectado de seu terminal:

Exemplo:



export TMOUT=3600

Restrição do uso

Para sistemas que utilizam PAM, desabilite o acesso via console de serviços como halt, shutdown, poweroff em /etc/security/console.apps/, tendo cuidado para não desabilitar o xserver, caso utilize o xdm para outros usuários além do root. O diretório /etc/security/console.apps deve conter um arquivo por aplicação ao qual se deseja manter acesso para usuários através do console.

Sendmail

Para obter um grande número de dados de seu MTA sendmail, incluindo versão, como foi compilado e identificações do sistema, utilize:


# /usr/lib/sendmail -d0.1 -bt < /dev/null

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux