Posts

Showing posts with the label Linux / Unix

Shell

Stergerea comentariilor si a liniilor blank
sed '/ *#/d; /^ *$/d'

Avantajele folosirii cpio in locul lui tar
Utilitarul cpio poate inlocui complet tar .

Exemple de utilizare:

a)primeste printr-un pipe lista de fisiere de la find:
1. $ find /home -type f | cpio -o --format=tar > files.tar
2. $ find /home -type f | cpio -o -H tar > files.tar
3. $ find /home -type f | cpio -o --format=tar -F files.tar
4. $ find /home -type f | cpio -o -H tar -F files.tar

b) Listeaza continutul unui fisier tar
$ cpio -it < test.tar
$ cpio -it -F test.tar

c) Extrage continutul unui fisier tar:
$ cpio -i -F test.tar

Cautarea fisierelor de o anumita dimensiune
# toate fisierele mai mari de 1Mb:
find / -size +1024k

# toate fisierele mai mare de 500 Kb, dar mai mici de 600 Kb:
find . -size +500k -a -size -600k

# toate fisierele mai mici de 100 biti modificate in utimele 10 minute:
find . -type f -a -size -128c -a -mmin -10

SSH

Ascunderea versiunii OpenSSH
In versiunile recente ale OpenSSH versiunea vizibila se poate schimba in sshd_config, cu optiunea: SshVersion

Exemplu:
SshVersion OpenSSH-Secured


Restrictionarea accesului SSH dupa utilizator
Exista multe metode de restrictionare a accesului SSH, printre care PAM, tcp wrappers, firewall .
O metoda eficienta de restrictionare a utilizatorilor carora li se permite accesul SSH, este optiunea AllowUsers din sshd_config .
Adaugarea AllowUsers root in /etc/ssh/sshd_config va restrictiona accesul SSH tuturor, cu exceptia utilizatorului root.
O optiune similara - DenyUsers va restrictiona accesul SSH utilizatorului specificat.


OpenSSH ControlMaster
OpenSSH 4 vine cu o noua optiune - ControlMaster care permite reutilizarea unei conexiuni SSH.
Odata conectati initial, cu urmatoarele optiuni :
ssh hostname -M -S /tmp/%r@%h:%p

toate sesiunile urmatoare pot fi initializate cu ssh hostname -S /tmp/%r@%h:%p

observam ca sesiunea se deschide instant, datorita faptului ca nu se mai fac n…

Apache httpd

Limitarea conexiunilor in apache
mod_limitipconn permite setarea unor limite adaugatoare pentru fiecare VirtualHost, precum:

# MaxConnPerUid
# MaxConnPerVhost
# MaxLA1, MaxLA5, MaxLA15


Functia PHP mail() pe apache ruland in chroot
Functionarea corecta a functiei PHP mail() necesita /bin/sh si un program pentru mail delivery.

Foarte potrivit pentru acest rol este mini_sendmail , care poate fi gasit aici:
http://www.acme.com/software/mini_sendmail/


Compresia datelor cu mod_deflate
Modulul mod_deflate permite compresia datelor trimise de catre Apache browserului.
In acest caz volumul traficului se reduce de doua ori, incarcarea procesorului nefiind considerabila.
Apache 2 vine cu mod_deflate, pentru Apache 1 exista un modul mod_deflate mai performant.

Instalarea mod_deflate pentru Apache 1.3 :
cd mod_deflate-1.0.21
./configure --with-apache=../apache_1.3.3X
make
cd ../apache-1.3.3X
./configure ... "--activate-module=src/modules/extra/mod_deflate.o"

Activarea sa in httpd.conf prin adaugarea direct…

Diskuri si fisiere

Verificarea starii hard-diskului cu ajutorul smartmontools
Verificarea suportului SMART.de catre disk:
smartctl -i /dev/ida/c0d0

Activarea SMART, daca nu este deja activat:
smartctl -s on /dev/ida/c0d0

Verificarea posibilitatilor SMART suportate de catre disk:
smartctl -c /dev/ida/c0d0

Starea curenta a diskului si lista atributelor:
smartctl -H /dev/ida/c0d0
smartctl -A /dev/ida/c0d0

Testarea hard diskului in regim offline:
smartctl -t offline /dev/ida/c0d0

Verificarea daca au fost detectate erori:
smartctl -l selftest /dev/ida/c0d0

Mai multe detalii:
smartctl -r ioctl -i /dev/ida/c0d0

FreeBDS

Mai multa informatie despre hard disk
Utilitarul diskinfo introdus in FreeBSD 5.1 prezinta informatie suplimentara despre hard diskuri, poate fi folosit si pentru testarea performantei lor.

FreeBSD minimal
Pentru a compila un sistem minim posibil ( pentru a crea un jail de exemplu ) folositi urmatoarele optiuni in /etc/make.conf:

CPUTYPE=i486
MAKEOBJDIRPREFIX=/mnt/smallobj
DESTDIR=/mnt/smallworld
NOMAN=true
NO_FORTRAN=true
NO_I4B=true
NO_LPR=true
NO_MODULES=true
NO_OBJC=true
NO_X=true
NOGAMES=true
NOINFO=true
NOLIBC_R=true
NOGDB=true
NOPAM=true
NOKLDLOAD=true
NONETGRAPH=true
NORADIUS=true
NOIPSEC=true
NOTAGS=true
NOPROFILE=true
NO_SHAREDOCS=true
NOSHARE=true
NO_BIND=true
NO_IPFILTER=true
NOALIAS=true
NONAT=true
NO_RCMNDS=true
NO_CVS=true
NO_MAILWRAPPER=true
NO_OPENSSL=true
NO_SENDMAIL=true
NO_TCSH=true
NOCRYPT=true
NOSECURE=true
NOPERL=true
NO_TCSH=true
NO_UUCP=true
NOSHARED=no

nota: a fost testat pe FreeBSD 4.x, unele optiuni sunt scoase din 5.x

Aliasuri pentru o interfata de retea in FreeBSD
adaugare: ifconfig rl0 inet 192.168…

Linux - NAT - Lilo

Limitarea numarului de conexiuni simultane de la un host
modprobe ipt_iplimit

iptables -m iplimit --iplimit-above 20 -j REJECT --reject-with host-unreach

modulul ipt_limit face parte din colectia POM ( patch-o-matic )
comentarii: 0

NAT in Linux
cateva moduri -

1. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 194.153.245.186
2. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SAME --to 194.153.245.186
3. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

nota:
192.168.0.0/24 - reteaua interna, pentru care se face NAT
eth0 - interfata de retea externa
194.153.245.186 - adresa interfetei de retea externe, folosita pentru NAT
comentarii: 0

Adaugarea device-uriloor loop in Linux
Atunci cand incercati sa mountati mai mult de 8 device-uri loop, veti primi mesajul:
"mount: could not find any free loop device"

Limita default este 8 si poate fi crescuta prin adaugarea "max_loop=64" la argumentele de boot ale kernelului.
Daca loop es…

Networking / routing

Legarea unei adrese IP de MAC-ul al placii de retea
Exemplu:

arp -s 192.168.0.2 0:0:e8:ac:4c:22


Trecerea unei placi de retea din mod full-duplex pe half-duplex in FreeBSD
Exemplu, pe o placa Intel EEPRO 100.
Modul curent de functionare a placii se poate vedea cu comanda:
ifconfig fxp0

Trecerea in regim 10baseT/UTP half-duplex:
ifconfig fxp0 media 10baseT/UTP mediaopt half-duplex


Manipularea parametrilor de retea in Windows cu netsh
# adaugare unei adrese ip -
netsh interface ip add address "Local Area Connection" 192.168.0.1 255.255.255.0
# rezilierea unei adrese ip -
netsh interface ip del address "Local Area Connection" 192.168.0.1

detalii - netsh help


Aliasuri pentru o interfata de retea in FreeBSD
adaugare: ifconfig rl0 inet 192.168.1.1 netmask 255.255.255.255 alias
reziliere: ifconfig rl0 inet 192.168.1.1 netmask 255.255.255.255 -alias

NAT in Linux
cateva moduri -

1. iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to-source 194.153.245.186
2. iptables -t nat -A …