Comment démarrer avec FreeBSD

De Get Docs
Aller à :navigation, rechercher

Introduction

FreeBSD est un système d'exploitation sécurisé et performant qui convient à une variété de rôles de serveur. Dans ce guide, nous couvrirons quelques informations de base sur la façon de démarrer avec un serveur FreeBSD.

Ce guide est destiné à fournir une configuration générale pour les serveurs FreeBSD, mais sachez que différentes versions de FreeBSD peuvent avoir des fonctionnalités différentes. Selon la version de FreeBSD exécutée par votre serveur, les instructions fournies ici peuvent ne pas fonctionner comme décrit.

Se connecter avec SSH

La première étape que vous devez suivre pour commencer à configurer votre serveur FreeBSD est de vous connecter.

Sur DigitalOcean, vous devez fournir une clé SSH publique lors de la création d'un serveur FreeBSD. Cette clé est ajoutée à l'instance de serveur, ce qui vous permet de vous connecter en toute sécurité depuis votre ordinateur local à l'aide de la clé privée associée. Pour en savoir plus sur l'utilisation des clés SSH avec FreeBSD sur DigitalOcean, suivez ce guide.

Pour vous connecter à votre serveur, vous aurez besoin de connaître l'adresse IP publique de votre serveur. Pour DigitalOcean Droplets, vous pouvez trouver ces informations dans le panneau de configuration. Le compte utilisateur principal disponible sur les serveurs FreeBSD créés via DigitalOcean s'appelle freebsd. Ce compte d'utilisateur est configuré avec les privilèges sudo, ce qui vous permet d'effectuer des tâches administratives.

Pour vous connecter à votre serveur FreeBSD, utilisez la commande ssh. Vous devrez spécifier le compte utilisateur freebsd ainsi que l'adresse IP publique de votre serveur :

ssh [email protected]_server_ip

Vous devriez être automatiquement authentifié et connecté. Vous serez déposé dans une interface de ligne de commande.

Modification du shell par défaut en tcsh (facultatif)

Si vous vous êtes connecté à un Droplet DigitalOcean exécutant FreeBSD 11, vous serez présenté avec une invite de commande très minimale qui ressemble à ceci :


Si vous débutez avec FreeBSD, cette invite peut vous sembler peu familière. Éclaircissons un peu le type d'environnement dans lequel nous travaillons. Exécutez la commande suivante pour voir quel est le shell par défaut pour votre utilisateur freebsd :

echo $SHELL
Output/bin/sh

Dans cette sortie, vous pouvez voir que le shell par défaut pour l'utilisateur freebsd est sh (également connu sous le nom de Bourne shell). Sur les systèmes Linux, sh est souvent un alias pour bash, un logiciel gratuit de remplacement du shell Bourne qui inclut quelques fonctionnalités supplémentaires. Dans FreeBSD, cependant, il s'agit en fait du programme shell classique sh, plutôt que d'un alias.

Le shell de ligne de commande par défaut pour FreeBSD est tcsh, mais les gouttelettes DigitalOcean exécutant FreeBSD utilisent sh par défaut. Si vous souhaitez définir tcsh comme shell par défaut de votre utilisateur freebsd, exécutez la commande suivante :

sudo chsh -s /bin/tcsh freebsd

La prochaine fois que vous vous connecterez à votre serveur, vous verrez l'invite tcsh au lieu de l'invite sh. Vous pouvez invoquer le shell tcsh pour la session en cours en exécutant :

tcsh

Votre invite devrait immédiatement changer comme suit :


Si jamais vous souhaitez revenir au shell Bourne, vous pouvez le faire avec la commande sh.

Bien que tcsh soit généralement le shell par défaut des systèmes FreeBSD, il possède quelques paramètres par défaut que les utilisateurs ont tendance à modifier eux-mêmes, tels que le pager et l'éditeur par défaut, ainsi que le comportement de certaines touches. Pour illustrer comment changer certaines de ces valeurs par défaut, nous allons modifier le fichier de configuration du shell.

Un exemple de fichier de configuration est déjà inclus dans le système de fichiers. Copiez-le dans votre répertoire personnel afin de pouvoir le modifier à votre guise :

cp /usr/share/skel/dot.cshrc ~/.cshrc

Une fois le fichier copié dans votre répertoire personnel, vous pouvez le modifier. L'éditeur vi est inclus sur le système par défaut, mais si vous voulez un éditeur plus simple, vous pouvez essayer l'éditeur ee à la place :

ee ~/.cshrc

Au fur et à mesure que vous parcourez ce fichier, vous pouvez décider quelles entrées vous souhaitez modifier. En particulier, vous souhaiterez peut-être modifier les entrées setenv pour avoir des valeurs par défaut spécifiques que vous connaissez peut-être mieux.

~/.cshrc

. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

Si vous n'êtes pas familier avec l'éditeur vi et que vous souhaitez un environnement d'édition plus basique, vous pouvez remplacer la variable d'environnement EDITOR par quelque chose comme ee. La plupart des utilisateurs voudront changer le PAGER en less au lieu de more. Cela vous permettra de faire défiler les pages de manuel vers le haut et vers le bas sans quitter le pager :

~/.cshrc

. . .
setenv  EDITOR  ee
setenv  PAGER   less
. . .

Une autre chose que vous voudrez probablement ajouter à ce fichier de configuration est un bloc de code qui mappera correctement certaines de vos touches de clavier dans la session tcsh. Au bas du fichier, ajoutez le code suivant. Sans ces lignes, DELETE et les autres touches ne fonctionneront pas correctement :

~/.cshrc

. . .
if ($term == "xterm" || $term == "vt100" \
            || $term == "vt102" || $term !~ "con*") then
          # bind keypad keys for console, vt100, vt102, xterm
          bindkey "\e[1~" beginning-of-line  # Home
          bindkey "\e[7~" beginning-of-line  # Home rxvt
          bindkey "\e[2~" overwrite-mode     # Ins
          bindkey "\e[3~" delete-char        # Delete
          bindkey "\e[4~" end-of-line        # End
          bindkey "\e[8~" end-of-line        # End rxvt
endif

Lorsque vous avez terminé, enregistrez et fermez le fichier en appuyant sur CTRL+C, en tapant exit, puis en appuyant sur ENTER. Si vous avez plutôt modifié le fichier avec vi, enregistrez et fermez le fichier en appuyant sur ESC, en tapant :wq, puis en appuyant sur ENTER.

Pour que votre session actuelle reflète ces modifications immédiatement, sourcez le fichier de configuration :

source ~/.cshrc

Cela n'est peut-être pas immédiatement apparent, mais les touches Home, Insert, Delete et End fonctionnent comme prévu maintenant.

Une chose à noter à ce stade est que si vous utilisez les shells tcsh ou csh, vous devrez exécuter la commande rehash chaque fois que des modifications sont apportées qui peuvent affecter le chemin de l'exécutable. Les scénarios courants où cela peut se produire se produisent lorsque vous installez ou désinstallez des applications.

Après avoir installé les programmes, vous devrez peut-être taper ceci pour que le shell trouve les nouveaux fichiers d'application :

rehash

Avec cela, le shell tcsh est non seulement défini comme votre utilisateur freebsd par défaut, mais il est également beaucoup plus utilisable.

Définir bash comme shell par défaut (facultatif)

Si vous êtes plus familier avec le shell bash et que vous préférez l'utiliser comme shell par défaut, vous pouvez effectuer ce réglage en quelques étapes courtes.

Noter: bash is not supported on FreeBSD 11.1, and the instructions in this section will not work for that particular version.


Tout d'abord, vous devez installer le shell bash en tapant :

sudo pkg install bash

Vous serez invité à confirmer que vous souhaitez télécharger le package. Pour ce faire, appuyez sur y puis sur ENTER.

Une fois l'installation terminée, vous pouvez démarrer bash en exécutant :

bash

Cela mettra à jour votre invite de shell pour ressembler à ceci :


Pour changer le shell par défaut de freebsd en bash, vous pouvez taper :

sudo chsh -s /usr/local/bin/bash freebsd

La prochaine fois que vous vous connecterez, le shell bash sera démarré automatiquement au lieu de la valeur par défaut actuelle.

Si vous souhaitez modifier le pager ou l'éditeur par défaut dans le shell bash, vous pouvez le faire dans un fichier appelé ~/.bash_profile. Celui-ci n'existera pas par défaut, vous devrez donc le créer :

ee ~/.bash_profile

À l'intérieur, pour changer le pager ou l'éditeur par défaut, ajoutez vos sélections comme ceci :

~/.bash_profile

export PAGER=less
export EDITOR=ee

Enregistrez et fermez le fichier lorsque vous avez terminé en appuyant sur CTRL+C, en tapant exit, puis en appuyant sur ENTER.

Pour mettre en œuvre vos modifications immédiatement, source le fichier :

source ~/.bash_profile

Si vous souhaitez apporter d'autres modifications à votre environnement shell, comme la configuration d'alias de commande spéciaux ou la définition de variables d'environnement, vous pouvez rouvrir ce fichier et y ajouter vos nouvelles modifications.

Définition d'un mot de passe racine (facultatif)

Par défaut, les serveurs FreeBSD n'autorisent pas les connexions ssh pour le compte root à l'aide d'un mot de passe. Bien que l'authentification par clé publique fonctionne, sur DigitalOcean, cette politique a été complétée pour dire aux utilisateurs de se connecter avec le compte freebsd.

Étant donné que le compte d'utilisateur root est inaccessible via SSH, il est relativement sûr de définir un mot de passe de compte root. Bien que vous ne puissiez pas l'utiliser pour vous connecter via SSH, vous pouvez utiliser ce mot de passe pour vous connecter en tant que root via la console Web DigitalOcean.

Pour définir un mot de passe root, saisissez :

sudo passwd

Il vous sera demandé de sélectionner et de confirmer un mot de passe pour le compte root. Comme mentionné ci-dessus, vous ne pourrez toujours pas l'utiliser pour l'authentification SSH (il s'agit d'une décision de sécurité), mais vous pourrez l'utiliser pour vous connecter via la console DigitalOcean.

Pour ce faire, cliquez sur le bouton Console dans le coin supérieur droit de la page de votre Droplet pour faire apparaître la console Web :

Si vous choisissez pas pour définir un mot de passe et que vous êtes bloqué hors de votre serveur (par exemple si vous définissez accidentellement des règles de pare-feu trop restrictives), vous pouvez toujours en définir une plus tard en démarrant votre Droplet en mode mono-utilisateur. Nous avons un guide qui vous montre comment faire cela ici.

Conclusion

À présent, vous devriez savoir comment vous connecter à un serveur FreeBSD et comment configurer un environnement shell bash. Une bonne prochaine étape consiste à vous familiariser avec certaines bases de FreeBSD ainsi qu'avec ce qui le différencie des distributions basées sur Linux.

Une fois familiarisé avec FreeBSD et configuré selon vos besoins, vous pourrez tirer davantage parti de sa flexibilité, de sa sécurité et de ses performances.