Questions les plus fréquentes
 après une installation









Changer le shell par défaut
Créer le premier compte sous le shell bash
Passer root avec la commande su

Comment passer d'une console à une autre
Clavier Français
Autoriser Ctrl Alt Del
J'ai oublié le mot de passe root
Où est le fichier de mot de passe ?
Mettre à l'heure votre machine
Modifier le prompt
Modifier le nom de machine
Envoyer du courrier

Les démons lancés par defaut
Modifier SSH
Le SMP (Multiprocesseur)
Transférer des comptes utilisateurs
Modifier l'éditeur vi par défaut (Vim)

Rendez moi mon shell !

Le shell par défaut est le Korn Shell /bin/sh. Si comme moi vous êtes familier du Bash, faites un pkg_add -v ftp://ftp.openbsd.org/pub/OpenBSD/3.0/packages/i386/bash-2.05-static.tgz ou allez faire un tour du coté des ports : /usr/ports/shells/bash, puis make && make install. N'oubliez pas de rajouter le shell dans le fichier  /etc/shells : /usr/local/bin/bash
Si vous voulez faire du bash le shell par défaut de root, vous devez éditer le fichier de mot de passe et modifier dans la ligne concernant root /bin/sh par /usr/local/bin/bash en utilisant la commande vipw.
Attention,
Si vous vous êtes trompés, vous risquez de ne plus pouvoir vous connecter au système. Par conséquent, passez sur une autre console, et connectez vous pour vérifier.
Par la suite lorsque vous allez créer des comptes avec adduser, vous n'avez plus qu'à choisir bash comme shell.

Comment passer d'une console à une autre ?

Oubliez le ALT+Fx de Linux, ici on utilise CTRL+ALT+Fx.

Où est le fichier de mots de passe ?

Icic, contrairement à Linux, point de /etc/passwd ou de /etc/shadow, le fichier /etc/master.passwd contient les mots de passe. Il a les droits -rw------ et appartient à root.wheel. N'éditez jamais ce fichier à la main ! On vous aura prévenu! En utilisant la commande vipw, non seulement vous n'interdisez pas la connexion simultanée d'autres utilisateurs au système (vous ne verrouillez pas le fichier), mais en plus vous laissez cette commande faire ses tests d'intégrité sur ce fichier. De plus, ce fichier est regénéré à chaque appel de vipw, un changement manuel ne serait pas pris en compte.
Si vipw ne répond plus pour cause de "file busy", supprimez le fichier /etc/ptmp

Clavier francais (Devenu inutile en 3.1 et plus , car il est possible de configurer le clavier à l'installation)

1ère solution : echo "fr" > /etc/kbdtype (Ce qui donne sachant que vous avez à ce moment un clavier Français echo %fr% /  !etc!kbdtype)
2nde solution : éditer le fichier /etc/wsconsctl.conf et modifier la ligne kbd.....="ru" par .....="fr"
Dans les deux cas l'effet ne sera effectif qu'au prochain redémarrage de la machine (!!!).

Autoriser le CTRL+ALT+DEL

Dans le fichier /etc/sysctl.conf, modifiez la ligne 
#Machdep.kbdreset=1    en         Machdep.kbdreset=1    qui vous autorisera à redémarrer un serveur en le CTRL+ALT+SUPPRant. Attention ceci  n'est pas très très sécurisé (c'est le moins que l'on puisse dire, quelqu'un passant devant la console pourra réinitialiser votre machine!!)

J'ai oublié le mot de passe root

Il vous faut rebooter, puis au boot taper boot -s. Si vous n'avez plus le noyau par défaut boot mon_noyau -s. Vous avez alors accès au shell, toutefois il vous faut monter en écriture la (ou les) partitions dont vous avez besoin.
Taper mount /etc (pour pouvoir écrire dans la partition /etc). 
Reste plus qu'à changer le mot de passe avec un coup de passwd.


Créer un premier compte
Après l'installation il n'existe que le compte root. Vous devez donc créer un, ou plusieurs comptes afin de pouvoir administrer cette machine sans être root à chaque fois. Vous avez installé le shells bash et le clavier français.
Tapez adduser. Si cela est la première fois il va vous demander un certain nombre de chose afin de créer un fichier /etc/adduser.conf dans lequel il va placer vos  valeurs par défaut. Vous pouvez imaginer les avantages puisque vous pouvez imposer des options pour la création des comptes utilisateurs.
Dans l'ordre il constate que /etc/adduser.conf n'existe pas. Il le crée, en vous demandant, le shell par défaut, le répertoire ou mettre les répertoires personnels, le type de cryptage.  

Deuxième étape le fichier existe, il crée le premier compte et vous propose les valeurs par défaut que vous avez rentré.

Il me demande le groupe par défaut, j'ai accepté le groupe asterix (en fait pas utile) et je l'ai ajouté au groupe wheel. Cela n'est nécessaire que si vous souhaitez qu'il puisse administrer la machine.
Attention à la fin il vous demande si vous souhaitez en créer un nouveau.
Par la suite il vous faut ajuster votre fichier de configuration de sudo.

Je ne peux pas passer root avec su

Vous n'êtes pas dans le groupe wheel; seuls les utilisateurs de ce groupe peuvent utiliser la commande su. C'est un bon moyen de sécuriser votre système.
Pour les utilisateurs existants :   Dans le fichier /etc/group, ajoutez votre utilisateur :    wheel:*:0:root,mon_user
Pour les nouveaux utilisateurs :    Lors de la création avec adduser, et à la question : Invite user into other groups : répondez wheel

Mettre à l'heure votre machine

Une petite chose à laquelle on ne pense pas tout de suite, mais qui est importante pour un serveur, le mettre à l'heure. Attention il ne faut pas confondre un serveur et un client. Ici la machine doit être cliente d'un serveur de temps.
Vocabulaire
:
GMT : Greenwich Meridien Time : Temps du méridien de Greenwich. Anciennement heure de référence (1 horloge atomique)
UTC :  Universal Coordinated Time : Temps universel coordonné :Nouvelle heure de référence (une centaine d'horloge atomique). En pratique identique à GMT.
RTC : Real Time Clock : Horloge Hardware d'un PC.
DST : Daylight Saving Time

Quelques infos sur la gestion hardware / Software de l'heure :
    La plupart des OS (à l'exception notable de ceux de Microsoft!) gérent l'heure de la manière suivante : Le RTC  est réglé une fois pour toutes à UTC. L'OS va, quant à lui calculer, en fonction du fuseau horaire spécifié, l'heure locale de la machine, sans toucher à l'horloge Hardware. Le passage à l'heure d'été/hiver se fera simplement en modifiant la base de calcul par rapport au RTC non modifié. La seule modification de ce RTC se fera lors de la synchronisation de temps sur un serveur ntp.

    Si vous utilisez un Windows quelconque, l'OS écrit dans le RTC pour lui imposer l'heure locale.
Conséquence sur une machine en multiboot Windows/Unix , chaque OS est perturbé au redémarrage par l'état du RTC laissé par l'autre OS.Sur mon portable, ça se manifeste par un retard de 1h de Windows après une session OpenBSD ou Debian.
Solutions
:
- Régler l'horloge Hardware sur UTC. Les windows ne doivent pas se mettre de l'heure d'été. OpenBSD sera réglé sur Europe/Paris.
- La suite dépend de vous : une modification définitive du noyau par une recompilation, ou plus simplement la modification d'un paramètre du noyau courant.

1. Recompilation.
Modifier  le fichier /usr/src/sys/arch/i386/conf/RAMDISK

Pour Europe/ Paris, GMT+1, on a:
option TIMEZONE=60                           # time zone to adjust RTC time by             Heure de votre fuseau horaire par rapport à GMT, en minutes.
option DST=0                                         # daylight saving time used by RTC            Heure RTC par rapport à GMT, DOIT rester à 0.
Et on recompile.

2. Configuration du kernel:

On utilise la possibilité offerte par l'OS de modifier à la volée le noyau en place, au démarrage ou pendant le fonctionnement de la machine, mais il faut alors redémarrer la machine, par contre on évite de devoir recompiler. Pour en savoir plus sur cette méthode, voir la documentation suivante.

root@hendrix:/home/phil:#> config -fe /bsd
OpenBSD 3.1-stable (Monnoyau) #1: Wed Jun 5 14:52:24 CEST 2002
phil@hendrix:/usr/src/sys/arch/i386/compile/Monnoyau
Enter 'help' for information
ukc> timezone
timezone = 0, dst = 0
ukc> timezone +60
timezone = 60, dst = 0
ukc> quit

Pour d'autres informations sur les serveurs de temps, voir la documentation suivante.

Il existe deux clients possibles pour mettre à l'heure votre machine : rdate et ntpdate. rdate est déjà installé sur la machine, mais moins précis. 
Ajoutez le alors dans la crontab ou dans un script de lancement de votre connexion ppp. Pour le lancer au démarrage de la machine transformez dans /etc/rc.conf la ligne rdate_flags=NO en ntp.ac-creteil.fr. Utilisez autant que possible le serveur de temps de votre provider. Attention renseignez vous avant sur le serveur de temps que vous pouvez utiliser. N'oubliez pas de prévenir le gestionnaire de cette machine,c'est plus poli.

  

Ntpdate n'est pas installé par défaut, si vous souhaitez l'utiliser vous devez l'installer, vous devez utiliser le package ntp-4... qui se trouve sur le ftp d'OpenBSD, ou utiliser le port ntp. La démarche est la même, vous pouvez le lancer à chaque démarrage, modifier alors dans le fichier /etc/rc.conf  la ligne ntpdate_flags=NO en ntpdate_flags=ntp.mon_serveur_de_temps. Attention, la mise à l'heure ne s'effectuera qu'une seule fois au démarrage.
Attention la ligne ntpd=YES  dans /etc/rc.conf est utile pour lancer le serveur ntp, mais faut il encore que vous ayez installé celui-ci. Pour faire de votre serveur OpenBSD un serveur de temps, consulter cette page.
Si vous souhaitez mettre à l'heure votre machine un peu plus souvent que son redémarrage, ajoutez une crontab avec une mise à l'heure toutes les heures par exemple : 0    *    *    *    *    /usr/local/bin/ntpdate -b ntp.ac-creteil.fr


Modifier le prompt du bash par défaut


Le prompt du bash par défaut n'est pas très pratique, car il affiche simplement bash-2.05# 
Si vous souhaitez par exemple connaître le répertoire dans lequel vous vous trouvez, le nom de la machine, pratique lorsque l'on passe d'une machine à une autre en un mot le personnaliser pour tous les utilisateurs de cette machine, voilà la démarche. Créer le fichier /etc/profile avec les lignes suivantes :

La ligne qui modofie le prompt de mon shell bash est la troisième et cela donne philippe@soleil:/etc:#> 
Par rapport à la formule le u donne le nom de login, h le nom de la machine, w le chemin. On peut ajouter ou adapter autrement (par exemple la date d mais cela donne vite un prompt trop long) celui-ci me semble être le plus pratique. A vous de voir. Un fichier /etc/profile qui va bien.

Modifier le nom de machine

Le fichier /etc/myname contient une unique ligne : le nom de votre machine. Si vous tapez quelquechose d'incompréhensible, votre machine se nommera Amnesiac, ça peut sembler amusant, mais ca entraine quelques facheux désagréments au niveau communications réseaux et fichiers de log...

Envoyer du courrier

Par défaut, l'agent de transport du courrier (MTA) installé avec votre système est Sendmail. Pour faire court et sans lancer de troll, disons que Sendmail est très ancien et porte avec lui une longue histoire de trous de sécurité aussi graves que multiples. Apparemment, les dernières moutures de ce logiciel (8.12) n'ont pas connues de trous depuis longtemps. De plus, Sendmail n'est, enfin, plus setuid root! Autre bonne nouvelle, c'est un logiciel fourni avec le système, il a donc subi l'audit de sécurité.
Plus d'infos.

Les démons lancés par défaut

Par défaut OpenBSD lance un certain nombre de processus, dont vous n'avez peut être pas besoin. En un mot ne doit tourner que ce qui est utile. Un ps aux, puis un netstat -na vous montre que tourne portmap, inetd. Vous pouvez stopper cela si vous en avez pas l'usage. 
Pour les stopper définitivement aller dans /etc/rc.conf et mettre NO devant la ligne les concernant, puis faire un kill. Pour plus d'information sur ce fichier de configuration voir ici.
Vous constaterez aussi le fait que votre machine est à l'écoute sur IPV6. Si vous ne l'utilisez pas ;-) désactiver cela. Ils sont lancé dans /etc/inetd.conf. Mettre un # devant tout ce que vous n'utilisez pas, à moins que vous ne stoppiez inetd.


Modifier SSH par défaut

Le démon sshd autorise la connexion root à distance. C'est pratique, donc dangereux potentiellement, la sécurité d'un système repose sur le couple login/mot de passe. 
Cela oblige à se connecter sous votre nom d'utilisateur puis à passer root.

Deux possibilités  :

Pensez à faire un kill -HUP
Remarque : A partir de la version 3.1 les fichiers de configuration de ssh se trouvent dans /etc/ssh.

Les systèmes multiprocesseurs?

Non, le SMP n'est, pour l'instant, pas géré par OpenBSD. Si vous avez une carte bipro avec les deux processeurs installés, seul un des deux sera vu, l'autre dormira complètement et ne sera même pas détecté par l'OS.

Transférer des comptes utilisateurs entre machines
Faire une sauvegarde de /etc/master.passwd.
Copier /etc/master.passwd d'une machine sur l'autre. Si ce n'est pas à l'origine la même version d'OpenBSD faire un diff des deux fichiers. Il y a des comptes différents ou en plus dans les différentes versions d'Open.
Faire la même chose avec /etc/group.
                                //////A tester                        Lancer pwd_mkdb si vous avez ajouté de nouveaux utilisateurs. 


Modifier l'éditeur vi par défaut

L'utilisation de vi par défaut sous OpenBSD est un vrai calvaire. La solution consiste à installer vim. Vous pouvez le trouver dans les ports /usr/ports/editors/vim, puis faire un make && make install (si vous n'avez pas installé le serveur X, mettre un # dans le fichier Makefile devant subdir +=stable) ou si vous n'avez pas encore installé les ports faire un pkg_add -v ftp://ftp.OpenBSD.org/pub/OpenBSD/3.1/packages/i386/vim-6.1-no_x11.tgz (cela est à adapter à votre version d'OpenBSD). Ici je n'ai pas de serveur X d'installé.
Copier dans votre répertoire personnel le fichier /usr/local/share/vim/vim61/vimrc_example.vim  en ~/.vimrc
Lancer vim (il se trouve dans /usr/local/bin).
Par la suite, il est souhaitable de rendre l'utilisation de Vim définitive, vous pouvez par exemple ajouter un lien symbolique ou/et modifier le PATH par défaut. 
Vous pouvez activer la colorisation syntaxique

Voir aussi
man afterboot


© Philippe Chadefaux - Philippe Schwarz-$Id: Console.htm,v 1.21 2003/01/19 20:38:37 phil Exp $ -