Modifier le hostname sous RedHat

Avec une distribution RedHat la modification du hostname de la machine se fait via une modification du fichier /etc/sysconfig/network :

$ vi /etc/sysconfig/network
HOSTNAME=monordinateur

La modification sera prise en compte au prochain démarrage de la machine.

Pour une prise en compte immédiate on utilise la commande hostname :

$ hostname monordinateur

On peut vérifier avec la commande hostname suivi d'aucun argument :

$ hostname
monordinateur

Pour la prise en compte dans l'invite de commande, il faut se déconnecter puis se reconnecter.

 

Créer un alias sous Linux

Créer un alias sous Linux est très utile pour redéfinir des commandes que l'on utilise souvent avec une option particulière, comme par exemple ls -l --color=auto pour afficher le format long et en couleur de la commande ls

La commande alias permet de créer par exemple une commande ll qui exécutera en fait ls -l --color=auto.

Pour cela, on utilise la commande alias de la manière suivante pour définir un nouvel alias :

$ alias ll='ls -l --color=auto'

On peut également utiliser alias sans argument pour afficher la liste des alias actuellement configurés :

$ alias
alias ll='ls -l --color=auto'

Par contre, l'alias ainsi créer n'est valable que pour le shell courant (et les processus fils).

Si l'on veut un alias permanent, il suffit de faire la déclaration dans le fichier .bashrc de l'utilisateur (si on est sous un shell Bash, sinon ça peut être .tcshrc par exemple) :

$ vi ~/.bashrc

Et on y insère par exemple cette ligne à la fin :

alias ll='ls -l --color=auto'

Ainsi, l'alias sera défini à chaque nouveau shell créé pour l'utilisateur.

On peut aussi recharger le shell courant pour prendre en compte le nouvel alias sans attendre la reconnexion :

$ . ~/.bashrc

Chrooter un utilisateur

chroot est une commande permettant de lancer une commande en modifiant l'emplacement du répertoire racine. Ainsi, si l'on choisit comme répertoires racine /usr/local/jail, lorsque l'utilisateur tapera "cd /" il arrivera dans ce qui est pour lui la racine (la commande pwd lui retournera bien /), alors qu'en réalité il sera dans /usr/local/jail. Il ne pourra donc pas accéder à la vraie racine du serveur.

Objectif : permettre à un utilisateur d'accéder à un système Linux de manière étanche avec le reste du système tout en lui permettant d'accéder à certaines ressources ou services, comme par exemple la possibilité de se connecter en ssh et d'utiliser sftp.

En pratique, on obligera l'utilisateur à s'emprisonner lui-même dans un environnement "prison" que l'on aura préparé spécialement pour lui 🙂

Cette note sera découpée en deux grandes parties : la création de la prison et de son environnement, puis la création des utilisateurs de cette prison.

Logiciels utilisés : chroot, OpenSSH 4

Système d'exploitation : RedHat EL 5, Linux 2.6.x

Continuer la lecture de « Chrooter un utilisateur »

Générer un mot de passe aléatoire sous Linux

Voici un enchainement de commandes simples qui permet de générer très facilement une chaîne de caractère aléatoire composée de lettres minuscules, majuscules et de chiffres, et qui peut donc être utilisée comme générateur de mot de passe :

$ tr -d -c "a-zA-Z0-9" < /dev/urandom | head -c 8

Petite explication de texte :

  • /dev/urandom : interface du générateur de nombres aléatoires du noyau
  • tr : commande utilisée pour supprimer tous les caractères (option -d) ne correspondant pas (option -c) à la chaîne de caractères qui suit. Ici, on garde les lettres minuscules (a-z), les lettres majuscules (A-Z) et les chiffres (0-9). D’autres caractères peuvent être ajoutés, par exemple a-zA-Z0-9;,:?\!_- pour complexifier un peu plus le mot de passe.
  • head : commande qui permet de sélectionner les 8 premiers caractères (option -c 8). A adapter selon la longueur du mot de passe souhaitée.

Quitter telnet …

Qui n’a pas déjà pesté contre ce message invariable renvoyé par ce foutu telnet qui ne veut pas se fermer ?

$ telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

En fait, le caractère tant attendu est produit par ces combinaisons de touches :

  • sous Windows : Ctrl + $
  • sous Linux : Ctrl + Alt Gr + ]

Ce qui nous ramène sur l’invite telnet, il ne nous reste qu’à taper quit pour mettre fin au calvaire :

^]
telnet> quit

Ouf ! Plus d’excuse pour ne pas quitter ce truc proprement 🙂

Ajouter de la couleur à VIM

Pour ajouter la coloration syntaxique à l'éditeur de texte VIM (Vi iMproved), c'est très simple, il suffit de taper cette commande dans vim :

:syntax on

Différents thèmes de couleurs sont disponibles par défaut, on peut les choisir en tapant colorscheme puis la touche TAB pour faire défiler les différents thèmes disponibles. Par exemple :

:colorscheme delek

D'autre thèmes sont disponibles sur le Net, il suffit de les télécharger et de les placer dans /usr/share/vim/vimcurrent/colors/.

Pour que la coloration syntaxique et le thème choisi soit permanent il suffit de rajouter ces mêmes commandes dans le fichier ~/.vimrc de l'utilisateur (le créer s'il n'existe pas) :

$ vim ~/.vimrc

:syntax on
:colorscheme delek

Passer en locale UTF-8 sous Debian

Le but de cette note est de modifier le jeu de caractères par défaut sous Debian pour passer en UTF-8.

L'avantage de l'UTF-8 est qu'il permet la représentation d'un nombre beaucoup plus important de caractères : 90 000 aujourd'hui, contre 256 pour l'ISO-8859-1 (ou ISO-latin1) utilisé par défaut.

La manipulation pour changer le jeu de caractères par défaut est très simple et passe par la commande dpkg-reconfigure. Cette commande permet de reconfigurer un paquet après qu'il soit installé. Ici, nous allons reconfigurer le paquet locales :

~$dpkg-reconfigure locales

Dans la liste déroulante, vérifier que le jeu de caractères fr_FR.UTF-8 UTF-8 est coché :

[ ] fr_CA ISO-8859-1
[ ] fr_CA.UTF-8 UTF-8
[ ] fr_CH ISO-8859-1
[ ] fr_CH.UTF-8 UTF-8
[*] fr_FR ISO-8859-1
[*] fr_FR.UTF-8 UTF-8
[*] fr_FR.UTF-8@euro UTF-8
[*] fr_FR@euro ISO-8859-15
[ ] fr_LU ISO-8859-1
[ ] fr_LU.UTF-8 UTF-8
[ ] fr_LU@euro ISO-8859-15

Après avoir validé, on peut choisir le jeu de caractère par défaut. Sélectionner fr_FR.UTF-8 :

Aucun
fr_FR
fr_FR.UTF-8
fr_FR.UTF-8@euro
fr_FR@euro

Après validation, il faut se déconnecter et reconnecter. On peut alors vérifier le jeu de caractères par défaut qui est maintenant UTF-8 avec la commande locale :

~$locale
LANG=fr_FR.UTF-8
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

Changer l’éditeur par défaut sur Debian

Si comme moi vous êtes un inconditionnel de vi* vous vous êtes aperçu que ce n'est pas l'éditeur par défaut sur Debian ! C'est l'éditeur nano qui est chargé, par exemple quand vous voulez éditer le fichier de configuration sudo ou éditer un crontab avec les commandes adéquats.

Il ne tiens qu'à vous d'en changer ! La manip est très simple, elle passe par l'utilitaire update-alternatives :

~$ update-alternatives --config editor

There are 4 alternatives which provide `editor'.
  Selection    Alternative
-----------------------------------------------
          1    /bin/ed
*+        2    /bin/nano
          3    /usr/bin/vim.tiny
          4    /usr/bin/vim.basic
Press enter to keep the default[*], or type selection number: 4
Using '/usr/bin/vim.basic' to provide 'editor'.

Ouf, sauvé ! 🙂

Techniquement, l'utilitaire met à jour un lien symbolique pour pointer sur l'éditeur désiré.

Avant :

~$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 Dec 27 23:43 /usr/bin/editor -> /etc/alternatives/editor
~$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 9 Dec 27 23:43 /etc/alternatives/editor -> /bin/nano

Après :

~$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 Dec 27 23:43 /usr/bin/editor -> /etc/alternatives/editor
~$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Dec 29 14:03 /etc/alternatives/editor -> /usr/bin/vim.basic