Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 05-05-2021 18:41:37

xbase
Membre
Lieu : Paris
Distrib. : Debian 10 Buster
Inscription : 17-02-2015

ligne de montage dans un fichier de démarrage

Bonjour a tous je voudrai intégrer cette ligne de montage au démarrage du système. Je ne sais pas ce que je dois faire.

mount --bind /mnt/hdd1 /var/ftp/Download



Actuellement j'ai créer un fichier bootmisc.sh dans init.d mais j'ai du mal mis prendre car ca ne fonctionne pas.
Merci d'avance pour votre aide.


In hoc Signo Vinces (V)

Hors ligne

#2 05-05-2021 20:25:28

raleur
Membre
Inscription : 03-10-2014

Re : ligne de montage dans un fichier de démarrage

Il ne suffit pas de créer un fichier dans init.d. Si tu ne décris pas exactement le contenu de ce fichier, comment tu l'as créé, ses propriétaires et permissions, et tout ce que tu as fait d'autre, on ne pourra pas te dire ce qui manque ou ne va pas.

A mon avis le moyen le plus simple, propre et normal est d'ajouter le montage dans /etc/fstab. L'option --bind devient l'option de montage "bind".
Attention néamoins, un intervenant du forum a signalé que systemd ne traite pas forcément les lignes de fstab dans l'ordre (ce qui est normal puisqu'il gère les dépendances, ainsi il monte /var avant /var/log par exemple) mais qu'il ne tient pas forcément compte de la dépendances au chemin source pour les montages de type "bind". Pour être tranquille il faudrait donc ajouter une dépendance explicite, peut-être avec une option x-systemd.requires-mounts-for=/mnt/hdd1.

PS :
1) Un lien symbolique /var/ftp/Download -> /mnt/hdd1 ne conviendrait pas ?
2) Sinon, pourquoi ne pas monter directement le système de fichiers sur /var/ftp/Download ?
3) /mnt/hdd1 est un très mauvais choix pour un point de montage à plusieurs titres :
- /mnt n'est pas prévu pour les montages permanents.
- le nom "hdd1" ne donne aucune information sur le contenu.

Il vaut mieux montrer que raconter.

Hors ligne

#3 06-05-2021 19:17:32

jpt
Banni(e)
Distrib. : Debian 10.8
Noyau : Linux 5.7.10 (backports)
(G)UI : LXDE
Inscription : 12-09-2020

Re : ligne de montage dans un fichier de démarrage

Bonsoir,

raleur a écrit :

Attention néamoins, un intervenant du forum a signalé que systemd ne traite pas forcément les lignes de fstab dans l'ordre (ce qui est normal puisqu'il gère les dépendances, ainsi il monte /var avant /var/log par exemple) mais qu'il ne tient pas forcément compte de la dépendances au chemin source pour les montages de type "bind".

c'est peut-être moi, l'intervenant, je ne me souviens pas, faut dire aussi que j'ai passé sur ce truc un temps dément, et si je réponds ici (ici parce qu'il y a qq mois j'avais ouvert au bistro un fil "Debian ça m'épuise" mais il a disparu -- ça n'a pas dû plaire -- il n'y a que la vérité qui fâche, c'est bien connu) ce soir, c'est pour vous conter ce que j'ai vécu en fin de matinée, dans une machine virtuelle où je suis en train de mettre en place des montages de type "bind".

J'ai donc préparé des fichiers .mount concernant deux partitions d'un disque, et je les ai utilisés en suivant strictement les tutos qu'on trouve partout sur le web, avec donc deux commandes :
systemctl daemon-reload utilisé une fois les .mount corrects puis

systemctl start datasmall.mount
systemctl start datalarge.mount

et j'ai pu travailler avec ces partitions. Quand j'ai eu fini,

systemctl stop datasmall.mount
systemctl stop datalarge.mount

et les partoches ont été démontées.
Je n'ai pas lancé systemctl enable filename.mount histoire de ne pas activer le montage automatique et j'ai rebooté, et que croyez-vous que j'ai découvert une fois la machine up 'n' running ?
Que les partoches avaient quand même été montées, dans mon dos, me générant au passage une joyeuse pagaille, puisque la machine n'était pas prête à les gérer.

raleur a écrit :

Pour être tranquille il faudrait donc ajouter une dépendance explicite, peut-être avec une option x-systemd.requires-mounts-for=/mnt/hdd1.

Rien n'est moins sûr : il me semble que ça a été une de mes premières pistes explorées, il y a plus de six mois, et elle a conduit à un cul-de-sac : des fois c'était bon, des fois ça ne l'était pas, ie, le requires n'était pas compris, pas respecté, je ne sais pas, mais en tout cas je n'avais parfois pas ce que j'attendais.

Un dernier mot : la machine virtuelle est basée sur une Debian Buster 10-8, pas bien vieille donc.

À bon entendeur, salut !


AMD Ryzen3 3200G sur Gigabyte B450M & Make Love Not War

Hors ligne

#4 07-05-2021 09:54:24

xbase
Membre
Lieu : Paris
Distrib. : Debian 10 Buster
Inscription : 17-02-2015

Re : ligne de montage dans un fichier de démarrage

Bonjour, désolé pour ma réponse tardive j'avais un peu de travail.
Voici l environnement et le tuto que j'ai essayer.

A la suite des conseils de philou92 j'ai utilisé mysecureshell pour gérer les utilisateurs SFTP de mon serveur VPS. Pour associé les répertoires ( var/www/html/user1 ) a l'utilisateur ( /home/user1/html) de MySecureShell j'ai suivie ce tuto http://mysecureshell.sourceforge.net/fr/faq.html

Lorsque l'option "VirtualChroot" est activé, si la destination des liens symboliques ne se trouve pas dans l'espace dit "Chrooté", alors les liens symboliques ne fonctionnent pas. Cependant il existe une solution pour pouvoir faire une équivalence.
Il s'agit d'utiliser la commande "bind --mount".

Si par exemple j'ai un disque dur qui se trouve dans "/mnt/hdd1" et que je veux le mettre dans "/var/ftp/Download", je dois créer le dossier de destination et lancer la commande "bind --mount source destination".
mkdir /var/ftp/Download
mount --bind /mnt/hdd1 /var/ftp/Download

Il reste encore une chose à faire. A chaque redémarrage, les disques durs ou partitions ne se monteront pas tout seuls au démarrage, c'est pourquoi il faut intégrer cette ligne de montage dans un fichier de démarrage tel que rc.local (Pour Mandriva) ou bootmisc.sh (Pour Debian).



Bêtement je suis aller dans le répertoire etc/init.d et j'ai créer un fichier en root qui s'appel bootmisc.sh en root avec les droit suivant:

-rw-r--r-- 1 root root    57 May  3 21:14 bootmisc.sh



Petite précision dans mon cas il ne sagit pas d'un disque dure mais du repertoire dedié au site internet de l'utilisateur MySecureShell: home/user1/html

apparemment ce n'est pas aussi simple que décris dans la FAQ de MySecureShell smile


In hoc Signo Vinces (V)

Hors ligne

#5 07-05-2021 14:30:30

raleur
Membre
Inscription : 03-10-2014

Re : ligne de montage dans un fichier de démarrage

Cette FAQ est quelque peu périmée. Elle suppose que le fichier bootmisc.sh existe déjà. Ce fichier appartient au paquet initscripts qui n'est plus installé par défaut car il était utilisé par l'ancien gestionnaire d'init, sysvinit, remplacé par systemd. D'autre part même s'il est présent, par défaut il est inhibé (masqué) par systemd via le lien symbolique /lib/systemd/system/bootmisc.service qui pointe vers /dev/null.

Par ailleurs l'exemple dans la FAQ est très mal choisi : il est beaucoup plus simple de monter directement le disque sur /var/ftp/Download plutôt que le monter sur /mnt/hdd1 puis monter ce dernier en bind sur /var/ftp/Download.

Quant à toi, tu aurais dû décrire ta problématique exacte plutôt que celle de l'exemple de la FAQ qui ne correspond pas à ton cas : associer /var/www/html/user1 à /home/user1/html, et mentionner la contrainte du chroot sur /var/www/html/user1. A mon avis le montage en bind d'un répertoire utilisateur n'est pas une bonne idée, car le contenu de /home/user1 est sous le contrôle de l'utilisateur propriétaire qui pourrait notamment le supprimer. D'autre part c'est lourd s'il y a un certain nombre de répertoires de ce type.

Certes un lien symbolique /var/www/html/user1 pointant vers /home/user1/html ne fonctionne pas dans un chroot sur /var/www/html/user1. Mais est-ce que l'inverse serait une solution acceptable ?
Sinon, est-ce que les deux emplacements sont dans un même système de fichiers ? Si oui, alors il est possible de faire un lien physique qui n'est pas affecté par le chroot.
Par ailleurs, pourquoi est-il nécessaire que les données soient accessibles à la fois dans /var/www/html/user1 et dans /home/user1/html ?

Il vaut mieux montrer que raconter.

Hors ligne

#6 07-05-2021 17:55:06

xbase
Membre
Lieu : Paris
Distrib. : Debian 10 Buster
Inscription : 17-02-2015

Re : ligne de montage dans un fichier de démarrage

Bonjour Raleur et merci pour ton explication. J'ai voulu me débrouiller par moi même en essayant de comprendre la logique. Je me suis un peu perdu sur la route.  sad

Quand j'ai installer MySecureShell j'ai voulu chrooté les utilisateurs dans leur répertoire html (var/www/html/user1_siteweb1)   (var/www/html/user2_siteweb2)  (var/www/html/user3_siteweb3)

malheureusement je n'arrivais pas chrooté mes utilisateurs dans leur répertoire. En cherchant une solution a mon problème avant d'aller crier au secours sur le forum je suis passé par la FAQ de MySecureShell et j'ai trouver que leur exemple pouvait résoudre mon problème.

Apres avoir lu ta réponse je me sens 1 peu c*n et j'ai repris le fichier /etc/ssh/sftp_config et la miracle sa fonctionne mes utilisateurs sont bien chrooté dans leur répertoire (/var/www/html/user1_site1) (/var/www/html/user2_site2) (/var/www/html/user3_site3) sans passé par une ligne de montage qui les redirige vers leur dossier home.

Je crois que je peu supprimer se poste finalement sad

Dernière modification par xbase (07-05-2021 18:40:41)


In hoc Signo Vinces (V)

Hors ligne

Pied de page des forums