« Généralités sur linux » : différence entre les versions

Aller à la navigation Aller à la recherche
Ligne 117 : Ligne 117 :
$ usermod -g legroupe pfoo
$ usermod -g legroupe pfoo
</nowiki></pre>
</nowiki></pre>
==Les liens==
Sous linux chaque fichier est repéré physiquement sur le disque par un inode (c'est en quelque sorte le vrai nom des données sur le disque). Le nom de fichier (filename) est ce qu'on appel une étiquette et pointe sur l'inode.
===Hard link===
On créé un hardlink avec la commande <code>ln</code>. Ils permettent de créer une nouvelle étiquette pointant vers un inode. Une fois un hardlink créé, on peut accéder au fichier aussi bien avec le nom d'origine qu'avec le nom que l'on vient de créer. Si on efface le nom d'origine, le fichier reste accessible par le hardlink.
Notez que les hardlinks doivent être situé sur le même disque physique.
Pour créer un hardlink :
<pre><nowiki>
$ ln source nouveau_nom
</nowiki></pre>
source est le nom du fichier pour lequel vous voulez créer un hardlink, et nouveau_nom est le nom du lien
===symbolic link===
Un lien symbolic est une nouvelle étiquette pointant cette fois vers un nom de fichier. Si on efface le fichier d'origine, le lien ne signifie plus rien.
Pour créer un lien symbolique :
<pre><nowiki>
$ ln -s source destination
</nowiki></pre>
source est le nom du fichier pour lequel vous voulez créer un hardlink, et destination est le nom du lien
==Ajouter et supprimer des utilisateurs==
Pour ajouter un groupe il faut utiliser la commande groupadd :
<pre><nowiki>
$ groupadd -g GID GROUPE
</nowiki></pre>
GID est le numéro du groupe. GROUPE est le nom du groupe.
Pour ajouter un utilisateur il faut utiliser la commande useradd :
<pre><nowiki>
$ useradd -g GID -u UID LOGIN -d home_dir -m
</nowiki></pre>
GID est le numéro du groupe principal de l'utilisateur.<br />
UID est le numéro de l'utilisateur. LOGIN est le login de l'utilisateur.<br />
home_dir est le répertoire de l'utilisateur. Généralement /home/LOGIN.<br />
L'option -m précise qu'il faut créer le répertoire personnel de l'utilisateur.
==Le patch kernel grsecurity et la restriction des droits de /proc==
Le patch grsecurity pour le noyau linux permet d'augmenter la sécurité de votre machine. Cependant, la restriction des droits qu'il peut imposer sur certains répertoires peut être quelque-peut gênante, notamment pour les services utilisant l'ipv6. Si le kernel est bien configuré il a attribué les répertoires dont il a durcit les privilèges à un groupe (défini par la directive de configuration CONFIG_GRKERNSEC_PROC_GID). Si certains services posent des problèmes au lancement (c'est le cas par exemple pour postfix ou bind9 lorsqu'on les configure pour gérer l'ipv6) ajoutez les simplement au groupe des sous-répertoires de /proc/.
Si vous utilisez snmpd, il faut modifier la ligne de lancement dans <code>/etc/default/snmpd</code> en ajoutant l'option <code>-g GID</code> où GID est le groupe défini par CONFIG_GRKERNSEC_PROC_GID.
==Le programme tar==
=Généralités sur debian=
==Le lancement automatique au boot==
Quand vous installez des serveurs sous debian, un fichier permettant de le lancer, de l'arrêter, et plus rarement de reloader sa configuration est créé dans /etc/init.d/
Lorsque vous lancez votre serveur, certains services devront être lancé automatiquement. Ce lancement est effectué grâce à des fichiers situés dans /etc/rc?.d/ Le point d'interrogation (?) représente un chiffre contenu entre 0 et 6. Ce chiffre représente l'init. L'init par défaut qui est exécuté au boot est défini dans le fichier /etc/inittab
Chez moi par exemple, j'ai la ligne suivante dans mon /etc/inittab :
    id:2:initdefault:
Celà signifie que lorsque je démarre mon serveur, il passe directement en init 2. C'est donc les fichiers situés dans /etc/rc2.d/ qui seront utilisés pour lancer les services.
Il est bon de noter que les fichiers situés dans /etc/rc2.d/ sont en fait des liens virtuels pointant vers le lanceur situé dans /etc/init.d/
Si on supprime l'un de ces lignes virtuels, le service en question ne sera plus lancé automatiquement.
Si on ajoute un lien, le service correspondant sera alors automatiquement lancé aut boot.
Vous avez peut-être remarqué que les liens ne sont pas nommé uniquement par le nom du service qu'ils lancent, mais qu'ils sont préfixés d'une lettre et de deux chiffres.
Un lien commençant par un S sera lancé, alors qu'un lien commençant par un K sera stoppé (K comme Kill)
Le nombre suivant la lettre S ou K définit la priorité de lancement ou d'arrêt.
Vous pouvez changer l'init actuel avec la commande telinit suivit du numéro de l'init voulu.
L'init 0 correspont a l'arrêt du serveur. L'init 6 correspond au reboot. L'init 1 est généralement utilisé pour un système single-user, et les init 2 à 5 pour un système multi-user.
A titre d'information, voici comment créer un lien virtuel pour ajouter un service au lancement automatique :
    # ln -s /etc/init.d/exemple /etc/rc2.d/S20exemple
Notez tout de même que beaucoup de serveurs (apache, proftpd, ...) proposent dans leur fichier /etc/default/ de définir s'ils doivent se lancer ou non au boot. Celà permet de ne pas toucher aux fichiers de /etc/rc?.d/
4 203

modifications

Menu de navigation