Python, la tête dans les étoiles

Aujourd’hui, un article écrit par Kevin Samuel sous licence Creative Commons qui m’a bien aidé lors de mes débuts en python à comprendre les étoiles et notamment les fameux f(*args, **kwargs):

L’utilisation du signe étoile (*) en Python est très simple, mais certains cas sont peu intuitifs. Les nouveaux venus ont souvent besoin d’un peu plus
d’explications que ce que donne la doc. Les utilisateurs d’autres langages sont généralement déroutés car ils sont habitués certaines fonctionnalités qu’on ne retrouvent pas en Python.

Continuer la lecture de Python, la tête dans les étoiles

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

FFMPEG MP3 et image fixe

Yop,

Un rapide memo pour me souvenir de comment encoder un MP3 vers AVI.
En fait, on place une image fixe.

Source: http://forum.videohelp.com/threads/280695-FFMPEG-Loop-input-video

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

Régler l’heure d’un environnement virtuel OpenVZ

Tuto servant à régler l’heure d’une machine virtuelle OpenVZ. Source: http://forum.openvz.org/index.php?t=msg&goto=6694&

Admettons que l’environnement virtuel ait l’ID 101.

On stoppe le VE:

On lui donne la possibilité de régler l’heure:

On le démarre:

On entre dedans pour finaliser l’opération:

On définit par exemple le fuseau horaire de Paris:

Fini, l’environnement virtuel est à l’heure !

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

Changer la clef d’activation Windows

Script trouvé ici: http://www.commentcamarche.net/forum/affich-12008209-changer-ma-cle-d-activation-windows

Voici un copier-coller:

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

jQuery UI: effet accordéon > Changer la vitesse d’ouverture

Je me suis retrouvé face à un petit problème: je voulais réduire la vitesse d’ouverture d’un effet accordéon créé avec jQuery UI.

Le souci est que je n’ai trouvé nulle part dans la doc comment régler la vitesse d’ouverture. J’ai trouvé la solution au hasard d’une mailing-liste sur jQuery, il suffit de créer une animation custom.

Dans l’exemple qui suit, je définit une nouvelle animation

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

OpenERP: export de base de données – compression extrême avec lzma

Exporter une base

-Fp: on exporte au format plain text

–no-owner: on ne sauvegarde pas le nom du propriétaire

Et pour importer une base ??

Pour importer une base exportée:

Compression extrême avec lzma

Dans le cas d’une très grosse base de données, il peut être intéressant de la compresser la base. pg_dump a une option de compression mais le ratio peut être grandement amélioré avec lzma.

LZMA, pour Lempel-Ziv-Markov chain-Algorithm, est un algorithme de compression de données en développement jusqu’à 2001 et utilisé dans le format 7z du programme 7-Zip et par StuffitX. Il utilise une compression avec dictionnaire assez similaire au LZ77 et offre un fort taux de compression (en général plus fort que le Bzip2) et une taille variable de dictionnaire de compression (jusqu’à 4 Go). (voir aussi LZW) source Wikipedia

Donc voici comment exporter une base et la compresser à la volée avec lzma:

L’option –best permet d’obtenir le meilleur ratio de compression.

A titre d’exemple, j’avais une base de donnée qui, non compressée, faisait 1,3 Go.

En utilisant le meilleur ratio de compression de pg_dump, je tombe à 373 Mo

lzma fait encore mieux, seulement 64 Mo !!

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

SSH: chroot facile d’un utilisateur

Nous allons voir 2 choses dans cet article:

  • Tout d’abord, enfermer un utilisateur dans un chroot
  • Donner un accès SSH à cet utilisateur dans son environnement « chrooté »

Introduction

Un chroot est une « prison » où vous allez « enfermer » votre utilisateur. Concrètement, pourquoi enfermer un utilisateur dans un chroot ? A quoi ça sert ?

Et bien, imaginez que vous décidez d’autoriser un utilisateur à accéder aux ressources de votre machine. Ceci pour une raison X ou Y. Ce dernier jouit d’un grand pouvoir. Il peut s’il le désire essayer de se balader dans votre système de fichiers, mettre le nez où il ne devrait pas, lancer des programmes installés, … il peut même aller (si il est suffisamment malin) jusqu’à obtenir des privilèges administrateur…

Bref, l’enfermer dans un chroot, c’est l’enfermer dans un répertoire d’où il ne peut pas sortir, et avec un accès limité aux executables.

Configurer un chroot est habituellement assez chiant, car de base, l’utilisateur ne dispose d’aucun programme, il faut importer des librairies à la main avec ldd, il faut créer les devices /dev/null, /dev/zero, /dev/tty, /dev/urandom avec mknod

Pour nous simplifier la vie, nous allons utiliser un script de Wolfgang Fuschlberger, permettant d’automatiser tout ça.

Vous pouvez le télécharger sur cette page: http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/

J’ai eu un problème avec ce script avec notamment ce message d’erreur:

La solution se trouve ici: http://ubuntuforums.org/showpost.php?p=5583234&postcount=5

Il faut en fait supprimer au début des lignes 406 et 407 :

Allez, assez de bla-bla, on y va !!

Chroot utilisateur

Installation de paquets nécessaires:

On télécharge le script et on le rend executable:

Avant d’utiliser le script, vous pouvez décider d’ajouter/supprimer vers la ligne 111 les applications disponibles dans le chroot:

Création d’un répertoire où sera enfermé l’utilisateur. Je le crée à la racine et le nomme chroot:

C’est le moment d’utiliser le script. Il s’utilise de cette manière:

chroot-shell est un shell spécialement créé par le script pour chrooter les utilisateurs. Mais maintenant qu’OpenSSH supporte le chroot, on indique le shell à utiliser. Concernant l’utilisateur, si il n’existe pas, il sera créé. Si il existe, son profil sera mis à jour.

Pour un utilisateur toto enfermé dans /chroot avec comme shell bash:

Répondez yes aux questions.

Si vous avez ce message d’erreur:

J’ai donné la solution plus haut…

Configuration de SSH

Le but étant de donner un accès SSH à cet utilisateur, il ne reste plus qu’à configurer son accès SSH. Ça se passe dans /etc/ssh/sshd_config:

Ajoutez ceci à la fin du fichier:

Si vous chrootez un groupe d’utilisateurs, remplacez User par Group.

Pour toute question, direction les commentaires…

Source: http://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone

Samba / SWAT: installation rapide

Sous un système à base Debian / Ubuntu:

Voilà, c’est installé ! Place à la configuration, ouvrez votre navigateur à l’adresse http://127.0.0.1:901 Une fenêtre d’authentification apparaît, loguez-vous avec l’utilisateur root pour la configuration.

Les options par défaut suffisent pour une utilisation basique. Dans la partie GLOBALS, vous pouvez personnaliser le Netbios Name, c’est le nom qui va apparaître lorsque vous parcourrez votre réseau.

C’est dans la partie SHARE que vous configurez vos partages.

Les champs indispensables sont:

  • path: le répertoire à partager, par exemple /media/disk
  • valid users: les utilisateurs autorisés à accéder au partage, séparés par une virgule si il en a plusieurs.
  • admin users: les super-utilisateurs autorisés à modifier tout le contenu du répertoire
  • read list: les utilisateurs autorisés à lire, mais pas à écrire
  • read only: le répertoire sera en lecture seule
  • guest OK: est-ce que l’on autorise les utilisateurs non-authentifiés à accéder au partage ?
  • Browsable: doit être à Yes pour parcourir le partage
  • Available: obligatoirement à Yes si vous voulez pouvoir accéder à votre partage

Concernant les utilisateurs, on peut définir également des groupes, il suffit pour cela d’ajouter un @ devant le nom. Par exemple pour le groupe toto: @toto.

Justement, il est temps de voir comment ajouter des utilisateurs. SWAT ne peut gérer que des utilisateurs déjà présents dans le système.

Pour cela, dans une console:

Et hop, l’utilisateur toto est présent dans le système. Pour le faire connaître à votre serveur SAMBA, allez dans la section Password. C’est ici que vous pourrez ajouter des utilisateurs, modifier leur mot de passe, etc.

Pour toute question, il y a les commentaires ^^

Tweet about this on TwitterShare on Google+Share on FacebookEmail this to someone