Nouvelle organisation de mes OS

Après avoir testé un certains nombre de systèmes d’exploitations dans le but d’en trouver un dont l’utilisation s’approcherait d’Ubuntu avec Gnome 2, j’ai décidé de me résigner et de me faire violence en utilisant toutes les interfaces que je n’aime pas afin de savoir me servir un peu de tout. Je suis donc de retour sous Ubuntu et, comme je m’y attendais, j’ai beaucoup à critiquer sur Unity. Etant une interface très jeune, je pense qu’il lui faudra un peu de temps pour corriger les défauts qui en découlent. Sur mon ordinateur fixe, j’ai décidé de faire un double boot, alors que jusqu’ici j’étais exclusivement sur Windows 7. Je vais donc passer sur Fedora 17 en OS principal et garder mon Windows 7 en parallèle au cas où le besoin s’en fasse sentir. Je vais ainsi pouvoir tester un système radicalement différent avec la gestion en rpm au lieu des deb et avec Gnome 3. Ainsi, en résumé, voilà l’organisation des machines que j’utilise :

  • Ordinateur portable :
    • Ubuntu 12.04 
    • Windows 7
    • Backtrack 5 r3
  • Ordinateur fixe :
    • Fedora 17
    • Windows 7
  • Ordinateur d’appoint :
    • Xubuntu 12.04

Raccourcis de verrouillage de l’écran

Etant en école d’informatique, il est un réflexe de survie qui n’a pas de prix et qui est de vérifier que son écran ou sa session est bien verrouillée lorsque l’on s’éloigne de sa machine.

Tout contrevenant est passible d’un fichier host modifié, donc d’un google qui se transforme en redtube, d’un fond d’écran scatologique, d’une mémoire saturée par un lancement massif de tous les programmes installés, du lancement d’un trojan maison, d’un programme de perturbation de la souris et bien d’autres encore.

Voilà donc les raccourcis clavier à appliquer systématiquement avant de s’éloigner de sa machine :

  • Sous Windows : « Touche Windows + L »
  • Sous Ubuntu : « Ctrl + Alt + L » Sur mon ordinateur, « Fn+ Space » fonctionne aussi mais je ne sais pas si c’est en rapport avec les Hotkeys ASUS ou si c’est un raccourcis disponible avec Ubuntu. En tout cas il n’est pas exclusif à Unity puisque ça fonctionnait avant avec Gnome 2

Activer l’espace insécable sous Xubuntu

J’avais eu un problème similaire il y a quelques années lorsque je travaillais avec Code::Blocks. Les espaces n’étaient pas pris en considération. La cause est que seuls les espaces insécables (non-breaking spaces) sont pris en compte. Il existe plusieurs manières de remédier à ce problème :

  • La première est la plus contraignante mais la plus pérenne. Elle consiste à insérer les espaces à l’aide des touches Ctrl + Alt + Espace
  • La deuxième est celle qui avait fonctionné sur ma Ubuntu quelques années auparavant. Elle consiste à aller dans les options Système -> Préférence -> Clavier -> Onglet Agencement -> Autres Options -> Using space key to input non-breakable space character -> Space key outputs usual space at any level
  • Une autre solution que je n’ai jamais testée moi même mais que j’ai trouvé sur internet consiste à modifier son fichier /etc/X11/xorg.conf et à commenter la ligne  » Option « XkbVariant » « oss »  » puis à redémarrer le serveur X.
  • Enfin, celle qui m’a permis de résoudre mon problème sous Xubuntu a été de me rendre dans Paramètres -> Gestionnaire de paramètres -> Clavier -> Onlget Disposition -> Décocher utiliser les paramètres par défaut -> Modifier la disposition du clavier -> Français (variante obsolète)

Toutes ces techniques permettent d’activer les espaces insécables à la place des espaces normaux mais ne fonctionnent pas forcément toutes en fonction de la distribution utilisée.

 

Fixer une adresse IP manuellement sous Linux

Pour fixer une adresse IP sous Linux, il suffit de modifier le fichier /etc/network/interfaces.

Ce fichier contient les configurations des différentes interfaces réseau de la machine. Il suffit de créer des lignes selon ce format pour avoir une interface dont l’IP (v4) sera fixée :

iface <NOM_DE_L_INTERFACE> inet static
address <ADRESSE_IP_QUE_L_ON_VEUT_FIXER>
netmask <MASQUE_DE_SOUS_RÉSEAU>
getway <ADRESSE_DE_LA_PASSERELLE_PAR_DEFAUT>

Pour la repasser en IP dynamique, il suffit de remplacer ces lignes par :

iface <NOM_DE_L_INTERFACE> inet dhcp

Changer le propriétaire et le groupe d’un dossier/fichier

Pour changer le propriétaire et le groupe d’un dossier ou d’un fichier, j’ai toujours utilisé deux commandes l’une après l’autre à savoir :

chown <NOM_DU_NOUVEAU_PROPRIÉTAIRE> <NOM_DU_FICHIER/DOSSIER>
chgrp <NOM_DU_NOUVEAU_GROUPE> <NOM_DU_FICHIER/DOSSIER>

Seulement je viens d’apprendre qu’on peut faire exactement la même chose en n’utilisant qu’une seule commande :

chown <NOM_DU_NOUVEAU_PROPRIÉTAIRE>:<NOM_DU_NOUVEAU_GROUPE> <NOM_DU_FICHIER/DOSSIER>

Désactiver la commande sudo

Pour l’administration de mes serveurs, afin d’éviter tout risque de piratage, il est nécessaire d’avoir 2 mots de passe pour effectuer des commandes root.

Imaginons que notre compte utilisateur a accès à la fonction sudo, comme c’est le cas du première utilisateur créé dans la plupart des distributions GNU/Linux, et que le mot de passe de connexion en SSH est le mot de passe de ce compte. Si quelqu’un arrive à prendre connaissance du mot de passe lors de la connexion (keylogger, regard indiscret, …), il pourra ensuite se reconnecter et avoir un contrôle total du serveur distant.

Afin d’éviter cela, nous allons désactiver la fonction sudo pour l’utilisateur en question. Ainsi, pour effectuer des commandes administrateurs, il faudra se connecter préalablement en tant que super utilisateur.

On changera aussi le mot de passe du super utilisateur pour qu’il soit différent de celui du compte de l’utilisateur, sinon ceci n’a aucun intérêt.

Pour changer le mot de passe de root, rien de plus simple :

  • Si il a déjà été fixé, il suffit de faire
su
passwd

et de taper son nouveau mot de passe.

  • Si il n’a jamais été fixé, il faut se connecter avec un utilisateur possédant le droit d’utilisation de la fonction sudo et faire :
sudo su
passwd

et de taper le nouveau mot de passe.

Maintenant que nous sommes sûr d’avoir un utilisateur root avec un mot de passe que l’on connait, on va désactiver la fonction sudo. Pour ceci plusieurs possibilités :

  • Désinstaller purement et simplement la fonction sudo avec :
apt-get purge sudo
  • Modifier le fichier /etc/sudoers et commenter/supprimer les lignes correspondantes aux utilisateurs. Vous pouvez choisir de laisser ou d’enlever root du fichier. L’intérêt de le laisser est de na pas avoir une erreur lorsque, machinalement, on tape sudo alors qu’on est connecté en root. L’enlever vous forcera à bien séparer les commandes administrateurs des commandes utilisateur dans votre tête. Une autre solution pour se forcer est de retirer la commande sudo du path de l’utilisateur root. Ne connaissant plus la commande sudo, il indiquera systématiquement une erreur.

Il ne reste plus qu’à valider les changements soit en redémarrant la machine, soit à l’aide de la commande :

/etc/init.d/sudo restart

Comment personnaliser sa bannière de connexion SSH

Lorsque l’on se connecte à son serveur en SSH, on a souvent un texte de base contenant des informations sur le serveur. Nous allons ici personnaliser le texte affiché.

La première étape consiste à activer la bannière dans le fichier de configuration d’openSSH. Pour ce faire, on va dans /etc/ssh/ et on modifie le fichier sshd_config. On décommentera la ligne :

#Banner /etc/issue.net

ou on la créera si elle n’y est pas. L’URI indique le fichier qui contiendra notre message d’accueil. On peut modifier son emplacement si on le veut ou simplement utiliser celui qui existe déjà. Après modification du fichier de bannière, un redémarrage à l’aide de la commande

/etc/init.d/ssh restart

suffit à faire prendre en compte les modifications. La bannière est maintenant affichée dès qu’une demande de connexion est effectuée.

Différentes manières de désactiver l’indexage des dossiers dans Apache2

Dans les dossiers de site internet, Apache va chercher à ouvrir les fichiers qui ont été configurés par défaut (la plupart du temps ce sera index.html ou index.php). Si ces derniers ne figurent pas, Apache va faire un listing des fichiers/dossiers qui sont présents. Ceci peut être particulièrement dangereux si vous possédez des fichiers personnels que vous ne souhaitiez pas partager ou si une personne malveillante s’en sert pour repérer l’arborescence du site et pour repérer les pages d’administrations par exemple.

Il existe plusieurs manières de désactiver ce listage par défaut :

1/ La première consiste, à modifier le fichier de configuration globale d’Apache ou des Virtual Hosts indépendamment en indiquant l’option :

Options -Indexes

On pourra aussi ajouter l’option -FollowSymLinks pour désactiver le suivi des liens symboliques.

2/ La deuxième consiste, si la directive AllowOverride Indexes ou AllowOverride All est activée, à rajouter :

Options -Indexes

dans le fichier .htaccess du répertoire qui ne doit pas afficher l’index. Elle s’appliquera récursivement à tous les sous-dossiers.

3/ Enfin, la dernière solution consiste à désactiver le module autoindex d’apache. Pour ce faire on peut procéder en commentant la ligne

LoadModule autoindex_module modules/mod_autoindex.so

dans le fichier httpd.conf. ou alors en désactivant en ligne de commande le module en tapant :

a2dismod autoindex

Autoriser la connexion de root en FTP avec vsFTPd

ATTENTION : Ce que je détail ici est à titre informatif et n’est en aucun cas recommandé.

Le cas m’est arrivé une fois où je devais me connecter en root en FTP car je n’avais pas encore créé d’autre utilisateur. Ceci est à éviter autant que possible pour plusieurs raison :

  • La première est le fait que le protocole FTP utilisé sans SSL (FTPS) fait transiter en clair les informations de connexion. Ainsi, une personne qui intercepte le mot de passe root peut prendre un accès total de la machine.
  • La deuxième est que, selon moi, le root est l’administrateur de la machine et pas de chaque logiciel.

vsFTPd utilise un fichier qui contient la liste des utilisateurs n’ayant pas le droit de se connecter. Celui ci est /etc/ftpusers. On voit en première ligne que le nom de root y est apposé. Il suffit de supprimer la ligne correspondante et de redémarrer vsFTPd avec

/etc/init.d/vsftpd restart

pour que l’utilisateur root soit autorisé à se connecter.

Organisation des catégories de manpages

Les manpages sont réparties entre différents dossiers (Cela sert surtout lorsque plusieurs manpages portent le même nom pour des fonctions qui n’ont pas la même utilité). Selon la documentation officielle de man (man man) les catégories sont réparties ainsi :

1 Programmes exécutables ou commandes de l’interpréteur de commandes (shell)
2 Appels système (fonctions fournies par le noyau)
3 Appels de bibliothèque (fonctions fournies par les bibliothèques des programmes)
4 Fichiers spéciaux (situés généralement dans /dev)
5 Formats des fichiers et conventions. Par exemple /etc/passwd
6 Jeux
7 Divers (y compris les macropaquets et les conventions), par exemple man(7), groff(7)
8 Commandes de gestion du système (généralement réservées au superutilisateur)
9 Sous-programmes du noyau [hors standard]