Quarta-feira, 14 de Novembro de 2007

Caixa Mágica e Mandriva

Devo dizer que acolho a notícia de a Caixa Mágica mudar a sua base de SuSE para Mandriva com a maior satisfação.

Com efeito, a Mandriva é de longe a melhor distribuição Linux KDE based que há.
Let there be no doubt about it.

Agora bom, bom, era a Caixa Mágica ter um sistema de gestão de pacotes diferente do urpmi que na verdade é uma boa treta.

Espero que a Caixa Mágica tenha artes para contornar/resolver esta questão.

Nice move, Paulo :)

PS. O DarkLord da Caixa Mágica deixou em comentário que a distribuição não vai usar o urpmi, mas sim o apt-rpm/Synaptic.

 

Nice move again, Paulo :)


A Ouvir: Eleventh Earl Of Mar, Genesis.
YouTube: http://www.youtube.com/watch?v=9sNgU4cJVP4

 

tags:
publicado por gamito às 16:14
link do post | comentar | ver comentários (3)
Sábado, 27 de Outubro de 2007

gFTP

Esta recente versão do Mandriva, traz pela primeira vez o Filezilla em vez do gFTP como cliente de FTP.

Ok, o Filezilla tem uma grande fama — especialmente em Windows, já que é à borliú e legal — mas em Linux prefiro o velhinho gFTP.

Como não havia um RPM para este Mandriva, vá de ./configure && make && make install.

E aqui está o bicharoco a fungar :)




A ouvir: Left Of Center, Suzanne Vega.
Youtube: http://www.youtube.com/watch?v=KFXftW3Uq9E

 

tags:
publicado por gamito às 21:49
link do post | comentar | ver comentários (4)
Sexta-feira, 28 de Setembro de 2007

Não estão fartos disto ?

De ter que premir a tecla y para copiar ficheiros com o mesmo nome ?

# cp * /lixo
cp: overwrite `/lixo/cert.pem'? y
cp: overwrite `/lixo/create-homedir'? y
cp: overwrite `/lixo/defaultdelivery'? y
cp: overwrite `/lixo/defaultdomain'? y
cp: overwrite `/lixo/defaultquota'? y
cp: overwrite `/lixo/dirmaker'? y
cp: overwrite `/lixo/ldapbasedn'? y
cp: overwrite `/lixo/ldapcluster'? y
cp: overwrite `/lixo/ldapgid'? y
cp: overwrite `/lixo/ldaplocaldelivery'? y
cp: overwrite `/lixo/ldaplogin'? y
cp: overwrite `/lixo/ldapmessagestore'? y
cp: overwrite `/lixo/ldapobjectclass'? y
cp: overwrite `/lixo/ldappassword'? y
cp: overwrite `/lixo/ldapserver'? y
cp: overwrite `/lixo/ldapuid'? y
cp: overwrite `/lixo/locals'? y
cp: overwrite `/lixo/Makefile'? y
cp: overwrite `/lixo/me'? y
cp: overwrite `/lixo/plusdomain'? y
cp: overwrite `/lixo/qmail-imapd.rules'? y
cp: overwrite `/lixo/qmail-pop3d.rules'? y
cp: overwrite `/lixo/qmail-qmqpd.rules'? y
cp: overwrite `/lixo/qmail-smtpd.rules'? y
cp: overwrite `/lixo/quotawarning'? y
cp: overwrite `/lixo/rcpthosts'? y
cp: overwrite `/lixo/signatures'? y
cp: overwrite `/lixo/tcp.smtp'? y
cp: overwrite `/lixo/tcp.smtp.cdb'? y

Bem, isto é porque o cp tem um alias para o paramêtro -i (# man cp):

# alias
alias cp='cp -i'

Das duas uma: ou o removem, o que não é muito aconselhável, ou fazem:

# \cp * /lixo

Yap, o backslash faz toda a diferença ;-)


A ouvir: On An Island, David Gilmour
YouTube: http://www.youtube.com/watch?v=SROK4biHOPk

 

tags:
publicado por gamito às 13:33
link do post

Naughty, naughty

Era só para dizer a estes curiosos wannabes que não, não viram a minha home share do Samba.

De qualquer modo, basta uma linha no smb.conf para afastar a curiosidade:

hosts allow = 192.168.0.100

Lista de curiosos:

# ls /var/log/samba/[^smbd*-a-z]*  | cut -f5 -d '/' | cut -f1 -d '.'

carla-2000gzr9q
carlos-ir33ncm8
carlos
carlos
carlos-s6b9brdp
casa-7xtjzspqi8
casa
celeron
cesar
chupapa-b1o4lc5
cliente-5uvddox
comp
computador1
computador1
computername
contabilidade
cpq28901672019
cracks
crack
eric
f-dvb8w73sf78t7
filipe-02i2d14a
flaviacg
helena
hermano
hnunes01
hnunes01
home-mt6or4k6l
house-pyldfzdzz
hvvm9xjz1wzhbkg
ibm558097x
individu-jid4ez
individu-jid4ez
ines
isabel
jcpc-m4kqvro83u
jcthc
jcthc
jesus-83txnx9u8
jmrr-8rozz76apo
joao-cdqkfh3gfm
jorge-0avyhq88a
jorge
levi-a5n4d52cfj
lobo-ee166pqgp0
loureiro
luis-95modnu830
luisa
nat-7q46e74wygk
newton___
newton___
nmbd
nmbd
nmbd
nmbd
nome-e3vucd6gwq
nuno
nuno
o-c4f6hc8efdrzm
oscar
p40
pandreia-5mbo1i
particul-u9ukxk
patrice
pc1
pc931196262726
pc931196262726
pc_iolanda
pcmiudos
pessoal-hanf015
posto1
privado-edadehn
pt-c
rakel
ricardo-mxokjho
richar-8d10ybcn
rita-39cm61gbeg
roubado
rozete-a7amtaee
rui-n5tfqykvyff
talentoaa
talentoaa
telmo
test-kk74z8p2oe
tiago
torvalds
torvalds
torvalds
torvalds
torvalds
user-penacho
usila-v3ggbctko
utilizad-sg66h6
xanita
x
yr3fp4mcbfipc43


A ouvir: Portobello Belle, Dire Straits
YouTube: http://www.youtube.com/watch?v=Jdbbt31abSU

 

tags:
publicado por gamito às 13:02
link do post
Terça-feira, 25 de Setembro de 2007

PHP chrooted

Na sequência do artigo anterior sobre como correr o MySQl num ambiente chrooted, aqui vai a vez do PHP.

# gzip -dc apache_1.3.47.tar.gz | tar xvf -
# gzip -dc php-5.2.3.tar.gz | tar xvf -
# gzip -dc mod_security_1.95.tar.gz | tar xvf -
# cp mod_security_1.95/apache1/mod_security.c apache_1.3.37/src/modules/extra/

# cd apache_1.3.37
# ./configure --prefix=/usr/local/httpd

Compilar o PHP:

# cd ../php-5.3.2
# ./configure --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.37 --enable-safe-mode (etc. mais opções)

# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
# chown root:sys /usr/local/lib/php.ini
# chmod 644 /usr/local/lib/php.ini

O Apache:

# cd ../apache_1.3.37
# ./configure --prefix=/usr/local/httpd --disable-module=all --server-uid=apache --server-gid=apache --enable-module=access --enable-module=log_config --enable-module=dir --enable-module=mime --enable-module=auth --activate-module=src/modules/extra/mod_security --enable-module=security --activate-module=src/modules/php5/libphp5.a
# make
# make install


#chown -R root:sys /usr/local/httpd

Agora, prepara-se o ambiente chrooted para o Apache com o módulo PHP:

# cp /usr/local/mysql/lib/mysql/libmysqlclient.so.12 /chroot/httpd/usr/lib/
# cp /usr/lib/libm.so.2 /chroot/httpd/usr/lib/
# cp /usr/lib/libz.so.2 /chroot/httpd/usr/lib/

Adicionamemte, temos que copiar o ficheiro de configuração do PHP:

# umask 022
# mkdir -p /chroot/httpd/usr/local/lib
# cp /usr/local/lib/php.ini /chroot/httpd/usr/local/lib/

# mkdir /chroot/httpd/tmp
# chown -R root.root
/chroot/httpd/tmp
# chmod 1777 /chroot/httpd/tmp

# chroot /chroot/httpd /usr/local/httpd/bin/httpd

# ln /tmp/mysql.sock /chroot/httpd/tmp/


Configuração do Apache para defesa contra cross side scripting e SQL injection, através do mod_secutity:

<IfModule mod_security.c>
 AddHandler application/x-httpd-php .php

 SecAuditEngine On
 SecAuditLog logs/audit_log
 SecFilterScanPOST On
 SecFilterEngine On

 SecFilterDefaultAction "deny,log,status:500"
 SecFilter "<(.|\n)+>"

 SecFilter "'"
 SecFilter "\""
</IfModule>


Ok, para a próxima, explico como tornar o Apache chrooted, ok ?


A ouvir: Just Good Friends, Fish.
YouTube: http://www.youtube.com/watch?v=ApxexrzQQas

 

tags:
publicado por gamito às 15:02
link do post
Domingo, 23 de Setembro de 2007

MySQL :: It's the ctl, stupid

Er... pois, o ctl file normal do MySQL agora não funciona, por isso, aqui vai um para arrancar e parar o MySQL chrooted.

#!/bin/sh

CHROOT_MYSQL=/chroot/mysql
SOCKET=/tmp/mysql.sock
MYSQLD=/usr/local/mysql/libexec/mysqld
PIDFILE=/usr/local/mysql/var/`hostname`.pid
CHROOTUID=/usr/local/sbin/chrootuid

echo -n " mysql"

case "$1" in
start)
        nohup ${CHROOTUID} ${CHROOT_MYSQL} mysql ${MYSQLD} >/dev/null 2>&1 &
        sleep 5 && ln ${CHROOT_MYSQL}/${SOCKET}
        ;;
stop)
        kill `cat ${CHROOT_MYSQL}/${PIDFILE}`
        rm -rf ${CHROOT_MYSQL}/${SOCKET}
        ;;
*)
        echo ""
        echo "Usage: `basename $0` {start|stop}" >&2
        exit 64
        ;;
esac

exit 0


A ouvir: Still Got The Blues, Gary Moore
YouTube: http://www.youtube.com/watch?v=wPA4KXKyVjU

tags:
publicado por gamito às 12:25
link do post

MySQL :: Just a little tighter, honey

No seguimento do artigo sobre o MySQL em ambiente chrooted, ainda há mais algumas coisas que podem ser feitas para aumentar a sua segurança, nomeadamente:

  • Desabilitar o acesso remoto:

    Adicionar ao ficheiro /etc/my.cnf, na secção [mysqld], a linha

    skip-networking

    Se, mesmo assim, for necessário o acesso remoto ao MySQL, por exemplo para efectuar um backup, pode utilizar-se o SSH:

    # ssh mysqlserver /usr/local/mysql/bin/mysqldump -A > backup.sql

  • Desabilitar a utilização do comando LOAD DATA LOCAL INFILE:

    Adicionar ao /etc/my.cnf a linha

    set-variable=local-infile=0

  • Remover a base de dados test, bem como todos os users, excepto o root:

    mysql> drop database test;
    mysql> use mysql;
    mysql> delete from db;
    mysql> delete from user where not (host="localhost" and user="root");
    mysql> flush privileges;

  • Agora, alterar o nome do administrador do MySQL (root) para outro:

    mysql> update user set user="mydbadmin" where user="root";
    mysql> flush privileges;

A ouvir: Come Away With Me, Norah Jones
YouTube: http://www.youtube.com/watch?v=aBKcKQHZXks

tags:
publicado por gamito às 12:06
link do post

MySQL chrooted

Uma coisa que eu costumo fazer sempre nos servidores que instalo é "chrootar" o MySQL e aplicar-lhe alguns truques (que ficam para outro artigo) para o tornar o mais seguro possível.

Vou assumir um MySQL instalado tal como neste artigo que escrevi anteriormente e a funcionar perfeitamente. Para o verificar, executar:

# mysql -p

Para tudo estar bem, deve aparecer o seguinte:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
mysql> quit;
Adiante para o chroot...

É necessário criar a seguinte estrutura de directórios:

# mkdir -p /chroot/mysql/dev
# mkdir -p /chroot/mysql/etc
# mkdir -p /chroot/mysql/tmp
# mkdir -p /chroot/mysql/var/tmp
# mkdir -p /chroot/mysql/usr/local/mysql/libexec
# mkdir -p /chroot/mysql/usr/local/mysql/share/mysql/english


Os direitos de acesso a estes directórios devem ser os seguintes:

# chown -R root:sys /chroot/mysql
# chmod -R 755 /chroot/mysql
# chmod 1777 /chroot/mysql/tmp


Agora, têm que ser copiados alguns ficheiros para esta estrutura de directórios:

# cp /usr/local/mysql/libexec/mysqld
 /chroot/mysql/usr/local/mysql/libexec/
# cp /usr/local/mysql/share/mysql/english/errmsg.sys
 /chroot/mysql/usr/local/mysql/share/mysql/english/
# cp /etc/hosts /chroot/mysql/etc/
# cp /etc/host.conf /chroot/mysql/etc/
# cp /etc/resolv.conf /chroot/mysql/etc/
# cp /etc/group /chroot/mysql/etc/
# cp /etc/master.passwd /chroot/mysql/etc/passwords
# cp /etc/my.cnf /chroot/mysql/etc/


Dos ficheiros /chroot/mysql/etc/passwords e /chroot/mysql/etc/group,
removem-se todas as linhas, excepto as respeitantes ao MySQL.


Tem que ser criado um device file especial para o /dev/null:
# mknod /chroot/mysql/dev/null c 2 2
# chown root:sys /chroot/mysql/dev/null
# chmod 666 /chroot/mysql/dev/null


E copiar a base de dados dos previlégios do MySQL:

# cp -R /usr/local/mysql/var/ /chroot/mysql/usr/local/mysql/var
# chown -R mysql:mysql /chroot/mysql/usr/local/mysql/var
O MySQL está pronto a ser executado num ambiente chrooted:

# chrootuid /chroot/mysql mysql /usr/local/mysql/libexec/mysqld &
Bem, quando tiver pachorra, escrevo um artigo sobre como correr o Apache também em ambiente chrooted e como integrar com o PHP e o MySQL de modo a fazer um todo coerente.


A ouvir: Yet Another Movie, Pink Floyd
YouTube: http://www.youtube.com/watch?v=Ep9RTAmH5Rw

tags:
publicado por gamito às 00:28
link do post

BASH, stdout e stderr

Precisei de fazer um script (backup.sh) corrido pelo cron daemon fazendo com o que o rsync  gerasse o maior número de informação possível dos respectivos logs (-vv) para um ficheiro – /var/log/rsync.backup.log

Os logs precisavam de combinar o stdout e o stderr, portanto:

# backup.sh >> /var/log/backup.log 2>&1

Contudo, apenas queria que o output do stderr fosse para o cron, para em caso de erro, me ser enviado em e-mail.

Então:

# (./backup.sh > /var/log/backup.log) 2>&1 | tee -a /var/log/backup.log

o que propaga o stderr para o cron e a restante tralha do stdout para o ficheiro de logs :)

Agora só me falta organizar a informação, é uma chatice que o stdout e o stderr não sejam sincronizados.


A ouvir: Sorrow, Pink Floyd
YouTube: http://www.youtube.com/watch?v=njQtAC6EH8E

tags:
publicado por gamito às 00:11
link do post
Sexta-feira, 21 de Setembro de 2007

4 kb stack ou 8kb stack

O valor por omissão para o stack size no Linux são 8 kb.
Note-se que este é o valor para o kernel stack, não para o user-space stack.

Contudo, na configuração do Kernel, este valor pode ser alterado para 4kb, na secção Kernel hacking:




Em que ficamos então ? Qual o melhor valor para o read/write size ?

Várias operações requerem ou são mais eficientes quando lidam com tamanhos múltiplos do block size.
Diferentes operações podem envolver diferentes block sizes; e.g. a page size da RAM não é necessariamente
a mesma da do block size do disco, portanto, operações
que envolvam cópia de dados entre disco e RAM
devem idealmente usar valores que sejam múltiplos de ambos (i.e. um múltiplo do maior dos dois).

Também, a page size da RAM pode variar entre arquitecturas de
CPU, enquanto que o block size dos discos pode variar com
os filesystems utilizados ou mesmo em diferentes partições
 do mesmo filesystem.

Quaisquer tamanhos relevantes, podem ser obtidos via uma
macro standard ou através do sysconf() ou fo [f]pathconf().

Quanto a networking, não opera em blocos, portanto, não interessa.


A ouvir: This Is The Sea - Waterboys
YouTube: http://www.youtube.com/watch?v=gTTKcrbQog8

tags:
publicado por gamito às 17:29
link do post

A funny guy...

in qmail's mailing list:

"Hi,

I want to send emails using Qmail server in asp.Net Webapplication (windows platform).Is it possible to migrate Qmail in windows  platform.Can you please assist me on the same.Your reply  would be more than appreciated.

Thanks in Advance.
*******************"


A ouvir: Hoochie Coochie Man, Eric Clapton
YouTube: http://www.youtube.com/watch?v=4z4fxDOd7IE

tags:
publicado por gamito às 13:42
link do post

Truques, Minas e Alçapões :: II

Fazer um rsync para backup de dados, por exemplo, com SSH é muito simples.

Temos que ter a nossa chave pública no servidor remoto.

Suponhamos que tenho que fazer um backup dos meus e-mails:

# /usr/bin/rsync -azq -e "ssh -i /root/rsync/chave-mirror-rsync"   gamito@192.168.0.102/var/spool/mail/gamito/ /var/spool/mail/gamito/


A ouvir: Sorrow, Pink Floyd
YouTube:
http://www.youtube.com/watch?v=njQtAC6EH8E


tags:
publicado por gamito às 13:32
link do post

Truques, Minas e Alçapões :: I

Já me aconteceu, num script em BASH, ter que atribuir uma password a um user sem interacção com o teclado.

É muito simples de fazer e podem experimentar na vossa consola:

# echo gamito:segredo | chpasswd


A ouvir: Shine On You Crazy Diamond, Pink Floyd
YouTube: http://www.youtube.com/watch?v=vyqgjCKm9nQ


tags:
publicado por gamito às 12:25
link do post
Quinta-feira, 20 de Setembro de 2007

Logs do mrtg

Se se instalar  o mrtg e se se executá-lo como é normal de 5 em 5 minutos através do cron daemon, vai inserir duas linhas – uma para login e outra para logout – no ficheiro /var/log/messages, enchendo-o de lixo.

A solução é passar esses logs do mrtg para um ficheiro separado, por exemplo, auth.

Editar o ficheiro /etc/syslog.conf e mudar a linha:

*.info;mail.none;authpriv.none;cron.none /var/log/messages

para:

*.info;auth.none;mail.none;authpriv.none;cron.none /var/log/messages

Adicionar a linha:
auth.* /var/log/auth

Convém fazer também o logrotate do ficheiro auth:
Editar o ficheiro /etc/logrotate.d/syslog e adicionar no topo a linha:

/var/log/auth

Gravar o ficheiro e efectuar um restart ao serviço syslogd:

# /etc/init.d/syslog restart

Done :)
tags:
publicado por gamito às 18:16
link do post
Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.

Mais sobre mim

pesquisar

Janeiro 2008

Dom
Seg
Ter
Qua
Qui
Sex
Sab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Subscrever por e-mail

A subscrição é anónima e gera, no máximo, um e-mail por dia.

Posts recentes

Caixa Mágica e Mandriva

gFTP

Não estão fartos disto ?

Naughty, naughty

PHP chrooted

MySQL :: It's the ctl, st...

MySQL :: Just a little ti...

MySQL chrooted

BASH, stdout e stderr

4 kb stack ou 8kb stack

A funny guy...

Truques, Minas e Alçapões...

Truques, Minas e Alçapões...

Logs do mrtg

Contacto

gamito@gmail.com

No Planeta Geek

tags

todas as tags

subscrever feeds