Dans la suite des guides rédigés avec le bon Pierre Lecourt :
(la suite arrive)
Nous allons voir aujourd'hui comment accéder facilement à son serveur depuis son explorateur de fichier comme si vous étiez directement sur votre machine
Objectif : monter automatiquement le home d'un compte du home-server (/home/USER côté serveur) dans /mnt/garage côté poste de travail, en s'authentifiant avec le compte créé sur le serveur. On considère ici que le serveur s'appelle garage.
Remarque : cette manipulation suppose que votre machine locale tourne aussi sous linux, pour windows, il est possible de configurer un point de montage réseau depuis l'explorateur de fichier.
Pour que cela soit plus simple, dans la suite de ce post :
- Machine locale : votre PC de tous les jours
- Serveur : votre serveur dans votre garage
USERà toujours remplacer par votre nom d'utilisateur (celui sur le serveur ou votre machine locale)
1. Partager les homes (Serveur)
Samba est normalement installé de base sur la plupart des distributions linux
Avec Samba, la section [homes] de /etc/samba/smb.conf fait déjà le travail : chaque compte du serveur voit son propre home exposé sous son nom. Autrement dit, //garage/USER pointe sur /home/USER, sans avoir à déclarer un partage par utilisateur.
[homes]
browseable = no
read only = no
valid users = %SNous allons définir un mot de passe Samba au compte (distinct du mot de passe système de préférence)
sudo smbpasswd -a USER2. Iinstallation du client CIFS (Machine locale)
sudo apt install cifs-utilsOu sur Fedora / opensuse....
sudo dnf install cifs-utils 3. Récupérer son uid et son gid (Machine locale)
ID user et ID Groupe
id -u
id -gEn général 1000 et 1000 pour le premier compte créé sur la machine.
S'ils sont différents de 1000 / 1000, pensez à adapter les valeurs à l'étape 6
4. Créer le fichier d'identifiants (Machine locale)
On ne met jamais le mot de passe directement dans /etc/fstab, qui est lisible par tout le monde. On le range dans un fichier dédié, dans le home local (sur notre machine, pas sur le serveur:
username=USER
password=motdepasse
domain=WORKGROUPÀ enregistrer dans /home/USER/.smbcredentials, puis à protéger :
chmod 600 /home/USER/.smbcredentials5. Créer et préparer le point de montage (Machine locale)
sudo mkdir -p /mnt/garage
sudo chown USER:USER /mnt/garage
sudo chmod 750 /mnt/garageLe mkdir crée un dossier appartenant à root : sans le chown, le point de montage reste inaccessible en écriture au user tant que le partage n'est pas monté. Une fois le partage monté, ce sont les options uid/gid qui prennent le dessus sur ces droits.
Pourquoi /mnt et pas directement dans le home ?
La tentation est grande de monter le partage dans /home/USER pour l'avoir sous la main. C'est une mauvaise idée : pour des raisons de droits, de config...
/mnt est justement l'emplacement prévu pour les systèmes de fichiers montés par l'administrateur, là où /media est réservé aux supports amovibles montés par l'environnement de bureau. Un sous-dossier par serveur reste lisible dès qu'il y en a plusieurs.
Mais si vous y tenez, il est toujours possible de créer un lien symbolique :
ln -s /mnt/garage ~/garage6. La ligne dans /etc/fstab (Machine locale)
//garage/USER /mnt/garage cifs credentials=/home/USER/.smbcredentials,uid=1000,gid=1000,file_mode=0664,dir_mode=0775,iocharset=utf8,nofail,_netdev,x-systemd.automount,x-systemd.idle-timeout=60 0 0Le tout sur une seule ligne, les options séparées par des virgules sans espace. Si un chemin contient une espace, la remplacer par \040.
Le nom garage doit être résolvable depuis le poste : via le DNS du réseau local ou fichier hosts (/ect/hosts) ou, plus simplement, en mettant l'IP directement (//192.168.1.10/USER).
Les options qui comptent
credentials=: le fichier créé à l'étape 4, donc le compte du serveur.uid=/gid=: c'est ce qui fait que le contenu monté appartient au user et non à root. Sans ces deux options, tout appartient à root et on ne peut rien écrire sanssudo.file_mode/dir_mode: les droits affichés côté client (le serveur reste maître des droits réels).nofail: la machine démarre même si le home-server est éteint._netdev: indique que le montage dépend du réseau, systemd attend qu'il soit disponible.x-systemd.automount: le partage n'est monté qu'au premier accès au dossier, le boot n'attend donc pas après le serveur.x-systemd.idle-timeout=60: démonte après 60 secondes d'inactivité, pratique sur un portable qui se balade hors du réseau local.
7. Appliquer
sudo systemctl daemon-reload
sudo mount -a
ls -l /mnt/garageLes fichiers listés doivent apparaître avec le user local comme propriétaire.
Variante : monter et démonter à la demande, sans sudo
En remplaçant x-systemd.automount par noauto,user, le montage n'est plus automatique mais le user peut le déclencher lui-même :
mount /mnt/garage
umount /mnt/garageAlternative avec sshfs
Vous pouvez aussi utiliser un montage via ssh, sans identifiants, mais via votre clé SSH :
USER@garage:/home/USER /mnt/garage fuse.sshfs _netdev,user,identityfile=/home/USER/.ssh/id_ed25519,port=2213,allow_other,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,compression=no,cache=yes,kernel_cache,uid=1000,gid=1000 0 0à adapter :
- USER@garage votre chaine de connexion vers votre serveur
- /home/USER le dossier de votre serveur que vous souhaitez monter
- /mnt/garage : le point de montage sur votre machine
- identityfile=/home/USER/.ssh/id_ed25519 : le chemin vers votre clé SSH (sur votre machine locale)
- port=2213 : le port ssh à utiliser si différent du port 22
Commentaires (0)