Le fichier motd signifie à l'origine message of the day et contient un message destiné aux utilisateurs lorsqu'ils se connectent. il est toutefois possible d'iniber cet affichage en créant un fichier .hushlogin vide dans le répertoire HOME de l'utilisateur pour lequel il n'est pas nécessaire (root, etc.) :
cp /dev/null ${HOME}/.hushlogin
ou encore :
touch ${HOME}/.hushlogin
Ce fichier système est géré par les commandes addgroup, defgroup, groupadd, groupadd, groupmod, groupdel. Chaque ligne du fichier déclare un groupe d'utilisateur, chaque champ étant, comme d'habitude, séparés par ":". Ce fichier est structuré de la façon suivante :
nom_de_groupe:mot_de_passe_du_groupe:identifiant_du_groupe(gid):liste_utilisateur(séparés par une virgule)
Le groupe de gid=0 contient tous les utilisateurs autorisés à effectuer une commande su, c'est-à-dire de prendre l'identité de l'utilisateur de uid=0 (root). Si la liste des utilisateurs est vide, alors n'importe qui peut prendre cette identité. Dans tous les cas, la connaissance du mot de passe n'est pas nécessaire.
Le fichier /etc/magic (défini par l'utilisateur ou par défaut /usr/share/misc/magic contient le "nombre magique" d'un fichier, c'est-à-dire, en général, les deux premiers caractères, ce qui permet de définir le type d'un fichier grâce à la commande file.
Par exemple :
# file erreur-vunet-20071003.ps samba.ps erreur-vunet-20071003.ps: PostScript document text conforming at level 3.0 samba.ps: PostScript document text conforming at level 2.0
Il est bien entendu possible de réaliser ses propres fichiers magic et de les compiler soi-même.
Le fichier /etc/hosts permet de définir une machine du réseau IP. Chaque ligne représente une déclaration. Il peut y avoir plusieurs déclaration pour une machine, si par exemple elle possède plusieurs interfaces IP (réelles ou virtuelles).
Pour chaque ligne, le premier champ désigne l'adresse IP, le deuxième, le nom complet tel qu'il sera affiché avec hostname, les suivants seront les alias.
Certains alias sont réservés. Ainsi :
loghost est utilisé par syslog
mailhost est utilisé par sendmail et fait référence à la machine effectuant le routage du courriel
Le fichier /etc/printcap permet de définir les impripantes en usage sur la machine, qu'elle soient locales ou distantes.
Par exemple :
HP920c-PCL|lp|pcl|Imprimante HP DeskJet 920c PCL:\
:lp=/dev/lpt0:\
:lf=/var/log/hp920c-pcl.log:\
:af=/usr/local/lpd/lp.acct:\
:sd=/var/spool/lpd/HPDj920CPCL:\
:mx#0:sh:
Pour plus d'informations sur la configuration d'une imprimante sous UNIX, veuillez consulter cette astuce.
Le fichier /etc/fstab contient les différentes partitions -locales et distantes- du système. Il est utilisé par fsck, quotaon, mount et dump, permettant ainsi de gérer les partitions - montage/démontage, quotas, sauvegardes, etc.-. Ce fichier contient 5 ou 6 champs et le séparateur peut changer en fonction du système. Mais en général, on trouve dans l'ordre :
nom de partition
point de montage
système de fichier (dépend du système)
droits d'accès
fréquence de sauvegarde
ordre de contrôle par le boot (fsck)
Avec le NFS, le format a un peu changé. Sur un système distribué, la partition indique alors le répartoire de la machine distante.
Le fichier /etc/networks permet d'associer des noms et alias aux différents réseaux connus. Il est de structure similaire au fichier hosts, bien que lordre des colonnes puisse changer. Le fichier networks a normalement la structure suivante :
nom de réseau
adresse réseau
alias 1
alias 2
...
Par exemple :
your-netmask 255.255.255 # subnet mask for your-net mshome 192.168.0 # mon reseau interne protege wifi 192.168.1 # mon reseau wifi exterieur ipsec 192.168.2 # reseau distant par IPSEC
Le fichier /etc/protocols déclare tous les protocoles utilisés par le système. Par exemple :
ip 0 IP # internet protocol, pseudo protocol number #hopopt 0 HOPOPT # hop-by-hop options for ipv6 icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group management protocol ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st2 5 ST2 # ST2 datagram mode (RFC 1819) tcp 6 TCP # transmission control protocol cbt 7 CBT # CBT, Tony Ballardieegp 8 EGP # exterior gateway protocol igp 9 IGP # any private interior gateway (Cisco: for IGRP) bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring nvp 11 NVP-II # Network Voice Protocol pup 12 PUP # PARC universal packet protocol argus 13 ARGUS # ARGUS emcon 14 EMCON # EMCON xnet 15 XNET # Cross Net Debugger chaos 16 CHAOS # Chaos udp 17 UDP # user datagram protocol mux 18 MUX # Multiplexing protocol dcn 19 DCN-MEAS # DCN Measurement Subsystems hmp 20 HMP # host monitoring protocol prm 21 PRM # packet radio measurement protocol xns-idp 22 XNS-IDP # Xerox NS IDP trunk-1 23 TRUNK-1 # Trunk-1 trunk-2 24 TRUNK-2 # Trunk-2 leaf-1 25 LEAF-1 # Leaf-1 leaf-2 26 LEAF-2 # Leaf-2 rdp 27 RDP # "reliable datagram" protocol irtp 28 IRTP # Internet Reliable Transaction Protocol iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 netblt 30 NETBLT # Bulk Data Transfer Protocol mfe-nsp 31 MFE-NSP # MFE Network Services Protocol merit-inp 32 MERIT-INP # MERIT Internodal Protocol sep 33 SEP # Sequential Exchange Protocol 3pc 34 3PC # Third Party Connect Protocol idpr 35 IDPR # Inter-Domain Policy Routing Protocol xtp 36 XTP # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto tp++ 39 TP++ # TP++ Transport Protocol il 40 IL # IL Transport Protocol ipv6 41 IPV6 # ipv6 sdrp 42 SDRP # Source Demand Routing Protocol ipv6-route 43 IPV6-ROUTE # routing header for ipv6 ipv6-frag 44 IPV6-FRAG # fragment header for ipv6 idrp 45 IDRP # Inter-Domain Routing Protocol rsvp 46 RSVP # Resource ReSerVation Protocol gre 47 GRE # Generic Routing Encapsulation mhrp 48 MHRP # Mobile Host Routing Protocol bna 49 BNA # BNA
Le fichier /etc/services contient la déclarations des services utilisés par le système.
rtmp 1/ddp #Routing Table Maintenance Protocol tcpmux 1/tcp #TCP Port Service Multiplexer tcpmux 1/udp #TCP Port Service Multiplexer nbp 2/ddp #Name Binding Protocol compressnet 2/tcp #Management Utility compressnet 2/udp #Management Utility compressnet 3/tcp #Compression Process compressnet 3/udp #Compression Process echo 4/ddp #AppleTalk Echo Protocol rje 5/tcp #Remote Job Entry rje 5/udp #Remote Job Entry zip 6/ddp #Zone Information Protocol echo 7/tcp echo 7/udp discard 9/tcp sink null discard 9/udp sink null systat 11/tcp users #Active Users systat 11/udp users #Active Users daytime 13/tcp daytime 13/udp qotd 17/tcp quote #Quote of the Day qotd 17/udp quote #Quote of the Day msp 18/tcp #Message Send Protocol msp 18/udp #Message Send Protocol chargen 19/tcp ttytst source #Character Generator chargen 19/udp ttytst source #Character Generator ftp-data 20/tcp #File Transfer [Default Data] ftp-data 20/udp #File Transfer [Default Data] ftp 21/tcp #File Transfer [Control] ftp 21/udp #File Transfer [Control] ssh 22/tcp #Secure Shell Login ssh 22/udp #Secure Shell Login telnet 23/tcp telnet 23/udp ...
Lorsqu'on souhaite ajouter un nouveau service, il faut l'ajouter à ce fichier. Par exemple, dans le cas d'un pare-feu, on souhaite activer la translation d'adresse afin de filtrer sur un port bien précis. Dans ce cas, on peut ajouter le service suivant :
natd 8668/divert # Network Address Translation socket
Les services sont utilisables dans de nombreuses application du système sans avoir besoin d'utiliser le port et le protocole. Il suffit juste d'appeler le service, le système se chargera alors de remplacer le service par le paramétrage correspondant.
Le fichier /etc/ftpusers déclare tous les utilisateurs dont on interdit l'accès au service FTP.
Le fichier /etc/passwd définit les utilisateurs du système, une ligne par utilisateur, de structure suivante :
utilisateur:mot_de_passe:uid:gid:zone_libre:répartoire:shell
Avec :
utilisateur : définition du nom d'utilisateur (login)
mot_de_passe : mot de passe chiffré de l'utilisateur, par défaut à *, puis définie grâce à la commande passwd
utilisateur : uid : identifiant d'utilisateur, compris entre 0 et 65535.
0 : root (superutilisateur)
1-10 : logins spéciaux ou système
100-65535 : logins utilisateurs normaux
gid : identifiant de groupe, défini lui-même dans /etc/group
zone_libre : on peut y mettre ce qu'on veut, mais l'on en profite généralement pour y mettre le nom complet ou la description de l'utilisateur. Cette zone est, en outre, utilisée par des applications externes comme mail, finger, etc.
répertoire : répertoire ${HOME} de l'utilisateur
shell : interpréteur de commande de l'utilisateur, sh, csh, ksh, bash, tcsh, etc. mais l'on peut y mettre n'importe quelle commande - par exemple un script interactif ne permettant qu'un nombre limité de commandes-. Si ce champ est vide, il est initialisé avec /bin/sh. Ce champ peut-être modifié avec chsh (change shell)
Le fichier /etc/profile est le fichier exécuté en premier lors de la connexion au shell sh - le second étant le fichier .profile du répertoire ${HOME} de l'utilisateur. Il contient les variables et commandes globales utilisables par tous les utilisateurs. Il est géré par l'administrateur. Etant interprété par sh, les lignes doivent être dans un format compréhensible par lui.