install vim on centos 5.4

legatura dintre cele 2 e una mai speciala :)

vezi ce ai instalat :

[root@ns2 ~]# yum list 'vim*'
Installed Packages
vim-common.x86_64        2:7.0.109-6.el5       installed
vim-enhanced.x86_64      2:7.0.109-6.el5       installed
vim-minimal.x86_64       2:7.0.109-6.el5       installed
Available Packages
vim-X11.x86_64           2:7.0.109-6.el5       base

vezi ce exista prin repozitory-uri:

[root@ns2 ~]# yum search vim
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System.
vim-common.x86_64 : The common files needed by any version of the VIM editor.
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements.
vim-minimal.x86_64 : A minimal version of the VIM editor.

Ideea e ca implicit centos 5.4 vine instalat doar cu vim-minimal, iar daca ai cerinte mai avansate de la vim trebuie sa instalezi vim-enhanced

[root@ns2 ~]# yum install vim-enhanced.x86_64

how to check the exit status code

Atunci cand un program isi termina executia, el returneaza un cod de eroare. Acest cod nu este afisat la monitor implicit. Pentru a prelucra informatia din acest cod este necesar a se vedea continutul variabilei “$?“.

Sa presupunem ca se cauta un string intr-un fisier text:

$ grep mama family.txt
$

Deviceul standart de output nu va returna nimic, ceea ce ar insemna ca acel string nu poate fi gasit in fisier. Ce se intimpla atunci cand se pune aceasta comanda intr-un script? Acest caz ar trebui tratat diferit.

Verificarea codului de eroare se face astfel:

$ grep mama family.txt
$ echo $?
1

A se nota faptul ca codul 0 reprezinta o rulare terminata cu succes, iar diferit de 0 inseamna aparitia unei erori.
Pentru a verifica acest cod intr-un script, se poate face astfel :

1 grep mama2 family.txt
2 if [ $? -eq 0 ]; then
3     echo "success"
4 else
5     echo "fail"
6 fi

atat

svn server with SVNListParentPath = On

La un moment dat, dupa ce am setat serverul de svn, mi-am zis eu asa ca… ar fi bine ca eu sa pot vedea lista tuturor repository-uri care exista pe server ca sa imi fac si eu o idee generala despre server.

Si, am intrat in fisierul /etc/apache2/mods-available/dav_svn.conf si am setat SVNListParentPath pe On. In final, fisierul arata astfel :

<Location /svn>
DAV svn
SVNParentPath /var/svn
SVNListParentPath On
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>

Dupa aceste modificari… multe teste… am observat ca serverul nu se comporta asa cum as fi vrut eu. Problema aparea la vizualizarea directoriul parinte unde se afla toate repository-urile. Intr-un final problema am rezolvat-o modificand in fisierul dav_svn.conf urmatoarea linie :

 <Location /svn/>

Continue reading svn server with SVNListParentPath = On

howto secure svn server

Acest post vine in continuarea post-ului de instalare a unui server de svn. Voi face serverul de svn sa permita lucrul cu userii. Sa presupunem ca avem mai multe proiecte ( respectiv pentru fiecare proiect cate un repository aparte ) si in fiecare proiect lucreaza doar anumite persoane care va trebui sa aiba acces la acele proiecte.

Acum avem 2 proiecte : projectx si projecty :

root@srv1:~# cd /var/svn/
root@srv1:/var/svn# ls
root@srv1:/var/svn# svnadmin create projectx
root@srv1:/var/svn# svnadmin create projecty
root@srv1:/var/svn# ls -lah
total 16K
drwxr-xr-x  4 root root 4.0K 2010-02-07 17:20 .
drwxr-xr-x 16 root root 4.0K 2010-02-06 18:10 ..
drwxr-xr-x  6 root root 4.0K 2010-02-07 17:20 projectx
drwxr-xr-x  6 root root 4.0K 2010-02-07 17:20 projecty
root@srv1:/var/svn# chown -R www-data:www-data *
root@srv1:/var/svn# ls -lah
total 16K
drwxr-xr-x  4 root     root     4.0K 2010-02-07 17:20 .
drwxr-xr-x 16 root     root     4.0K 2010-02-06 18:10 ..
drwxr-xr-x  6 www-data www-data 4.0K 2010-02-07 17:20 projectx
drwxr-xr-x  6 www-data www-data 4.0K 2010-02-07 17:20 projecty

Trebuie sa facem nishte modificari ale serverului apache astfel ca sa permita accesul la toate proiectele ( repository-uri ) create.

Continue reading howto secure svn server

[linux] howto find ubuntu or kernel version

command :

cat /etc/issue

output:

Ubuntu 9.04 \n \l

command:

cat /etc/lsb-release

output:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04"

Pentru a afla versiunea kernelului, precum si alte cateva informatii aditionale, se foloseste comanda uname.

  • uname -a : printeaza toate informatiile
  • uname -r : printeaza versiunea de release a kernelului
  • uname -v : printeaza versiunea kernelului
  • uname -o : printeaza numele sistemului de operare.

Exemplu:

root@srv1:~# uname -a
Linux srv1 2.6.28-17-server #58-Ubuntu SMP Tue Dec 1 19:58:28 UTC 2009 i686 GNU/Linux
root@srv1:~# uname -r
2.6.28-17-server
root@srv1:~# uname -v
#58-Ubuntu SMP Tue Dec 1 19:58:28 UTC 2009
root@srv1:~# uname -o
GNU/Linux

end.

[exploits] buffer overflows

Buffer overflow-urile sunt un pas esential / cheie pentru a intelege ce inseamna exploiturile. Ele reprezinta nishte erori conceptuale atunci cand se scrie codul sursa al programului si se manifesta atunci cand se scrie in alte zone decat este destinat mai multa informatie decat poate incapea, astfel suprascriind in zonele adiacente. Cel mai bine voi explica in urmatorul exemplu:

  1 #include
  2 int test( int _a ) {
  3     char buff[ 32 ] ;
  4     int i = 0;
  5     for ( i = 0; i < 1024; i++ )
  6         buff[ i ] = 'A';
  7     return 0;
  8 }
  9
 10 int main( ) {
 11     printf( "enter in function\n" );
 12     int rett = test( 1 ) ;
 13     printf( "exit from function\n" );
 14     return 0;
 15 }

Continue reading [exploits] buffer overflows