IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ BSDConsultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 127, dernière mise à jour : 20 novembre 2007  Ajouter une question

 

Cette FAQ a été réalisée à partir des contributions des membres du forum Unix de developpez.com et de l'équipe de rédaction.

Organisation : cette FAQ se compose de deux grandes parties. Une première, Questions générales, qui regroupe toutes les questions qui trouvent une réponse, commune ou non, pour l'ensemble des systèmes BSD. La deuxième est découpée en autant de sous-parties qu'il y a de systèmes BSD soit parce que la question est spécialisée soit parce que la réponse est incomplète pour qu'elle concerne chacun de ces systèmes.

Participer : nous sommes perpétuellement à l'écoute de vos suggestions et corrections, aussi mineures soient-elles. N'hésitez pas à nous en faire part par l'intermédiaire de la discussion prévue à cet effet .

Note : l'exactitude des informations figurant dans la présente FAQ sont autant que possible vérifiée avant intégration. Cependant, nous ne pouvons garantir l'absence de toute erreur, c'est pourquoi les auteurs ne pourront en aucun cas être tenus pour responsables.

SommaireQuestions généralesSystème (32)
précédent sommaire suivant
 

  • FreeBSD :

    Créons un fichier supfile qui ne sera dédié qu'à la mise à jour des sources du système. FreeBSD en fournissant des modèles dans le répertoire /usr/share/example(s)/cvsup/, nous recopierons le fichier stable-supfile via sed en modifiant le serveur cvsup employé :

    Code linux : Sélectionner tout
    sed "s/CHANGE_THIS\.FreeBSD\.org/cvsup2\.fr\.FreeBSD\.org/" /usr/share/examples/cvsup/stable-supfile > /root/syssrc-supfile
    Avant de poursuivre, vous devez impérativement spécifier dans le fichier que nous venons de créer, la "version" ciblée pour laquelle rapatrier les sources. Ceci se joue à la ligne *default tag dont les valeurs attendues, et leur signification, sont basées sur les suivantes :

    • *default tag=. : passer en version dite CURRENT, version en développement destinée aux développeurs et aux testeurs, déconseillée en production.
    • *default tag=RELENG_6 : être en version STABLE de la branche 6
    • *default tag=RELENG_6_2 : obtenir les mises à jour de sécurité pour la branche 6.2.
    • *default tag=RELENG_6_2_0_RELEASE : correspond aux sources qui composent la version 6.2 à son annonce. Ne pas utiliser pour le système dans la mesure où les mises à jour de sécurité ne sont pas incluses. Son usage concerne plutôt les ports et les packages.


    L'étape de configuration passée, nous aurons besoin d'un programme pour procéder à la mise à jour :

    • CVSup :

      Ce programme ne faisant pas partie du système de base, il nous sera nécessaire d'avoir recours aux logiciels portés ou aux paquetages pour son installation :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Par les logiciels portés 
      cd /usr/ports/net/cvsup-without-gui 
      make install clean 
       
      # Sous forme de paquet 
      pkg_add -r cvsup-without-gui
      Désormais lorsque vous voudrez mettre à jour les sources du système, il vous suffira d'utiliser la commande suivante :

      Code linux : Sélectionner tout
      cvsup -g -L 2 /root/syssrc-supfile
    • csup :

      csup, une réécriture de CVSup en C, a été intégré au système de base au moment de la version 6.2. Les systèmes antérieurs pourront le trouver parmi les logiciels portés ou les paquets :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Par les logiciels portés 
      cd /usr/ports/net/csup 
      make install clean 
       
      # Sous forme de paquet 
      pkg_add -r csup
      Dès lors que vous voudrez mettre à jour les sources du système vous pourrez employer la commande suivante :

      Code linux : Sélectionner tout
      csup -L 2 /root/syssrc-supfile

  • NetBSD :

    • cvs :

      cvs fait partie du système de base. Ce client CVS vous permet d'interagir avec le serveur mais dans le cas présent seule une mise à jour de nos sources nous intéresse :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      7
      cd /usr/src 
      # (ba|k)sh 
      export CVSROOT="anoncvs@anoncvs.fr.NetBSD.org:/pub/NetBSD-CVS" 
      # (t)csh 
      setenv CVSROOT "anoncvs@anoncvs.fr.NetBSD.org:/pub/NetBSD-CVS" 
       
      cvs update -r netbsd-3-1-RELEASE -Pd
      Changez éventuellement la valeur de l'option r afin d'indiquez vers quelle branche ou version vos sources doivent être mises à jour. Exemples :

      • -r netbsd-3: être en version STABLE de la branche 3
      • -r netbsd-3-1 : suivre la branche 3.1
      • -r netbsd-3-1-RELEASE : correspond aux sources de la version 3.1 à son annonce
      • ...
    • sup :

      sup est elle aussi une commande intégrée au système. Vous aurez néanmoins besoin de la configurer dans le but de rapatrier les sources du système :

      Code : Sélectionner tout
      1
      2
      3
      4
      5
      6
      7
      <RELEASE> \ 
              release=allsrc \ 
              host=sup.NetBSD.org \ 
              hostbase=/ftp/pub \ 
              base=/usr \ 
              prefix=/usr \ 
              backup use-rel-suffix delete
      Remplacez <RELEASE> dans l'exemple ci-dessus par la branche ou version dont vous souhaitez en obtenir les sources. Les valeurs possibles sont :

      • current : la version actuellement en développement, amenée à être la prochaine version stable
      • release-4-0 : la branche 4.0
      • release-3-1 : la branche 3.1
      • release-3-0 : la branche 3.0
      • release-2-1 : la branche 2.1
      • release-2-0 : la branche 2.0

      Après avoir écrit ce fichier supfile, exécutez la commande suivante :

      Code linux : Sélectionner tout
      sup -v /root/syssrc-supfile
      Vous trouverez plus d'informations et de détails sur
      les possibilités de sup en consultant les instructions
      .
      Vous avez notamment la possibilité d'affiner les
      parties des sources que vous téléchargez.
    • CVSup :

      Il est nécessaire d'installer CVSup si cela n'a pas déjà été fait :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Par les paquetages sources 
      cd /usr/pkgsrc/devel/cvsup 
      make install clean 
       
      # Par les paquetages binaires 
      pkg_add -v cvsup
      Il vous faut ensuite écrire un fichier de configuration que nous limiterons à la récupération de toutes les sources du système : userland et noyau, ni plus ni moins :

      Code : Sélectionner tout
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      *default tag=<RELEASE> 
      *default release=cvs 
      *default delete use-rel-suffix 
      *default umask=002 
      *default host=cvsup.se.netbsd.org 
      *default base=/usr 
      *default prefix=/usr 
      *default compress 
       
      netbsd-src
      Remplacez <RELEASE> par la version ou branche de NetBSD qu'il vous intéresse de suivre. La valeur spéciale . (point) correspond à la version CURRENT, sinon reportez-vous à la partie ci-dessus où cvs a été traité car les noms sont identiques pour identifier la version.

      Pour avoir des sources à jour, il vous suffira par la suite d'exécuter cette simple commande :

      Code linux : Sélectionner tout
      cvsup -g -L 2 /root/syssrc-supfile
    • csup :

      Installez csup que vous trouverez parmi les paquetages :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Par les paquetages sources 
      cd /usr/pkgsrc/net/csup 
      make install clean 
       
      # Par les paquetages binaires 
      pkg_add -v csup
      Créez ensuite un fichier un fichier de configuration. Celui-ci étant identique à ceux employés par CVSup, reportez-vous à cette section.

      La commande pour mettre à jour vos sources est :

      Code linux : Sélectionner tout
      csup -L 2 /root/syssrc-supfile

  • OpenBSD :

    • cvs :

      OpenBSD est déjà équipé, comme son "parent", du client cvs. Ce qui vous permet de mettre à jour directement vos sources en quelques commandes :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      7
      cd /usr/src 
      # (ba|k)sh 
      export CVSROOT="anoncvs@anoncvs.skyrock.com:/cvs/openbsd" 
      # (t)csh 
      setenv CVSROOT "anoncvs@anoncvs.skyrock.com:/cvs/openbsd" 
       
      cvs update -rOPENBSD_4_1 -Pd
      Pour suivre une autre version, agissez sur l'option -r :

      • Sans l'option -r : suivre la version CURRENT
      • -rOPENBSD_4_1 : la version 4.1 incluant ses correctifs
      • -rOPENBSD_4_0 : la version 4.0 incluant ses correctifs
      • -rOPENBSD_3_9 : la version 3.9 incluant ses correctifs
      • ...
    • CVSup :

      Certains préféreront la simplicité de CVSup mais il vous faudra tout d'abord l'installer car ce programme ne fait pas partie du système de base :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Sous forme de paquet binaire 
      pkg_add -v cvsup-<version>-no_x11 
       
      # Par les logiciels portés  
      cd /usr/ports/net/cvsup 
      make install clean
      Puis écrire un fichier de configuration à cette fin. Vous trouverez ci-dessous un exemple commenté à cette fin :

      Code : Sélectionner tout
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      *default release=cvs 
      *default delete use-rel-suffix 
      *default umask=002 
      *default host=mirror.public-internet.co.uk 
      *default base=/usr 
      *default prefix=/usr 
      *default tag=<RELEASE> 
       
      *default compress 
       
      # Les différents dépôts OpenBSD 
      #OpenBSD-all      # Toutes les sources 
      OpenBSD-src       # Les sources du système (noyau + userland) 
      #OpenBSD-www      # Les pages web du site openbsd 
      #OpenBSD-ports    # Les ports 
      #OpenBSD-x11      # Les sources de XFree86-3 adaptées par OpenBSD (obsolètes) 
      OpenBSD-xf4       # Les sources de X actuellement utilisées 
      #OpenBSD-xenocara # Les sources de la version 7 de X.org (en développement)
      Remplacez <RELEASE> par la version qui vous intéresse :

      • *default tag=. : obtenir les sources de la version dite CURRENT
      • *default tag=OPENBSD_4_1 : sources de la version 4.1 incluant ses correctifs
      • *default tag=OPENBSD_4_0 : sources de la version 4.0 incluant ses correctifs
      • *default tag=OPENBSD_3_9 : sources de la version 3.9 incluant ses correctifs
      • ...

      Lorsque vous voudrez mettre à jour les sources, utilisez la commande :

      Code linux : Sélectionner tout
      cvsup -g -L 2 /root/syssrc-supfile
    • csup :

      Il vous sera nécessaire de l'installer dans un premier temps :

      Code linux : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Sous forme de paquet binaire 
      pkg_add -v csup 
       
      # Par les logiciels portés  
      cd /usr/ports/net/csup 
      make install clean
      csup exploitant les mêmes fichiers de configuration que CVSup, je vous invite à consulter la partie correspondante pour créer celui dont vous aurez besoin.

      Pour mettre à jour les sources de votre système, saisissez :

      Code linux : Sélectionner tout
      csup -L 2 /root/syssrc-supfile

  • DragonFlyBSD :

    • CVSup :

      cvsup fait pour ainsi dire partie intégrante du système. Vous devrez pour votre premier usage créer un fichier de configuration. Pour cela nous nous baserons sur un des nombreux exemples fournis à titre d'exemple :

      Code linux : Sélectionner tout
      uname -r | awk -F '.' '{ print "DragonFly-release"$1"_"$2"-supfile" }' | xargs -t -J % find /usr/share/examples/cvsup/ -name % -exec cp -n {} /root/stable-supfile \;
      Vous vous limiterez par la suite à exécuter la commande suivante pour mettre à niveau vos sources :

      Code linux : Sélectionner tout
      cvsup -g -L 2 /root/stable-supfile
      Changez l'étiquette lors des différentes évolutions de la version de production. Ceci se fait à la ligne ci-dessous du fichier de configuration :

      Code : Sélectionner tout
      *default release=cvs tag=DragonFly_RELEASE_1_10_Slip
      Le tag correspond donc à la version que vous suivez lors des mises à jour. Les valeurs possibles sont :

      • . : la version dite courante
      • DragonFly_Preview : à mi-chemin de la version courante
      • DragonFly_RELEASE_X_Y_Slip : pour rester sur une branche particulière (exemple DragonFly_RELEASE_1_10_Slip pour rester sur la branche 1.10)




Mis à jour le 20 novembre 2007 julp

Cron est un programme qui tourne en tâche de fond sur votre système. Il exécute automatiquement les tâches (un script, une application ...) à un moment précis ou à intervalle régulier éditables via le programme crontab qui sert d'interface à cron.

Voici les options principales :

  • crontab -u : spécifie le nom de l'utilisateur du crontab à éditer
  • crontab -l : liste les tâches planifiées de l'utilisateur courant
  • crontab -r : supprimer le crontab de l'utilisateur courant
  • conrtab -e : édite le crontab de l'utilisateur courant avec l'éditeur spécifié par la variable d'environnement VISUAL ou EDITOR.

La syntaxe :

Chaque ligne représente une tâche à exécuter. Une ligne crontab se présente sous la forme de colonnes définies :

Code : Sélectionner tout
1
2
3
---------------------------------------------------------------- 
minutes | heures | dates | mois | jour de la semaine | commande 
----------------------------------------------------------------
  • minutes : de 0 à 59
  • heures : de 0 à 23
  • dates : jour du mois de 1 à 31
  • mois : de 1 à 12
  • jour de la semaine : de 0 à 7 (0 et 7 représentant Dimanche)
  • commande : commande à exécuter (/chemin/complet/script ou commande)

L'utilisation de caractères spéciaux :

Voici les caractères utilisables (, - * /) pour les champs minutes, heures, jours, mois et semaine.

Exemples :

  • */20 : signifie toutes les 20 minutes (champ minutes)
  • * : signifie tous les jours (champ dates)
  • 10,16 : signifie 10 et 16
  • 20-25 : signifie 20 jusqu'à 25

Exemples de tâches planifiées :

Cela va exécuter le programme imapfilter tous les jours et toutes les 10 minutes
*/10 * * * * /usr/local/bin/imapfilter -c /home/olivier/scripts/imapfilter.lua

Cela va exécuter le programme locate.updatedb tous les jours à 12h00
0 12 * * * /usr/libexec/locate.updatedb

Cela va exécuter le programme bye tous les dimanches de chaque mois à 15h00
0 15 * * 0 /usr/local/bin/bye

Mis à jour le 1er août 2007 Olivier Regnier

Il existe la commande date yymmddHHMM.ss :

  • cc : siècle (07 pour 2007)
  • yy : année sur 2 chiffres
  • mm : mois (01 à 12)
  • dd : jour du mois (01 à 31)
  • HH : heures (00 à 23)
  • MM : minutes (00 à 59)
  • ss : secondes (00 à 61)

Pour régler l'heure au 26 mars 2007 à 01h03 :

Code linux : Sélectionner tout
date 0703260103

Mis à jour le 1er août 2007 Olivier Regnier

OpenNTPD est une implémentation libre du protocole NTP acronyme de Network Time Protocol. Il peut synchroniser l'horloge locale à des serveurs NTP distants et peut-être lui-même un serveur NTP, redistribuant ainsi l'horloge locale.

  • FreeBSD :

    Vous trouverez OpenNTPD parmi les logiciels portés qui vous permettront de l'installer :

    Code linux : Sélectionner tout
    1
    2
    3
    4
    5
    6
    # Par les logiciels portés 
    cd /usr/ports/net/openntpd 
    make install 
     
    # Sous forme de paquet binaire 
    pkg_add -r openntpd
    Modifiez votre fichier /etc/rc.conf de sorte à ce que ce service soit exécuté au démarrage de votre machine :

    Code linux : Sélectionner tout
    1
    2
    # NTP 
    openntpd_enable="YES"
    Le fichier de configuration d'OpenNTPD est /usr/local/etc/ntpd.conf.
  • NetBSD :

    Installer OpenNTPD à partir des paquetages :

    Code linux : Sélectionner tout
    1
    2
    3
    4
    5
    6
    # Par les paquetages sources 
    cd /usr/pkgsrc/net/openntpd 
    make install 
     
    # Par les paquetages binaires 
    pkg_add openntpd
    Puis copier le script de gestion du service dans le répertoire /etc/rc.d/ :

    Code linux : Sélectionner tout
    cp /usr/pkg/share/examples/etc/rc.d/openntpd /etc/rc.d/
    Enfin, éditer le fichier /etc/rc.conf pour une exécution automatique :

    Code linux : Sélectionner tout
    1
    2
    # NTP 
    openntpd=YES
    /usr/pkg/etc/ntpd.conf étant le fichier de configuration d'OpenNTPD.
  • OpenBSD :

    Pour ce faire, il faut activer ntpd en ajoutant la ligne suivante :

    Dans le fichier /etc/rc.conf.local si cela n'a pas été fait durant l'installation. Le service ntpd possède un fichier de configuration : /etc/ntpd.conf.

    Code linux : Sélectionner tout
    ntpd_flags=      # enabling OpenNTPD


Redémarrer votre système.

Que va t-il se passer ? L'horloge de votre ordinateur va avancer doucement et restera synchronisée avec les serveurs de temps public de pool.ntp.org . Une fois l'horloge réglée, ntpd la gardera à un haut degré d'exactitude. Si vous constatez un décalage important, utiliser la commande ntpd -s. En effet, la synchronisation d'une horloge très décalée pourrait prendre des jours, voire des semaines.

Adaptez vos règles de filtrage si cela s'avère nécessaire. A titre informatif en voici un exemple pour Packet Filter :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
if = "fxp0" # Votre interface réseau 
 
# ... 
 
# En tant que client 
pass out quick proto udp from $if \ 
    to port ntp keep state 
 
# En tant que serveur sur le réseau local 
pass in quick proto udp from $if:network \ 
    to $if port ntp keep state

Mis à jour le 20 novembre 2007 Olivier Regnier

  • FreeBSD et DragonFlyBSD :

    Il m'arrive parfois de compiler un programme et de vouloir revenir en arrière pour voir le texte qui a défilé dans la console. Il existe une touche intéressante sur votre clavier du nom de Arrêt Défil.

    Pour ce faire, appuyer une fois sur cette touche et utiliser les touches fléchées pour faire défiler le texte en arrière ou inversement. Pour quitter ce mode, appuyez de nouveau sur cette touche.

    Utilisant un portable Acer Aspire 3000, la combinaison de touches est la suivante : Fn + Arrêtdéf.
  • NetBSD :

    Cette fonctionnalité, fort pratique, n'est utilisable que si le noyau dispose de l'option WSDISPLAY_SCROLLSUPPORT, ce qui n'est pas le cas du noyau générique. Recompilez votre noyau en y ajoutant cette option :

    Code : Sélectionner tout
    options         WSDISPLAY_SCROLLSUPPORT
    Celle-ci ne doit pas être activée en même temps que l'option
    VGA_RASTERCONSOLE.
    Lorsque vous possèderez un noyau intégrant cette fonction, vous pourrez revenir en arrière en combinant les touches Shift (de gauche) + Page Up ainsi qu'en avant à l'aide de Shift (de gauche) + Page Down.
  • OpenBSD :

    Les touches sont communes avec le système NetBSD : pressez Shift + Page Up pour voir le texte précédemment affiché et Shift + Page Down pour redescendre.

Mis à jour le 1er août 2007 julp Olivier Regnier

  • FreeBSD :

    • Méthode automatique toujours valable : recompilez votre noyau en ajoutant :

      Code : Sélectionner tout
      1
      2
      3
      4
      5
      6
      # Si clavier PS2 
      options         ATKBD_DFLT_KEYMAP 
      makeoptions     ATKBD_DFLT_KEYMAP=fr.iso.acc 
      # Si clavier USB 
      #options         UKBD_DFLT_KEYMAP 
      #makeoptions     UKBD_DFLT_KEYMAP=fr.iso.acc
    • Méthode automatique non valable en mode single user : ajouter à votre fichier /etc/rc.conf, la ligne suivante :

      Code : Sélectionner tout
      1
      2
      # Type de clavier 
      keymap="fr.iso.acc"
    • Méthode manuelle : tapez dans votre console la commande suivante :

      Code linux : Sélectionner tout
      kbdcontrol -l fr.iso.acc

  • NetBSD :

    • Méthode automatique toujours valable : recompilez votre noyau en y ajoutant :

      Code : Sélectionner tout
      options     PCKBD_LAYOUT="KB_FR"
    • Méthode automatique non valable en mode single user : ajouter à votre fichier /etc/rc.conf, la ligne suivante :

      Code : Sélectionner tout
      wscons=YES
      Et celle-ci dans /etc/wscons.conf :

      Code : Sélectionner tout
      encoding fr
    • Méthode manuelle : saisissez dans votre console la commande suivante :

      Code linux : Sélectionner tout
      wsconsctl -w encoding=fr

  • OpenBSD :

    • Méthode automatique toujours valable : recompilez votre noyau en y intégrant :

      Code : Sélectionner tout
      option     PCKBD_LAYOUT="KB_FR"
    • Méthode automatique non valable en mode single user : placer dans votre fichier /etc/kbdtype, la ligne suivante :

      Ou encore éditez /etc/wsconsctl.conf tel que :

      Code : Sélectionner tout
      keyboard.encoding=fr
    • Méthode manuelle : saisissez dans votre console la commande suivante :

      Code linux : Sélectionner tout
      wsconsctl -w keyboard.encoding=fr



Mis à jour le 1er août 2007 julp

En créant un fichier nologin vous interdisez aux utilisateurs d'ouvrir une session sur la machine. Il est évident que l'administrateur fait figure d'exception et ceci lui permet de travailler sereinement. Le chemin par défaut de ce fichier varie d'un système à un autre :

  • FreeBSD : touch /var/run/nologin
  • NetBSD : touch /etc/nologin
  • OpenBSD : touch /etc/nologin.txt

Quand vous avez terminé et pour un retour à la normale, supprimez ce fichier (exemple pour FreeBSD) :

Code linux : Sélectionner tout
rm -f /var/run/nologin
Le texte de ce fichier sera affiché, s'il n'est pas vide, à
l'utilisateur au moment de l'authentification. N'hésitez pas, par
conséquent, à décrire la raison de cet état.
En jouant sur les classes utilisateur (fichier /etc/login.conf), vous pouvez modifier le nom du fichier de verrou. Il s'agit de la propriété nologin. Illustration où on souhaite en définir deux distincts : un pour les élèves et un pour les enseignants d'un établissement scolaire :

Code : Sélectionner tout
1
2
3
4
5
6
7
eleves:\ 
    :nologin=/etc/nologin.eleves:\ 
    ... 
 
professeurs:\ 
    :nologin=/etc/nologin.professeurs:\ 
    ...
Il existe un autre paramètre pour les classes utilisateur : ignorenologin. Lorsqu'elle est définie, les utilisateurs appartenant à cette classe passeront outre la présence du fichier nologin (comme root). Exemple :

Code : Sélectionner tout
1
2
3
vip:\ 
    :ignorenologin:\ 
    ...
N'oubliez pas de régénérer la base binaire après avoir apporté la
moindre modification au fichier /etc/login.conf sans cela
elles ne seront pas effectives. La commande pour ce faire est :
cap_mkdb /etc/login.conf.

Mis à jour le 1er août 2007 julp Katyucha

Les commandes à exécuter (en root) sur votre machine Linux pour l'exportation :

Code linux : Sélectionner tout
1
2
3
4
5
6
7
# Rassemblement des données des fichiers /etc/passwd et /etc/shadow 
pwunconv 
# Transformation du fichier /etc/passwd pour être utilisable par les BSD 
# grep -v 'root\|daemon' permet d'exclure les utilisateurs root et daemon 
cat /etc/passwd | grep -v 'root\|daemon' | awk -F : '{printf("%s:%s:%s:%s::0:0:%s:%s:%s\n", $1,$2,$3,$4,$5,$6,$7);}' > ~/linux_passwd 
# Resépare les données de /etc/passwd et /etc/shadow 
pwconv
Récupérer le fichier ainsi généré sur votre BSD puis pour l'importation :

Code linux : Sélectionner tout
1
2
3
4
# Ajout du contenu du fichier linux_passwd à la fin de /etc/master.passwd 
cat linux_passwd >> /etc/master.passwd 
# Régénération les fichiers /etc/pwd.db et /etc/spwd.db 
pwd_mkdb -p /etc/master.passwd
Vous ne devez pas avoir deux logins ou identifiants identiques à
l'issue de cette migration.

Mis à jour le 1er août 2007 julp

Passez en mode mono-utilisateur puis exécutez la commande passwd. Saisissez votre nouveau mot de passe, validez puis retournez dans le mode de fonctionnement normal.

Votre clavier, en passant en mode mono-utilisateur, sera probablement
américain (voir plus bas).

Mis à jour le 1er août 2007 julp

L'utilisateur doit appartenir au groupe wheel afin de pouvoir utiliser su. Sous root, éditez le fichier /etc/group et ajoutez l'utilisateur au groupe wheel. Il existe également une commande permettant de le faire directement :

  • FreeBSD :

    Code linux : Sélectionner tout
    pw groupmod wheel -m <utilisateur à ajouter (son login)>
  • NetBSD et OpenBSD :

    Code linux : Sélectionner tout
    user mod -G wheel <utilisateur à ajouter (son login)>

Mis à jour le 1er août 2007 julp Smortex

Ces étiquettes, indépendantes des droits sur les fichiers, permettent de spécifier un état ou d'imposer des contraintes sur un fichier (quel qu'il soit). Ils se divisent en deux catégories : les attributs systèmes, que seul l'administrateur peut accoler et les attributs utilisateur.

Ne sont utilisables uniquement par root :

  • system immutable (schg, schange, simmutable) : empêche tout évènement sur le fichier (rm, mv, chmod, chown, ...). Il ne peut être retiré que si le niveau de sécurité du noyau est inférieur ou égal à zéro.
  • system append (sappnd, sappend) : signifie qu'il n'est possible que d'ajouter des données à un fichier à sa fin (fichier ouvert en mode append). Il ne peut être retiré que si le niveau de sécurité du noyau est inférieur ou égal à zéro.
  • system unlink (sunlnk, sunlink), disponible uniquement sur FreeBSD : rend impossible la suppression du fichier (rm impossible et mv rempli la fonction de cp puisque le fichier initial ne peut être supprimé). Il ne peut être retiré que si le niveau de sécurité du noyau est inférieur ou égal à zéro.
  • archived (arch, archived) : transforme le fichier en archive

Sont utilisables par les utilisateurs (root pourra également agir sur ceux-ci) et sont retirables quelque soit le niveau de sécurité du noyau :

  • opaque (opaque) : rend le fichier opaque lorsqu'une lecture est effectuée via le système de fichier union
  • nodump (nodump) : permet d'interdire la sauvegarde du fichier via l'utilitaire dump
  • user immutable (uchg, uchange, uimmutable) : idem que system immutable
  • user append (uappnd, uappend) : même fonction que system append
  • user unlink (uunlnk, uunlink), disponible uniquement sur FreeBSD : voir system unlink

Mis à jour le 20 novembre 2007 julp

La commande chflags(1) permet d'ajouter ou supprimer un ou des attributs à un fichier. La syntaxe de cette commande est la suivante :

Code linux : Sélectionner tout
chflags <options> <liste des drapeaux à attribuer au fichier, séparés par une virgule> <fichier> ...
Les options peuvent être :

  • -H : seuls les liens symboliques spécifiés comme paramètres de la commande chflags sont suivis, excluant ceux qui seront rencontrés pendant l'exécution de la commande (implique l'option -R)
  • -L : tous les liens symboliques sont suivis (implique l'option -R)
  • -P : les liens symboliques ne sont pas suivis (implique l'option -R)
  • -R : applique récursivement la modification
  • -h (FreeBSD et OpenBSD) : le chflag s'applique au lien lui-même et non au fichier sur lequel il pointe

Pour appliquer un drapeau, utilisez son nom, vous en trouverez la liste dans la réponse à la question Que sont les file chflags et quels sont-ils ? . En revanche pour en retirer un, il faut faire précéder son nom du préfixe no. L'exception qui confirme la règle étant nodump dont la négation est dump.

Exemples :
  • chflags -RH schg /bin : applique l'attribut schg à /bin et tous ses descendants
  • chflags nosappend /var/log/*.log : retire l'attribut sappend à tous les fichiers de log
  • chflags -RH nodump /tmp /var/tmp : ne pas tenir compte des fichiers temporaires lors d'une sauvegarde

Mis à jour le 20 novembre 2007 julp

  • A titre personnel :

    Créez dans votre répertoire personnel un fichier nommé .hushlogin :

    Code linux : Sélectionner tout
    touch $HOME/.hushlogin
  • Solution groupée et commune à un ensemble de personnes en utilisant les classes d'utilisateur. Editez le fichier /etc/login.conf pour ajouter aux classes concernées la propriété hushlogin, exemple :

    Code : Sélectionner tout
    1
    2
    3
    nomotd:\ 
        :hushlogin:\ 
        ...
    Reconstruisez enfin la base binaire en vue de rendre effectif les modifications apportées via la commande :

    Code linux : Sélectionner tout
    cap_mkdb /etc/login.conf

Mis à jour le 1er août 2007 julp

Editer le fichier /etc/gettytab et y rechercher la section :

Code : Sélectionner tout
1
2
P|Pc|Pc console:\ 
        :np:sp#9600:
Ajouter la ligne :cl=\E[H\E[2J: à la fin de sorte à obtenir ce résultat :

Code : Sélectionner tout
1
2
3
P|Pc|Pc console:\ 
        :np:sp#9600:\ 
        :cl=\E[H\E[2J:
Sauvegarder le fichier et tester en saisissant, par exemple, l'une de ces commandes : Ctrl + C, exit, logout.

Mis à jour le 20 novembre 2007 Olivier Regnier

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.