Mots-clé : linux

Linux : ajouter quelqu'un dans les règles du firewall

Aller dans /etc/fw/iptables.sh et ajouter une règle iptables.
Par exemple :
Pour autoriser une nouvelle IP à se connecter en
SSH (donc sur le port 22/tcp) :
iptables -A INPUT -p tcp -i eth0 -s <ma_nouvelle_ip> --dport 22 -j ACCEPT
Puis relancer le firewall :
/etc/fw/iptables.sh
(le script flushe les règles et repart de zéro).
Attention : la moindre erreur dans ce script et le firewall se met en défaut, c’est à dire qu’il bloque tout.

Linux : SFTP : explication + utilisation

SFTP est un sous-système du serveur SSH.
Les comptes des utilisateurs locaux servent de comptes SFTP.
Depuis n’importe où, il suffit de taper :
sftp user@www.nomdusite.fr et l’utilisateur "user" peut download/uploader des fichiers et créer des répertoires dans son home directory.
Pour créer un utilisateur :
useradd -n oussama
passwd oussama
Puis éditer le fichier /etc/ssh/sshd_config et aller à la dernière ligne.
Dans la directive AllowUsers, ajouter "oussama", sauver et quitter, puis redémarrer le serveur SSH : service sshd restart.

Zeemoz : plantage Apache

Apache a créé des milliers de sémaphores en mémoire puis a planté. Ces sémaphores sont des descripteurs de ressources écrites dans un système de fichiers virtuel (/dev/shm pour shared memory), autrement dit un ramdisk.

En plantant, les processus httpd n’ont pas pu nettoyer leurs sémaphores, laissant le ramdisk saturé. C’est pourquoi au redémarrage, httpd ne peut créer sa ressource et conclut à un « no space left« .

On voit les sémaphores avec la commande suivante :
ipcs -s | grep www-data

Il y a une astuce avec awk ou perl pour les effacer, ensuite un apachectl start et ça repart.

Linux php : ajout de json

Json est une extension pour JavaScript et php.
Ajout de l’extension Json : il faut aller la récupérer sur le site du créateur (http://aurore.net/), la compiler (make), l’installer (make install), et ensuite, ce qui n’est pas précisé (sauf ici), aller voir dans le fichier php.ini qui est très souvent dans /etc, où se situe le répertoire des extensions extension_dir, c’est sûrement, ici aussi, extension_dir = "/usr/lib".
Il suffit alors de copier le fichier json.so généré dans le répertoire des extensions, ici /usr/lib.
Rien de plus simple !
Résumé très rapide (il faut faire quelques manips en plus, mais le plus important est là) :

  1. wget http://aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
  2. tar -xvf php-json-ext-1.2.1.tar.bz2
  3. cd php-json-ext-1.2.1/
  4. ./configure ; make ; make install
  5. cp /usr/local/lib/php/extensions/no-debug-non-zts-20050922/json.so /usr/lib

Zeemoz : machine virtuelle XP

  • vmrun list :
    pour voir les machines virtuelles en cours d’exécution
  • vmrun stop /opt/VirtualMachines/WindowsXPPro/WinXPPro.vmx :
    pour arrêter la machine virtuelle (en principe, avec les VMTools qui sont installés, ça ordonne à la machine virtuelle de s’éteindre « proprement », sinon ça correspond à un arrachement du cable d’alimentation…)
  • vmrun start /opt/VirtualMachines/WindowsXPPro/WinXPPro.vmx :
    démarre notre XP

Les segfault à la fin des commandes sont « normaux », c’est à cause de la façon dont VMPlayer gère le NAT sur l’interface réseau virtuelle.

Zeemoz : berkeleydb enfin

Wow ! J’ai enfin trouvé comment compiler les exemples de berkeley DB :

cd /home/sources/db-4.5.20/examples_c/getting_started
cc -I /home/sources/db-4.5.20/build_unix
-L /home/sources/db-4.5.20/build_unix/.libs
-o load example_database_load.c gettingstarted_common.c -ldb-4.5

L’exécutable généré s’appelle load et il est dans le répertoire courant.