Le répertoire /etc

 

Voici quelques fichiers ou répertoires (les plus courants) que l'on trouve sous /etc:

 

passwd, group et shadow cf. Sécurité sous unix. Il s'agit de fichiers ASCII dans lesquels sont déclarés les utilisateurs (passwd) et les groupes auquelles appartiennent ces utilisateurs(group). Le fichier shadow a été ajouter par la suite pour apporter une sécurisation sur le mot de passe utilisateur (ce fichier n'étant lisible que par le système ou l'utilisateur root contrairement à passwd, il n'est plus possible de trouver le mot de passe utilisateur en cherchant à crypter des mots de passe et en comparant le résultat avec celui qui était auparavant présent dans passwd).

fstab (filesystems sur AIX ou vfstab sur sun solaris) file systems table. Contient la liste des systèmes de fichiers sur une machine Unix/linux. Voir ce chapitre pour plus d'informations.

getty et gettydefs (cf. PROCESSUS 1 (processus INIT) et ceux exécutés à la connexion (processus GETTY, LOGIN))

Format de gettydefs
label#params initiaux#params finaux#invite#label suivant

params initiaux : commandes ou paramètres à lancer au terminal pour l'initialiser

params finaux : commandes à lancer au terminal pour le déconnecter

invite : message à afficher pour demander le nom d'utilisateur

inittab liste tous les terminaux et leurs paramètres

Format: ID:niveau d'exécution:action:programme

ID est une chaîne d'un ou deux caractères qui identifie de manière unique la ligne. Pour un terminal, elle correspond souvent a son nom, 1 pour tty1 par exemple.
Le niveau d'exécution permet de définir le fonctionnement du terminal. les niveaux vont de 1 a 6. En l'absence de définition explicite, la ligne concerne tous les niveaux d'exécution. Vous pouvez préciser plusieurs niveaux:

  • 0 = halte
  • 1 = mono utilisateur
  • 2, 3, 4 & 5 = multi utilisateurs
  • 6 = reboot

L'action indique le comportement lorsque le système démarre ou lorsque le programme prend fin. Plusieurs actions sont valides pour un terminal:

  • once : lance une seule fois le programme.
  • ondemand : permet de s'assurer que le programme est toujours actif - provoque le fonctionnement permanent du programme (identique a respawn).
  • repaswn : redémarre le programme s'il vient a prendre fin.
  • sysinit : correspond à des actions à exécuter avant d'accéder à la console.
  • powerfail : exécute un programme si init reçoit un signal de coupure d'alimentation.
  • powerwait : idem que powerfail, mais init attends la fin du programme avant de continuer son traitement.
  • boot : indique que le programme ne doit être exécuté qu'à la première lecture du fichier.
  • bootwait : identique à boot, attente du processus init de la fin du programme.
  • initdefault : permet de définir le niveau de fonctionnement par défaut (mono, multi...)
  • off : demande l'arrêt du programme si il s'exécute.
  • wait : idem à once, mais init attend la fin du programme avant de poursuivre.

Exemple inittab de linux

n S1:1:respawn:/etc/getty 9600 ttyS0
Cette ligne signifie qu'il faut lancer le programme getty sur ttyS0 (pour com1) à 9600 baud et devrait être relancé s'il venait à prendre fin.

n RC :123456 :wait :/etc/rc.d
5 est la valeur la plus couramment utilisée, qui correspond au fonctionnement normal de Linux en mode multi-utilisateur.

n ca : :ctrlaltdel :/sbin/shutdown -t3 -rf now
Spécifique à Linux, provoque un shutdown lors d'un ctrl-alt-sup

(cf. PROCESSUS 1 (processus INIT) et ceux exécutés à la connexion (processus GETTY, LOGIN))

login.def Lié au processus login pour tester la cohérence entre le nom d'utilisateur saisi et son mot de passe. Si cette opération est correcte, login effectue un exec du shell (cf. Les processus du système). Ce fichier contient des paramètres utilisés par login comme le nombre de tentaives pour un mot de passe incorrect, le time out, ...

motd Lorsqu'un utilisateur se connecte avec succès sur une machine UNIX, le contenu d'un fichier est affiché à l'écran avant l'initialisation de son shell.

Ce fichier est un simple fichier texte est s'appelle /etc/motd. On peut le remplir avec vi. Mais seul le root a les permissions de modifier celui-ci.
(cf. PROCESSUS 1 (processus INIT) et ceux exécutés à la connexion (processus GETTY, LOGIN)).

Voir le fichier issue ou issue.net, son équivalent avant login.


printcap Drivers imprimantes.

rc Dans ce répertoire se trouve les fichiers qui sont exécutés par init (cf processus système). Il contient un script qui comporte des commandes de gestion du système (lancement des démons, destruction des fichiers temporaires...). Le code exécuté dépendra du mode d'exécution de init (mono, multi,…). (cf. PROCESSUS 1 (processus INIT) et ceux exécutés à la connexion (processus GETTY, LOGIN))

shells Ce fichier contient la liste des shells disponibles.

ttys liste tous les ports du système et des terminaux qui sont connectés.
La première colonne indique le type de terminal et sert à initialiser la variable d'environnement term. La seconde colonne contient le nom du descripteur de périphérique, auquel a été retiré /dev

Exemple du fichier ttys sous système linux :

console tty1
console tty2
...
console tty6
vt100 ttyp0
...
vt100 ttyp3

(cf. PROCESSUS 1 (processus INIT) et ceux exécutés à la connexion (processus GETTY, LOGIN)

profile Il s'agit d'un script lancé automatiquement pour un shell dit "shell login" (C'est à dire un shell lancé lors d'une connexion à une console, ce n'est pas le cas des consoles lancés sous X-Window). Plus de détails dans le chapitre suivant: annexe sur les shells.

hosts fichier permettant au système de résoudre les noms en adresse IP. En principe, vous ne devriez pas intervenir dessus, les DNS étant bien plus fiables pour cela et rendant la maintenance/maj beaucoup plus facile ! Vous pourrez l'utiliser pour ajouterez des serveurs locaux pour une utilisation avec Apache qui permettra de développer un site web par exemple. Il existe aussi des programmes qui référencent les noms des régies publicitaires en redirigeant ces noms sur votre machine locale, ce qui vous évitera l'affichage de publicités dans votre navigateur (par exemple sur Android avec AdAway, ce qui évite une consommation de data qui peut vous coûter cher !).

Pour attibuer un nom d'hôtes à chacune des adresses IP (résolution des noms). La syntaxe est : IP nom_d_hote_canonique alias

Vous retrouverez 127.0.0.1 localhost

C'est cette ligne qui permet d'utiliser localhost pour indiquer votre machine locale.

hosts.allow et hosts.deny: des fichiers réservés au démon tcpd.

Les répertoires apache2 ou httpd sont réservés à Apache et contiennent des fichiers de configuration du serveur Web.

issue.net ou issue (ISSUE NETWORK), fichier texte qui est par défaut trop bavard. Son contenu s'affiche lors d'une connexion console ou à distance (telnet, ssh). Mais cela pourrait être pire, car certains caractères pourrait être utilisées pour afficher encore plus d'informations (\r pour version du système, \s pour le nom du système, ...). Fichier à modifier de toute urgence pour ne pas aider les hackers dans leur tâches !

Voir motd, le fichier équivalent après un login.

securetty liste l'ensemble des terminaux à partir desquel l'utilisateur root peut se connecter. Supprimez une ligne ou utilisez # pour commenter un tty interdira la connexion root sur ce terminal.

ftpusers liste l'ensemble des utilisateurs dont la connexion ftp est interdite. Vous devez y retrouver l'utilisateur root, mais aussi tous "utilisateurs" du système uucp, bin, mail, adm, deamon, ... (lister les utilisateurs déclarés dans /etc/passwd)

hostname Ce fichier texte contient simplement le nom de la machine. vous pouvez le modifier sans problème.

AttentionPas d'espace, de caractères particuliers.

 

networks permet d'identifier un réseau par un nom logique (localnet 127.0.0.0, voir la commande route par exemple)

resolv.conf permet d'affecter les serveurs de noms.

services permet d'affecter un port à un service (ou démon) comme http, ssh, telnet, ...

apt/sources.list Il s'agit d'un fichier brut indiquant aux systèmes utilisant apt où se trouve les dépôts de paquets pour lesquel vous avez une totale confiance (root nécessaire pour modification).

Une ligne est composée de la façon suivante:

deb url branche section1 section2 section3 section4

Avec

deb pour paquets d'installation ou deb-src pour les sources. deb pour débian et les systèmes dérivés.

url pour l'url du serveur de paquets.

Notes L'URL pourra commencer par http://, cdrom://, file:// ou ftp://

branche de votre système (par exemple oneiric, trusty, precise pour ubuntu, wheezy, jessie pour debian, ...) ou le nom d'une archive plutôt destinée aux développeur (oldstable, stable, testing, unstable).

section(s) pour les sections du dépôt auquel vous souhaiter accéder. généralement, ce sera main pour le dépôt principal. Suivant les systèmes, vous pouvez trouver ou ajouter contrib et/ou non-free (paquets non libres ou dépendants de ressources non-libres) ou universe pour maintenu par les utilisateurs et libres ou restricted pour maintenu par l'quipe mais potentiellement,partiellement ou totaliement non libre ou multiverse identique que restricted mais par les utilisateurs.

Vous pouvez aussi des lignes de commentaires commençant par #.

Cf. sources.list pour debian ou pour ubuntu.

apt/sources.list.d/apt-spy contient le miroir le plus performant par rapport à votre localisation. Ce fichier est renseigné par la commande apt-spy qui test les connexions aux différents serveurs dont la liste est donnée sous ftp.debian.org.

network/interfaces Il s'agit d'un fichier qui sous debian (et autres fork comme raspbian par exemple) va permettre de paramétrer la ou les cartes réseaux.

/etc/ssh/sshd_config permet de configurer le service ssh (entre autre interdire ou non l'utilisateur root, les mots de passes vides, autoriser certains utilisateurs ou groupe, ...