Comment se lancer avec FreeBSD

introduction

FreeBSD est un système d’exploitation sécurisé, hautes performances, adapté à divers rôles de serveur. Dans ce guide, nous aborderons 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 différentes fonctionnalités. Selon la version de FreeBSD utilisée par votre serveur, les instructions fournies peuvent ne pas fonctionner comme décrit précédemment.

Se connecter avec SSH

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

Sur DigitalOcean, vous devez fournir une clé publique SSH lors de la création d’un serveur FreeBSD. Cette clé est ajoutée à l’instance du serveur, ce qui vous permet de vous connecter en toute sécurité à partir de 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, consultez la page https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-freebsd- [ suivez ce guide].

Pour vous connecter à votre serveur, vous devez connaître l’adresse IP publique de votre serveur. Pour les gouttelettes DigitalOcean, 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 utilisateur est configuré avec les privilèges sudo +, vous permettant de réaliser des tâches administratives.

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

ssh freebsd@

Vous devez ê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, une invite de commande très minime ressemblant à ceci:

Si vous débutez avec FreeBSD, cette invite peut vous paraître quelque peu inconnue. Voyons clairement dans quel environnement 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 appelé shell _Bourne). Sur les systèmes Linux, + sh + est souvent un alias de + bash +, un logiciel gratuit de remplacement du shell Bourne qui inclut quelques fonctionnalités supplémentaires. Cependant, sous FreeBSD, il s’agit du programme shell classique + sh +, plutôt qu’un alias.

Le shell de ligne de commande par défaut de FreeBSD est + tcsh +, mais les Droplets DigitalOcean exécutant FreeBSD utilisent + sh + par défaut. Si vous souhaitez définir + tcsh + en tant que shell par défaut de * 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 appeler le shell + tcsh + pour la session en cours en lançant:

tcsh

Votre invite devrait immédiatement changer pour ce qui suit:

Si 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 contient quelques paramètres par défaut que les utilisateurs ont tendance à modifier eux-mêmes, tels que le pageur et l’éditeur par défaut, ainsi que les comportements de certaines clés. 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 pour 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 par défaut sur le système, mais si vous voulez un éditeur plus simple, vous pouvez essayer à la place l’éditeur + ee +:

ee ~/.cshrc

En parcourant ce fichier, vous pouvez choisir les entrées que vous souhaitez modifier. En particulier, vous voudrez peut-être changer les entrées + setenv + pour avoir des valeurs par défaut spécifiques avec lesquelles vous serez peut-être plus familier.

~ / .cshrc

. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

Si vous n’êtes pas familier avec l’éditeur + vi + et 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 sans quitter le pager:

~ / .cshrc

. . .
setenv  EDITOR
setenv  PAGER
. . .

Une autre chose que vous voudrez probablement ajouter à ce fichier de configuration est un bloc de code qui mappera correctement certaines de vos touches du clavier dans la session + tcsh +. Au bas du fichier, ajoutez le code suivant. Sans ces lignes, + DELETE + et les autres clés 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 +, sauvegardez et fermez le fichier en appuyant sur + ESC +, en tapant +: wq +, puis en appuyant sur + ENTER +.

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

source ~/.cshrc

Cela n’apparaît peut-être pas immédiatement, mais les touches * Home *, * Insert *, * Delete * et * End * fonctionneront 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 peuvent affecter le chemin de l’exécutable. Les scénarios courants dans lesquels 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 de l’application:

rehash

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

Définition de bash comme shell par défaut (facultatif)

Si vous êtes plus familier avec le shell + bash + et préférez l’utiliser comme votre shell par défaut, vous pouvez effectuer cet ajustement en quelques étapes simples.

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. Faites-le en appuyant sur + y + puis sur + ENTER +.

Une fois l’installation terminée, vous pouvez démarrer + bash + en lançant:

bash

Ceci 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 lancé automatiquement à la place du fichier par défaut actuel.

Si vous souhaitez changer le pager ou l’éditeur par défaut dans le shell + bash +, vous pouvez le faire dans un fichier nommé + ~ / .bash_profile +. Cela n’existera pas par défaut, vous devrez donc le créer:

ee ~/.bash_profile

À l’intérieur, pour changer le pageur ou l’éditeur par défaut, ajoutez vos sélections comme suit:

~ / .bash_profile

export PAGER=
export EDITOR=

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

Pour implémenter vos modifications immédiatement, + source + le fichier:

source ~/.bash_profile

Si vous souhaitez apporter d’autres modifications à votre environnement shell, telles que 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 *. Sur DigitalOcean, cette politique a été complétée pour indiquer aux utilisateurs de se connecter avec le compte * freebsd *.

Le compte utilisateur * root * étant inaccessible via SSH, il est relativement sûr de définir un mot de passe pour ce compte * root *. Bien que vous ne puissiez pas utiliser ceci 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 *, tapez:

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 utiliser cela 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 afficher la console Web:

image: https: //assets.digitalocean.com/articles/freebsd_set_pass/console_access_2018.png [Console Web DigitalOcean]

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

Conclusion

A présent, vous devez savoir comment vous connecter à un serveur FreeBSD et comment configurer un environnement shell bash. Une bonne étape suivante consiste à vous familiariser avec les bases de FreeBSD et avec ce qui le rend différent des distributions basées sur Linux.

Une fois que vous maîtriserez FreeBSD et que vous le configurerez selon vos besoins, vous pourrez mieux tirer parti de sa flexibilité, de sa sécurité et de ses performances.