quinta-feira, 24 de julho de 2008

Autenticação no Apache

Crie o arquivo .htaccess no diretório onde você deseja restringir o acesso colocando:


AuthName "Pagina restrita a usuarios cadastrados"
AuthType Basic
AuthUserFile /home/httpd/users
require valid-user


Crie o arquivo de senha referenciado no .htaccess:

$ htpasswd -c /home/httpd/users


No arquivo /etc/apache2/apache2.conf acrescente:


< Directory "/var/www/test">
AllowOverride AuthConfig
< /Directory>

Reinicie o apache para que as novas configurações passem a funcionar.

segunda-feira, 26 de maio de 2008

Aplicações Windows em ambiente Linux com SeamlessRDP

Depois de instalar o Windows numa máquina virtual no VMWare, altere o registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Crie um novo valor DWORD com o nome NoDesktop e mude o valor para 1.
Feche o registro e reinicie o Windows.

Para instalar o SeamlessRDP baixe-o do site
http://www.cendio.com/seamlessrdp/
e descompacte-o na raiz do Windows.

Para criar o atalho no Linux para o programa no Windows use:

$ rdesktop -A -s ' c:\seamlessrdp\seamlessrdpshell.exe "aplicação" ' "Ip da máquina virtual" -u "Usuário Windows" -p "senha"

segunda-feira, 21 de abril de 2008

Utilizando e-CPF ou e-CNPJ no Linux

Instalando os drivers da leitora:

apt-get install libusb
apt-get install pcscd libpcsclite1
apt-get install pcsc-tools
apt-get install libccid

Verificando o funcionamento da leitora:

pcsc_scan

Instalando o OpenSC para uso do SmartCard:

apt-get install opensc libopensc1 libopensc-openssl
pkcs15-tool --list-certificates (isto vai listar o certificado contido no SmartCard)

Configurando o Firefox para acesso ao SmartCard:

apt-get install mozilla-psm
apt-get install mozilla-opensc

1. Com o Firefox aberto, vá em Edit > Preferences;
2. Selecione a categoria Privacy & Security > Certificates;
3. Clique em Manage Security Devices;
4. Clique em Load;
5. No campo Module Name digite: "OpenSC PKCS #11 Module";
6. No campo Module File digite: /usr/bin/opensc-pkcs11.so.

domingo, 30 de março de 2008

Sincronizando o horário das estações com o servidor Linux

Instalar o NTP no servidor Linux:

apt-get install ntp

Editar o arquivo "/etc/ntp.conf" e acrescentar a linha:

restrict 192.168.1.0 mask 255.255.255.0 nomodify

Salvar e reiniciar o serviço.

Nas estações Windows configurar a atualização automática da hora para o IP de servidor da rede.

quarta-feira, 19 de março de 2008

Como criar o recurso de Lixeira no Samba

Acrescentar na sessão "global" as seguintes linhas:

vfs objects = recycle
recycle:keeptree = yes # mantem a árvore de diretório do arquivo.
recycle:versions = yes # mantem versões do arquivo.
recycle:repository = /var/samba/trash/%U # não cria a pasta ".recycle" em cada compartilhamento e sim uma pasta para cada usuário em um local definido.
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso # arquivos que não serão guardados na lixeira.
recycle:exclude_dir = tmp, cache # pastas que não serão guardadas na lixeira.

Isso cria uma pasta chamada ".recycle" em todos os compartilhamentos.
Caso não queira o recurso em todos os compartilhamentos, retire a linha "vfs objects = recycle" e coloque no compartilhamento que deseja o recurso.

sexta-feira, 14 de março de 2008

Backup de servidor Linux

O programa Mondo (http://www.mondorescue.org) faz um backup completo da instalação para restaurar caso ocorra algum desastre.
Ele pode ser instalado pelo
apt-get install mondo

quinta-feira, 13 de março de 2008

Instalação do Imsniff para monitorar conversas do Messenger

Obtendo os pacotes:

wget http://ufpr.dl.sourceforge.net/sourceforge/im-snif/imsniff_0.04.tgz
apt-get install libpcap-dev
apt-get install g++


Instalando:
- Descompactar o imsniff_0.04.tgz;
- Serão criadas as pastas doc, linux, src, windows;
- Executar:
linux/build

- Copiar o arquivo doc\imsniff.conf.sample para /etc/imsniff.conf;
- Alterar o arquivo /etc/imsniff.conf:

daemonize = 0 # alterar para 1, execução como serviço
promisc = 0
verbose = 2
chatdir = /tmp/chats # pasta aonde serão gravados os chats
debugdir = /tmp/debug
interface eth0 # interface aonde ele vai escutar


Corrigindo bug (versão 0.04):
- O bug faz o serviço cair toda hora;
- Editar o arquivo src/msn_conntrack.cpp e acrescentar as linhas com + na frente:

void add_user_to_sb (struct msn_connection *conn, u_char *user)
{
if (conn!=NULL && conn->users!=NULL)
{
int i=0;
while (inum_users)
{
if (strcmp ((char *) conn->users[i], (char *) user)==0)
return; // Don't duplicate
i++;
}
}

log_debug (5, "Adding user [%s] to SB",user);
+ if (!conn) {
+ conn = (struct msn_connection *) malloc (sizeof (struct msn_connection));
+ if (!conn)
+ return;
+ if (msn_conns_first==NULL)
+ msn_conns_first=conn;

+ memset (conn,0,sizeof (struct msn_connection)); // All zeros is fine
+ if (msn_conns_last != NULL)
+ {
+ msn_conns_last->next=conn;
+ conn->previous=msn_conns_last;
+ }
+ msn_conns_last=conn;

+ conn->users=NULL;
+ conn->num_users=0;
+ conn->log_full_path=NULL;

+ }

conn->users=(u_char **) realloc (conn->users, sizeof (u_char *) * (conn->num_users+1));
log_debug (5, "Done realloc");
if (conn->users!=NULL)
{
conn->users[conn->num_users]=(u_char *) malloc (strlen ((char *) user) +1 );
log_debug (5, "Done malloc");
strcpy ((char *) conn->users[conn->num_users],(char *) user);
log_debug (5, "Done strcpy");
conn->num_users++;
}
log_debug (5, "Done, number of users now = %d",conn->num_users);
}

- Editar o arquivo src/util.cpp e acrescentar as linhas com + e retirar as linhas com - na frente:

int get_tokens (u_char *line, u_char ***tokens, int max_tokens)
{
log_debug (5, "entry in get_tokens");
int capacity = (max_tokens==0)?50:max_tokens;
/* First, delete the tokens if there are any ... */
free_array(tokens);
*tokens=(u_char **) malloc (sizeof (u_char *) * (capacity +1)); // Final one is NULL
if (*tokens==NULL)
return OUT_OF_MEMORY;
int num=0; /* Number of tokens added so far */
u_char *now = line;
u_char *newtoken;

char tmp[255];

for (;;)
{
size_t i;
/* Skip spaces and control stuff */
while (*now<=' ' && *now!=0)
{
now++;
}

if (*now==0) /* End of line */
break;

i=0;
if (max_tokens==num+1 && max_tokens!=0)
i=strlen ((char *) now);
else
{
while (now[i]>' ') /* Look ahead, how long is the next token? */
i++;
}
newtoken=(u_char *) malloc (i+1);
memcpy (newtoken, now, i);
now = now + i;
newtoken[i]=0;

if (num==capacity)
{
capacity += 10;
*tokens = (u_char **) realloc (*tokens, sizeof (u_char *) * (capacity +1));
if (*tokens==NULL) /* A bit unstable now I'm afraid */
return OUT_OF_MEMORY;
}

(*tokens)[num]=newtoken;

if (num==7)
{
+ break;
- exit (7);
}
num++;
}

(*tokens)[num]=NULL;
return num;
}

- Entrar na pasta linux e compilar com ./build;

Execução:
- Usar o Webmin para iniciar o serviço automaticamente.

quarta-feira, 5 de março de 2008

Configuração para programas DOS no Windows XP

Alterar o arquivo "\windows\system32\config.nt" e acrescentar:
FILES=200
BUFFERS=56,0

segunda-feira, 3 de março de 2008

Iniciar o Windows XP mais rápido

Entre no registro do Windows e abra a seguinte chave:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher

O valor desta chave é 3. Mude para 0 se quiser desligar o recurso de pré-carregamento do Windows.
Isso irá fazer com que o Windows inicie mais rápido, mas deixa a abertura de alguns programas mais lenta por não serem pré carregados na inicialização.