[OpenBSD]

[Index de la FAQ] [Section 7 - Contrôle du clavier et de l'affichage] [Section 9 - Migrer vers OpenBSD]

8 - Questions Générales


Table des matières


8.1 - J'ai oublié mon mot de passe root..... Que faire maintenant ?

La procédure de base pour reprendre le contrôle de root consiste à démarrer en mode utilisateur unique, monter les partitions adéquates (/ et /usr), exécuter passwd(1) pour changer le mot de passe du super-utilisateur. Vous pouvez ensuite redémarrer et vous connecter normalement.

Voici la procédure détaillée :

Si c'est une machine utilisée par plusieurs personnes, vous devriez probablement utiliser sudo(8) pour fournir à plusieurs personnes (de confiance) la possibilité d'exécuter des commandes en tant que super-utilisateur.

"Attendez. Ceci semble très facile ! Ce n'est pas très sécurisé !" Si un attaquant a un accès physique à votre système, il a gagné et ce quelque soit le système d'exploitation sur la machine. Il existe des méthodes pour obliger un utilisateur à saisir un mot de passe en mode utilisateur unique (voir ttys(5)), ou éliminer le temps d'attente sous i386/md64 (voir boot.conf), mais pour être franc, le contournement de ces astuces est aussi assez facile (Une méthode : démarrez à partir d'une disquette ou d'un CDROM, éditez ou remplacez le fichier contenant les mots de passe). Vous pouvez essayer d'éviter cela, mais quelqu'un pourrait potentiellement retirer le disque dur de votre système. Rendre l'exploitation de votre machine difficile n'est pas vraiment de la sécurité, et si vous n'avez pas sécurisé l'accès physique à la machine, vous n'avez pas de sécurité réelle.

Remarque : plusieurs systèmes de "gestion à distance" fournissent pratiquement toutes les fonctionnalités d'un accès physique à la machine, et ceci doit être pris en compte. Ne pensez pas que le système est sécurisé s'il y a un moyen pour l'attaquant de prendre le contrôle d'une console, insérer une disque virtuelle et forcer un redémarrage de la machine. Ceci équivaut à un accès physique. Le système de gestion de console n'est probablement pas aussi sécurisé qu'OpenBSD...

8.2 - X ne veut pas démarrer, et j'ai de nombreux messages d'erreur

La cause habituelle des problèmes avec X vient souvent de la configuration de machdep.allowaperture avec sysctl(8). Puisque cette fonctionnalité est désactivée par défaut sous OpenBSD, il s'agit certainement de la cause du problème.

Vous devez éditer /etc/sysctl.conf et positionner la valeur machdep.allowaperture=2 (ou 1, selon votre plate-forme). Cela permettra à X d'accéder au pilote d'ouverture (aperture) xf86(4), au prochain redémarrage. Cette valeur ne peut pas être changée après le démarrage. En revanche, elle peut être définie dès l'installation si vous répondez "Y" lorsque l'on vous demande si vous comptez utiliser X Window ("Do you expect to run the X Window System?").

Sous OpenBSD, le pilote d'ouverture (aperture) doit être activé sur les plates-formes alpha, amd64, cats, i386, macppc et sparc64 afin de permettre l'accès à la carte vidéo. D'autres plates-formes utilisent un moyen plus sûr pour gérer le système vidéo et n'ont pas besoin de ceci (qui n'est pas inclut dans leur noyau). Si vous ne prévoyez pas d'utiliser X sur votre système, il est recommandé de ne pas activer le pilote d'ouverture (aperture).

Pour plus d'informations sur la configuration et l'utilisation de X sur votre plate-forme, consultez le fichier/usr/X11R6/README de votre installation.

8.3 - Puis-je utiliser le langage de programmation "L" sous OpenBSD ?

Plusieurs langages de programmation communs sont supportés soit au niveau du système de base (et plus spécifiquement dans les jeux de fichiers baseXX.tgz et compXX.tgz), soit au niveau du système de paquetages et de ports. Il est recommandé d'installer le jeu de fichiers nécessaire ou le paquetage contenant le compilateur spécifique que vous souhaitez employer au lieu de l'installation à partir des sources. Pour certains compilateurs, l'installation à partir des sources requièrent d'importantes ressources système. Cette opération est souvent inutile sauf si vous avez des besoins spécifiques ou aucun paquetage n'est disponible.

Le tableau suivant cherche à fournir une vue d'ensemble des compilateurs pour différents langages, où vous pouvez les trouver et si des problèmes ou des limitations relatifs à leur utilisation existent. Certains de ces compilateurs ne sont disponibles que pour certaines plates-formes. Pour voir les plates-formes sur lesquelles fonctionne tel ou tel compilateur, il suffit d'examiner un résultat de recherche dans l'arborescence des ports et de noter ce qui est mentionné au niveau de "Archs". Une autre méthode consiste à inspecter directement le contenu du Makefile du port et d'y chercher ONLY_FOR_ARCHS, NOT_FOR_ARCHS, BROKEN, etc.

Remarque : Pour améliorer l'utilisation, cet article fournit une liste alphabétique sans distinguer entre différentes catégories de langages de programmation. Ceci n'est en aucun cas une liste exhaustive de tout ce qui est disponible ou peut fonctionner sous OpenBSD. Si vous relevez des inexactitudes ou des problèmes autres que ceux listés ci-dessous, prière de nous en faire part.

LangageOù ?Remarques
Awk base41.tgz, awk(1)
lang/gawk GNU awk
C, C++ comp41.tgz, gcc(1) Les compilateurs C/C++ dans le système de base ont été audités et contiennent plusieurs améliorations sécurité (telles que ProPolice) activées par défaut. Merci de bien vouloir consulter gcc-local(1) pour de plus amples détails. Ces compilateurs émettrons des alertes lors de l'utilisation de fonctions non sûres telles que sprintf(), strcpy(), strcat(), tmpnam(), etc. La plupart des plates-formes utilisent gcc 3.3.5. Les autres restent en gcc 2.95.3 pour le moment.
C, C++ lang/gcc Ces compilateurs n'ont pas bénéficié d'un audit sécurité et ne contiennent pas les améliorations sécurité que possèdent les compilateurs du système de base. Les compilateurs sont renommés egcc, eg++, etc. pour éviter la confusion avec ceux du système de base.
Caml lang/ocaml Objective Caml
COBOL lang/open-cobol
Erlang lang/erlang
Fortran comp41.tgz, g77(1) Support du Fortran 77 uniquement.
lang/gcc Fortran 95 est aussi supporté par egfortran dans gcc 4.0 et supérieur. Ce nouveau compilateur est disponible en tant que sous-paquetage (g95) de gcc.
Haskell lang/ghc
lang/nhc98
Java devel/jdk JDK Sun - aucun paquetage disponible; consultez les instructions ci-dessous.
lang/classpath bibliothèques class de base pour Java
lang/kaffe
lang/jikes Compilateur rapide, fonctionne bien. Il nécessite un "run-time jar", la version bytecode de toute l'API standard.
devel/eclipse IDE très fourni; Fonctionne avec Sun JDK
Lisp lang/clisp
Lua lang/lua Bibliothèques Lua additionnelles et outils auxiliaires sont disponibles dans l'arbre des ports.
Perl base41.tgz, perl(1) De nombreux modules Perl sont disponibles dans l'arbre des ports, regardez donc ceux-là avant d'installer des modules depuis CPAN.
PHP www/php4 De nombreux sous-paquetages sont disponibles pour des modules PHP différents.
www/php5
Prolog lang/gprolog Compilateur GNU Prolog.
lang/swi-prolog Environnement SWI-Prolog.
Python lang/python D'autres ports utilisent Python 2.3 par défaut.
Ruby lang/ruby
Scheme lang/chicken
lang/scheme48
lang/scm
shells/scsh
Smalltalk lang/squeak
Tcl lang/tcl

Compilation du JDK Sun

A cause de la licence restrictive SCSL de Sun, OpenBSD n'est pas en mesure de livrer des paquetages binaires du JDK. Cela signifie que vous devez vous-même le compiler depuis les ports. Notez que vous aurez besoin d'une grande quantité de RAM pour que la compilation réussisse.

Les ports du JDK sont dans le sous-répertoire devel/jdk de l'arbre des ports. Vous pouvez choisir entre les différentes versions de celui-ci, toutes dans leurs sous-répertoires. Lorsque vous tapez make, vous verrez un message vous demandant de récupérer manuellement les archives de distribution sur le site de Sun. Avant que vous ne puissiez faire cela, vous devez vous enregistrer sur ce site, et accepter la licence. C'est la raison pour laquelle le mécanisme des ports ne peut les télécharger automatiquement.

Une fois les archives de distribution et patchs téléchargés, copiez les dans le répertoire /usr/ports/distfiles. Vous devez aussi disposer de X sur votre système. Débutez le processus de compilation en saisissant make dans le répertoire du port.

Le JDK requiert un compilateur Java 2 en état de fonctionnement afin d'agir en tant que bootstrap. Pour cela, depuis OpenBSD 4.0, le port JDK 1.5 utilise kaffe, ce qui permet à celui-ci d'être utilisé sur les architectures i386 et amd64 et ce qui réduit considérablement le temps de compilation.

Les anciennes versions du JDK nécessitent toujours une version Linux du JDK. Si vous trouvez cela fastidieux, n'hésitez pas à demander à Sun pourquoi ils ne fournissent pas une version native pour OpenBSD. L'émulation Linux sur OpenBSD est réservée aux systèmes i386, et le JDK ne peut ainsi être compilé que sur i386. Le mécanisme des ports devrait prendre en charge l'installation des fichiers nécessaires ainsi que le réglage kern.emul.linux=1. Pour davantage d'informations, consultez s'il vous plaît Linux emulation dans la page de manuel compat_linux(8), ainsi que FAQ 9 - Exécution des binaires Linux sous OpenBSD. Notez que cette émulation Linux n'est nécessaire que lors de la compilation du JDK, aboutissant à un JDK OpenBSD natif. Vous n'avez pas besoin de cette émulation pour utiliser le JDK natif.

Après plusieurs heures, la compilation finira. Continuez simplement avec make install pour installer le JDK.

Si vous constatez des erreurs telles que "Could not reserve enough space for object heap", essayer d'augmenter les limites mémoire par processus en utilisant la commande shell ulimit avec le drapeau -d.

Autres outils de développement

Il existe plusieurs autres outils de développement dans le système de base ou en paquetages ou ports. Quelques exemples :

8.4 - Qu'est-ce que l'arborescence des ports ?

Veuillez consulter FAQ 15, Utilisation des ports.

8.5 - Qu'est ce que les paquetages?

Veuillez consulter FAQ 15, Gestion des paquetages.

8.6 - Dois-je utiliser les Ports ou les Paquetages ?

Veuillez consulter FAQ 15.

8.8 - Y'a t-il un moyen d'utiliser mon lecteur de disquette alors qu'il n'était pas connecté durant la phase de démarrage ?

Vous devez indiquer au noyau de toujours supposer que le lecteur de disquette est installé, même si il n'est pas détecté pendant la phase de démarrage. Pour ce faire, l'option 0x20 doit être positionnée dans fdc(4). Ceci peut-être fait en utilisant User Kernel Config ou config(8) pour modifier votre noyau,

# config -e -f /bsd OpenBSD 4.1 (GENERIC) #1434: Thu Mar 8 22:56:57 MST 2007 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC Enter 'help' for information ukc> change fd* 254 fd* at fdc0 drive -1 flags 0x0 change [n] y drive [-1] ? ENTER flags [0] ? 0x20 254 fd* changed 254 fd* at fdc0 drive -1 flags 0x20 ukc> q Saving modified kernel. #

8.9 - Chargeur de démarrage OpenBSD (spécifique à i386 et amd64)

Lorsque vous démarrez votre système OpenBSD, vous avez probablement remarqué l'invite de commande.

boot>

La plupart des utilisateurs n'auront pas à intervenir ici. Le système démarre même si aucune commande n'est entrée. Mais parfois surviennent des problèmes, ou certaines fonctions spéciales sont requises. C'est à cet endroit que ces options doivent être entrées. Avant de vous lancer, vous devriez lire la page de manuel boot(8). Ici, nous allons au-delà de la plupart des commandes utilisées pour le chargeur de démarrage.

Avant de débuter, si aucune commande n'est utilisée, le chargeur de démarrage essaiera automatiquement de démarrer /bsd. Si cela échoue, il essaiera /obsd, puis en cas de nouvelle échec /bsd.old. Vous pouvez spécifier un noyau en tapant :

boot> boot hd0a:/bsd
ou
boot> b /bsd

Ceci démarrera le noyau nommé bsd depuis la partition 'a' du premier disque reconnu par le BIOS.

Voici une brève liste d'options que vous pouvez utiliser avec le noyau OpenBSD.

Ces options sont saisies dans le format : boot [ image [-acds]]

Pour plus d'informations, lisez la page de manuel boot(8).

8.10 - Utilisation de S/Key sur votre système OpenBSD

S/Key est un système d'authentification basé sur des mots de passe à usage unique. Il peut être utile pour les personnes n'ayant pas la possibilité d'utiliser un canal chiffré protégeant leurs identifiants en transit, tel qu'un canal établi par ssh(1).

ATTENTION : Les systèmes d'authentification basés sur des mots de passe à usage unique protègent uniquement l'information relative à l'authentification. Ils ne permettent pas de se prémunir contre l'usage des écoutes clandestines du réseau pour accéder à des informations confidentielles. De plus, si vous vous connectez à un système sûr A, il est recommandé de le faire depuis un autre système sûr B afin de s'assurer que personne n'accède au système A en enregistrant toutes vos saisies clavier ou en capturant et/ou en forgeant les entrées/sorties de vos terminaux.

Le système S/Key génère une séquence de mots passe à usage unique à partir de la phrase secrète d'un utilisateur ainsi qu'un défi transmis par le serveur à l'aide d'une fonction de hachage sûre. Le système est sûr uniquement si la phrase secrète n'est jamais transmise sur le réseau. L'initialisation ou la modification de la phrase secrète DOIT donc se faire à travers un canal sûr, tel que ssh(1) ou la console.

L'implémentation de S/Key sur OpenBSD peut utiliser plusieurs algorithmes de hachage à sens unique. Les algorithmes suivants sont disponibles :

Mise en place de S/Key - Les premières étapes

Pour commencer, le répertoire /etc/skey doit exister. Si ce répertoire n'existe pas, le super utilisateur doit le créer. Cela peut simplement se faire en tapant :

# skeyinit -E

Une fois ce répertoire créé, vous pouvez initialiser votre S/Key. Pour cela vous devez utiliser skeyinit(1). Etant donné que skeyinit(1) vous demandera de saisir votre phrase secrète S/Key, vous devez l'exécuter à travers un canal sûr, tel que nous l'avons précédemment expliqué. Le programme vous rappellera même de le faire. Avec skeyinit(1), votre mot de passe vous sera d'abord demandé. C'est le même mot de passe que vous utilisez pour vous connectez au système. Une fois authentifié avec votre mot de passe système, vous devrez saisir votre phrase secrète S/Key. Ce n'est PAS votre mot de passe système. votre phrase secrète devra comporter au moins 10 caractères. Nous vous suggérons d'utiliser des phrases de plusieurs mots comme mot de passe. Voici un exemple d'ajout d'utilisateur :

$ skeyinit Reminder - Only use this method if you are directly connected or have an encrypted channel. If you are using telnet, exit with no password and use skeyinit -s. Password: [Adding ericj with md5] Enter new secret passphrase: Again secret passphrase: ID ericj skey is otp-md5 100 oshi45820 Next login password: HAUL BUS JAKE DING HOT HOG

La ligne ID ericj skey is otp-md5 100 oshi45820 est particulièrement intéressante. Elle fournit beaucoup d'informations à l'utilisateur comme indiqué ci-après.

Mais le plus important c'est votre prochain mot de passe. Il consiste en 6 petits mots, qui combinés, constituent votre prochain mot de passe à usage unique, espaces compris. Ce mot de passe affiché par skeyinit ne peut être utilisé pour vous connecter (il existe une procédure pour l'utilisation du premier mot de passe à usage unique, lisez skeyinit(1)). Pour être capable de vous connecter, un mot de passe à usage unique correspondant à celui affiché par le processus d'identification doit être calculé en utilisant skey(1). La section suivante montre comment s'y prendre.

Utilisation de S/Key pour se connecter.

Maintenant votre skey est initialisé. Vous êtes prêt à vous connecter. Voici l'exemple d'une session utilisant S/Key pour se connecter : Pour exécuter une connexion avec S/Key, vous devez spécifier :skey comme votre identifiant.

$ ftp localhost Connected to localhost. 220 oshibana.shin.ms FTP server (Version 6.5/OpenBSD) ready. Name (localhost:ericj): ericj:skey 331- otp-md5 96 oshi45820 331 S/Key Password: 230- OpenBSD 4.1 (GENERIC) #1434: Thu Mar 8 22:56:57 MST 2007 230- 230- Welcome to OpenBSD: The proactively secure Unix-like operating system. 230- 230- Please use the sendbug(1) utility to report bugs in the system. 230- Before reporting a bug, please try to reproduce it with the latest 230- version of the code. With bug reports, please try to ensure that 230- enough information to reproduce the problem is enclosed, and if a 230- known fix for it exists, include that as well. 230- 230 User ericj logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp> quit 221 Goodbye.

Notez que j'ai mis ":skey" pour mon nom d'utilisateur. Ceci indique à ftpd que je veux être identifié en utilisant S/Key. Certains d'entre vous ont dû remarquer que le numéro de séquence a été changé en otp-md5 96 oshi45820. C'est parce que j'ai utilisé S/Key plusieurs fois pour m'identifier. Mais comment avoir votre mot de passe à usage unique ? Alors, pour calculer le mot de passe à usage unique, vous aurez besoin du numéro de séquence que vous utilisez et de votre clé. Vous être probablement en train de chercher comment vous rappeler le numéro de séquence.

Lorsque vous vous connectez, le processus d'identification affiche une ligne contenant les informations dont vous avez besoin, ce dont vous utilisez pour générer un mot de passe à usage unique à travers un autre canal sécurisé, en copiant la ligne dans une console :

otp-md5 96 oshi45820

Après avoir entré votre mot de passe, votre mot de passe à usage unique sera affiché. Vous pouvez le copier dans l'invite de S/Key lorsqu'il vous demande un mot de passe. Non seulement c'est otp-md5 la description du hachage utilisé, mais c'est aussi un autre nom d'utilisateur pour la commande skey(1) .

Si vous êtes connecté et souhaitez générer un autre mot de passe à usage unique pour la session suivante, utilisez skeyinfo(1), Il vous indiquera ce qu'il faudra utiliser pour la session suivante. Par exemple, je génère d'autres mots de passe à usage unique pour des utilisations ultérieurs (souvenez-vous que je le fait depuis un canal sécurisé).

$ skeyinfo 95 oshi45820

La meilleure façon de le faire est d"utiliser skeyinfo -v, ce qui fournira une commande appropriée à exécuter dans une console. Par exemple :

$ skeyinfo -v otp-md5 95 oshi45820

De même, la façon la plus simple de générer le mot de passe S/Key suivant est juste :

$ `skeyinfo -v` Reminder - Do not use this program while logged in via telnet. Enter secret passphrase: NOOK CHUB HOYT SAC DOLE FUME

Remarquez les caractères (`) dans l'exemple précédent.

Il est probable que beaucoup d'entre vous n'ont pas de connexion sécurisée ou une machine locale sécurisée pour créer les mots de passe, et leurs création à travers un canal non sécurisé n'est pas admissible. Donc comment créer plusieurs mots de passe en une seule fois ? Vous pouvez indiquer à skey(1) le nombre de mot de passe que vous voulez créer. Vous pourrez alors les imprimer et les emporter avec vous.

$ otp-md5 -n 5 95 oshi45820 Reminder - Do not use this program while logged in via telnet. Enter secret passphrase: 91: SHIM SET LEST HANS SMUG BOOT 92: SUE ARTY YAW SEED KURD BAND 93: JOEY SOOT PHI KYLE CURT REEK 94: WIRE BOGY MESS JUDE RUNT ADD 95: NOOK CHUB HOYT SAC DOLE FUME

Il est à noter que le dernier mot de passe doit être le premier utilisé, car nous comptons de manière décroissante à partir de 100.

Utilisation de S/Key avec telnet(1) et ssh(1)

L'utilisation de S/Key avec telnet(1) ou ssh(1) est à peu près identique qu'avec ftp -- vous devez simplement rajouter ":skey" à la fin de votre nom d'utilisateur. Exemple:

$ telnet localhost Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. OpenBSD/i386 (oshibana) (ttyp2) login: ericj:skey otp-md5 98 oshi45821 S/Key Password: SCAN OLGA BING PUB REEL COCA Last login: Thu Apr 7 12:21:48 on ttyp1 from 156.63.248.77 OpenBSD 4.1 (GENERIC) #1434: Thu Mar 8 22:56:57 MST 2007 Welcome to OpenBSD: The proactively secure Unix-like operating system. Please use the sendbug(1) utility to report bugs in the system. Before reporting a bug, please try to reproduce it with the latest version of the code. With bug reports, please try to ensure that enough information to reproduce the problem is enclosed, and if a known fix for it exists, include that as well. You have mail. $

8.12 - OpenBSD supporte-t-il le SMP
(Système Multiprocesseurs) ?

SMP est supporté sur les plates-formes OpenBSD/i386 et OpenBSD/amd64.

Un noyau SMP séparé, "bsd.mp", est fournit avec les paquetages d'installation, il peut être sélectionné pendant l'installation. Il est recommandé de tester ce noyau avant de le renommer en "bsd" pour en faire votre noyau par défaut.

Nous espérons que les autres plates-formes compatibles SMP soient supportées dans le futur. Sur la plupart des plates-formes, OpenBSD démarrera correctement sur un système SMP, mais n'utilisera qu'un seul processeur. L'exception est la plate-forme SPARC -- OpenBSD/sparc qui nécessitera parfois le retrait des modules MBus additionnels pour que le système démarre. Le systèmes SPARC64 Multiprocesseurs fonctionneront si la machine est supportée.

8.13 - Parfois, j'ai des erreurs d'entrées/sorties lorsque j'essaie d'utiliser mes périphériques tty

Vous devez utiliser /dev/cuaXX pour les connexions initialisées depuis le système OpenBSD, les périphériques /dev/ttyXX sont utilisables seulement pour les terminaux ou les connexions en dial. Alors qu'il était possible d'utiliser ces périphériques autrefois, le noyau OpenBSD n'est plus compatible avec ce type d'utilisation.

Extrait de cua(4):

For hardware terminal ports, dial-out is supported through matching device nodes called calling units. For instance, the terminal called /dev/tty03 would have a matching calling unit called /dev/cua03. These two devices are normally differentiated by creating the calling unit device node with a minor number 128 greater than the dial-in device node. Whereas the dial-in device (the tty) normally requires a hardware signal to indicate to the system that it is active, the dial-out device (the cua) does not, and hence can communicate unimpeded with a device such as a modem. This means that a process like getty(8) will wait on a dial-in device until a connection is established. Meanwhile, a dial-out connection can be established on the dial-out device (for the very same hardware terminal port) without disturbing anything else on the system. The getty(8) process does not even notice that anything is happening on the terminal port. If a connecting call comes in after the dial-out connection has finished, the getty(8) process will deal with it properly, without having noticed the intervening dial-out action.

8.14 - Quels sont les navigateurs Web disponibles pour OpenBSD ?

Lynx, un navigateur en mode texte supportant le SSL est disponible dans le système de base. Les autres sont présents dans l'arborescence des Ports, incluant (sans ordre particulier):

Navigateurs Graphique (X)

Navigateurs en mode console

Vous les trouverez tous dans la collection de paquetages. Ils sont tous présents dans /usr/ports/www/ après l'installation de l'arborescence des ports. Beaucoup sont aussi disponibles en paquetages précompilés, présents sur les serveurs FTP et sur le CD-ROM. Etant donné que la plupart des navigateurs graphiques pèsent lourd et prennent beaucoup de temps à télécharger et à compiler, vous devriez sérieusement prendre en compte l'utilisation des paquetages précompilés quand ils sont disponibles.

8.15 - Comment utiliser l'éditeur mg ?

MG est un éditeur de texte minimal dans le style d'Emacs, inclus dans OpenBSD. Minimal signifie qu'il est léger (Emacs est très lourd). Pour les bases, lisez la page de manuel de mg(1) ainsi que le tutoriel, inclus dans le code source. Pour des questions plus intéressantes (comme , "Je n'ai pas de Meta-Clé !") voyez la FAQ Emacs.

Notez que mg est une petite implémentation de Emacs, qui est souvent similaire aux fonctionnalités d'édition de texte de Emacs 17, et n'implémente donc pas les autres fonctionnalités (comprenant les outils de mail et de news, aussi bien que les modes pour Lisp, C++, Lex, Awk, Java, etc...)

8.16 - ksh(1) ne semble pas lire mon fichier .profile!

Il y a deux raisons possibles pour que ksh(1) semble ignorer le fichier .profile d'un utilisateur.

8.17 - Pourquoi le fichier /etc/motd est-il écrasé alors que je l'ai modifié ?

Le fichier /etc/motd est édité à chaque démarrage du système, remplaçant tout jusqu'a la première ligne vide du fichier, exclue, par les informations de version du noyau. Lorsque vous éditez ce fichier, soyez sûr que vous commencez après cette ligne vide, pour empêcher /etc/rc de supprimer ces lignes de /etc/motd au démarrage.

8.18 - Pourquoi le site www.openbsd.org est-il hébergé sur une machine Solaris ?

Même si aucun développeur ne pense que cela ai un rapport quelconque, cette question revient suffisamment souvent pour trouver une réponse ici. www.openbsd.org et le site FTP OpenBSD principal résident sur SunSITE dans l'université d'Alberta, au Canada. Ces sites sont hébergés sur un puissant système Sun, qui a accès à une grosse capacité de stockage et à une grosse bande passante. La présence de ce SunSITE permet au groupe OpenBSD d'accéder à cette bande passante. C'est pourquoi le site OpenBSD principal y est placé. La plupart des sites OpenBSD secondaires tournent sous OpenBSD, mais étant donné qu'ils ne peuvent garantir l'accès à cette large bande passante, le groupe à choisi d'héberger le site principal sur le SunSITE de l'université d'Alberta au Canada.

8.20 - Les polices anti-aliasées et "TrueType" avec X

Voyez ce document.

8.21 - Est-ce que OpenBSD supporte des systèmes de fichiers journalisés ?

Non il n'en supporte aucun. Nous utilisons un mécanisme différent pour obtenir des résultats similaires, celui-ci est appelé Soft Updates. Veuillez lire la FAQ 14 - Soft Updates pour obtenir plus de détails.

8.22 - Reverse DNS
- ou -
pourquoi cela prend autant de temps lorsque je me connecte ?

Beaucoup de nouveaux utilisateurs sur OpenBSD rencontrent un délai de connexion de deux minutes lorsqu'ils utilisent des services tels que ssh, ftp ou telnet. Cela peut aussi être rencontré lorsque l'on utilise un proxy comme ftp-proxy, ou encore pendant l'envoi d'un email depuis une station de travail avec sendmail.

Ceci est le plus souvent du à un problème de reverse-DNS. DNS est le Serveur de Nom de Domaine (Domaine Name Serveur), le système qu'Internet utilise pour convertir un nom, comme "www.openbsd.org" en une adresse numérique. Une autre possibilité de DNS est de pouvoir prendre une adresse numérique et la reconvertir en "nom", c'est ce qu'on appelle le "Reverse-DNS".

Pour fournir un meilleur système de connexion, OpenBSD réalise un reverse-DNS sur chaque machine qui lui est attachée de différentes façons, incluant ssh, ftp, telnet, sendmail ou ftp-proxy. Malheureusement dans certains cas, la machine créant la connexion ne possède pas une entrée reverse DNS correcte.

Un exemple de cette situation :

Un utilisateur met en place une machine OpenBSD comme pare-feu et passerelle pour son réseau local, connectant tous ses ordinateurs interne au travers d'une unique adresse en utilisant NAT. Celui-ci peut aussi l'utiliser comme un relais de messagerie sortant. Il suit les notes d'installation, et est satisfait du résultat, à l'exception d'une petite chose -- chaque fois qu'il tente une requête sur la machine de quelque manière que ce soit, il doit attendre deux minutes avant qu'il ne se passe quoi ce soit.

Ce qu'il se passe :

Pour une station de travail derrière le NAT de la passerelle avec une adresse IP non enregistrée étant 192.168.1.35, l'utilisateur utilise ssh pour accéder au système de la passerelle. Le client ssh demande le nom d'utilisateur et le mot de passe, et les envoit à la machine passerelle. La passerelle tente ensuite de savoir qui a essayé de se connecter et réalise une requête reverse DNS de 192.168.1.35. Le problème est que les adresses 192.168.0.0 sont des adresses réservées à un usage privé, et un serveur DNS hors de votre réseau sait qu'il ne doit pas avoir d'information sur ces adresses. Certains vont rapidement retourner un message d'erreur, dans ce cas, OpenBSD comprendra qu'il n'y a pas plus d'informations à obtenir, et continuera rapidement en acceptant l'utilisateur. D'autres serveurs DNS ne retournerons AUCUNE réponse. Dans ce cas, vous vous retrouverez à attendre que le resolveur d'adresses OpenBSD dépasse son délai d'attente, ce qui prendra deux minutes avant que la connexion soit autorisée. Dans le cas de ftp-proxy, certains clients vont dépasser le délai imparti avant que la requête DNS ne dépasse le sien, donnant l'impression que ftp-proxy ne fonctionne pas.

Cela peut être relativement ennuyant. Heureusement, il existe une solution simple pour corriger cela.

Correction, en utilisant /etc/hosts :

La solution la plus simple est de partager votre fichier /etc/hosts entre toutes les stations de travail de votre réseau et vous assurer que le fichier /etc/resolv.conf contient bien la ligne lookup file bind qui confirme que le resolveur va bien considérer en premier lieu le fichier /etc/hosts, avant d'interroger les serveurs DNS spécifiques indiqués par les lignes "nameserver" dans votre fichier /etc/resolv.conf.

Votre fichier /etc/hosts ressemblera à quelque chose comme ceci :

::1 localhost.in.example.org localhost 127.0.0.1 localhost.in.example.org localhost 192.168.1.1 gw.in.example.org gw 192.168.1.20 scrappy.in.example.org scrappy 192.168.1.35 shadow.in.example.org shadow

Votre fichier resolv.conf ressemblera à quelque chose comme ceci :

search in.example.org nameserver 24.2.68.33 nameserver 24.2.68.34 lookup file bind

Une objection courante est de dire "Mais, j'utilise DHCP pour mon réseau local ! Comment puis-je configurer mon /etc/hosts ?" Très simple, en réalité. Entrez juste les lignes pour toutes les adresses que votre serveur DHCP va délivrer, ainsi que tous les périphériques statiques :

::1 localhost.in.example.org localhost 127.0.0.1 localhost.in.example.org localhost 192.168.1.1 gw.in.example.org gw 192.168.1.20 scrappy.in.example.org scrappy 192.168.1.35 shadow.in.example.org shadow 192.168.1.100 d100.in.example.org d100 192.168.1.101 d101.in.example.org d101 192.168.1.102 d102.in.example.org d102 [... snip ...] 192.168.1.198 d198.in.example.org d198 192.168.1.199 d199.in.example.org d199

Dans ce cas, je présume que votre plage DHCP est définie entre 192.168.1.100 et 192.168.1.199, ainsi que trois définitions statiques au début du fichier.

Si votre passerelle doit utiliser DHCP pour sa configuration, vous devriez rencontrer un problème -- dhclient va écraser votre fichier /etc/resolv.conf à chaque renouvellement de paramètres, cela supprimera la ligne "lookup file bind". Cela peut être résolu en ajoutant la ligne "lookup file bind" au fichier /etc/resolv.conf.tail.

Correction, en utilisant un serveur DNS local

Les détails sur cette mise en place, sortent du cadre de ce document, mais la procédure basique est de configurer votre serveur DNS favori, et de vous assurer qu'il a autorité pour les résolutions "forward" et "reverse" pour tous les points du réseau, et que vos ordinateurs (ainsi que votre passerelle) utilisent ce serveur DNS.

8.23 - Pourquoi les pages web d'OpenBSD ne sont-elles pas conformes au HTML4/XHTML ?

Les présentes pages Web ont été écrites avec précaution pour fonctionner sur une large variété de navigateurs actuels, pour les versions 4.0 et suivantes. Nous ne souhaitons pas rendre ces anciennes pages conformes aux normes HTML4 ou XHTML tant que nous ne serons pas sur qu'elles fonctionneront aussi avec les anciens navigateurs ; ce n'est tout simplement pas une priorité. Nous accueillons les nouveaux contributeurs, mais nous vous suggérons de travailler à écrire du code, ou documenter de nouveaux aspects du système, et non de vous concentrer sur la conformité aux nouveaux standards des pages existantes.

8.24 - Mon horloge est décalée de plusieurs heures. Pourquoi ?

Lorsque vous utilisez rdate(8) pour synchroniser votre horloge à un serveur NTP, vous pourrez observer que votre horloge avance/retarde d'une vingtaine de secondes par rapport à votre définition locale de temps.

Ceci est causé par une différence entre le temps UTC (Coordinated Universal Time, basé sur des observations astronomiques) et le temps TAI (International Atomic Time, basé sur des horloges atomiques). Pour compenser les variations dans la rotation de la Terre, des secondes sont insérées dans UTC, mais TAI n'est pas ajusté. Pour une description plus détaillée, cherchez "leap seconds UTC TAI" sur le Web.

Corriger le problème est simple. Dans beaucoup de pays, vous obtiendrez la bonne heure si vous utilisez le paramètre "-c" à rdate(8) et utilisez une zone dans le dossier /usr/share/zoneinfo/right/. Par exemple, si vous habitez en Allemagne, vous pouvez utiliser ces commandes : # cd /etc && ln -sf /usr/share/zoneinfo/right/CET localtime # rdate -ncv ptbtime1.ptb.de Dans d'autres pays, les règles peuvent différer.

8.25 - Pourquoi mon horloge avance/retarde-t-elle de plusieurs heures ?

Par défaut, OpenBSD suppose que l'horloge matérielle de votre équipement est paramétrée de telle façon à indiquer l'heure UTC ("Universal Coordinated Time" - Temps universel coordonné) au lieu de l'heure locale comme l'assument certains systèmes d'exploitation ; cela peut causer certains problèmes en cas de Multiboot.

La plupart des autres systèmes d'exploitation, Windows inclu, peuvent être configurés de la même façon ce qui permet d'éviter tout problème. Par exemple, vous pouvez changer le comportement par défaut de Windows NT/2000/XP afin qu'il assume une horloge réglée sur UTC en créant et configurant la valeur DWORD

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
à "1" dans le registre.

Si avoir l'horloge paramétrée sur UTC représente un problème, vous pouvez changer le comportement par défaut à l'aide de config(8). Par exemple, pour configurer OpenBSD de telle façon à utiliser une horloge matérielle paramétrée en US/Eastern (5 heures de moins que UTC, c'est-à-dire 300 minutes) :

# config -ef /bsd OpenBSD 4.1 (GENERIC) #1434: Thu Mar 8 22:56:57 MST 2007 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC Enter 'help' for information ukc> timezone 300 timezone = 300, dst = 0 ukc> quit Saving modified kernel.
Veuillez consulter options(4) et cherchez l'option "TIMEZONE=value" pour plus d'informations.

Normalement, le fuseau horaire est paramétré à l'installation. Si vous avez besoin de modifier le fuseau horaire, vous pouvez créer un nouveau lien symbolique vers le fichier de fuseau horaire adéquat dans /usr/share/zoneinfo. Par exemple, pour paramétrer la machine de telle façon à utiliser EST5EDT comme le nouveau fuseau horaire local :

# ln -fs /usr/share/zoneinfo/EST5EDT /etc/localtime

Veuillez consulter également :

[Index de la FAQ] [Section 7 - Contrôle du clavier et de l'affichage] [Section 9 - Migrer vers OpenBSD]


[back] www@openbsd.org
$OpenBSD: faq8.html,v 1.62 2007/11/12 20:29:58 saad Exp $