Monter automatiquement SSD interne d'un autre système avec droits exotiques (udev, mount, ...)

Bonsoir,

je vais tâcher d’être clair et concis, ce qui n’est pas évident tellement ça m’a semblé relevé de différents domaines (ou d’un seul mais vaste parce que je m’y suis perdu) des system de fichiers, des permissions, des points de montages, et de l’administration pour faire court.

ma config (pour ce qui nous intéresse):
debian Buster, environnement Kde
2 ssd (sda, sdb)
sda contient Buster
sdb contient 2 partoches (films, et ziq)
README: sdb est formaté en ext4 aussi, mais ne fait pas partie du système de fichier
Buster. C’est à dire que je le réserve à un autre utilisateur d’un autre système que je viendrais par la suite rajouté en dual boot sur sda (basé Debian aussi, tout linux).

Mais là j’évoque déjà la suite, ce qui déborderait sur l’intitulé du fil ( avec votre aide je verrai sans doute vite où ça peut coincer ), soit revenons à mes moutons.
sdb est détecté, non monté, normal.
Lors du partitionnement, j’ai assigné à sdb1 le point de montage /home/denis/Vidéos/Multimédia. Le résultat escompté étant qu’il se monte tel que spécifié par le chemin, mais pas n’importe comment (cad: n’appartenant pas à l’user denis de buster). J’ai sans doute pas choisi le bon procédé pour arriver à mes fins, mais j’en suis là, et je pense, à moins qu’on me dise le contraire, que je peux arriver à ce que je veux.

Donc je résume:

  • j’ai buster (pas keaton) installé sur sda1 (qui dans un proche avenir accueillera ubuntu par exemple en dual boot par la suite)
  • j’ai un sdd avec 2 partoches que je veux communes aux deux systèmes
  • je souhaite que sdb1 se monte automatiquement à l’endroit spécifié dans fstab de buster
  • je souhaite que l’user « denis » (de buster) puisse écrire à sa guise mais pas supprimer autre chose que ce qu’il a lui-même créé ( un sticky bit sur sur le répertoire/partition Multimédia/sdb1 [ NB: je ne suis pas un fondu du sticky bit, il y a peut-être une meilleure solution. ] )
    En gros voilà.

Problèmes:

  • je me suis penché sur les règles Udev, j’y arrive pas, est-ce là la solution ?
    jamais l’assignation MODE=1755 (exemple) n’est prise en compte au montage du système. Dans fstab si j’essaie d’assigner des droits sur la ligne UUID correspondant à la partoche sdb1 j’ai des erreurs et ça monte pas.
  • si c’est pas une règle Udev à mettre en place, où dois-je remonter et comment dois je modifier la conf de sorte que sdb1 soit monté au boot (avec les contraintes sus-citées, droit en écriture dans les répertoires mais pas de suppression de fichier possible, vu que sdb1 appartient à un autre user, d’un système de fichier distinct monté ultérieurement en principale sur un autre boot (je sue)
  • accessoirement, j’aimerai comprendre comment avoir la main sur mon système de fichier, la syntaxe à utiliser et où l’écrire donc, dans le problème que j’ai.

Mais peut-être que j’ai cherché 48h en vain et que rien n’est possible.
En tous cas j’aimerais les éclaircissements des experts d’ici (avec des gros projecteurs sinon je vois rien … me renvoyez pas à RTFM svp, j’en ai parcouru des pages aussi sur le net, dur). Merci, d’avance.

Si on comprend bien:

/dev/sda c’est une installation debian Buster sur la partition /dev/sda1
/dev/sdb: uniquement du stockage de fichier sur deux partitions /dev/sdb1 et (je présume) /dev/sdb2

dans l’installation de ta Buster il te suffit de monter en permanent les partitions de sdb

sur la place restante de /dev/sda, tu vas installer un autre système (Ubuntu) avec lequel tu feras pareil.

Ca ca résout le problème d’avoir les deux partitions accessibles sur les deux systèmes.

Concernant le /dev/sdb1 lié à denis: il suffit de mettre des droits liés à l’utilisateur, mais aussi à un groupe;

ceci étant, le fait que le répertoire faszse partie de son propre Home n’est peut être pas une bonne idée si tu as l’intention que d’autres utilisateurs aient aussi accès.
Ddans la gestion de droits, on commence par les droits généraux pour déscendre aux droits spécifiques, le tout de préférence en utilisant au maximum les groupes.
Du fait

en fait ton problème c’est juste une question de gestion de droits.

Au final, on ne comprends pas bien l’utilisation du répertoire multimédia.

Normalement tu devrais avoir un répertorie global Multimédia, dans lequel les utilisateurs on un répertoire Vidéo qui leur est propre. Ainsi ils peuvent faire comme ils veulent dans « leur » répertoire. en fait il faut que tu inverse: au lieu de denis/Vidéos/multimedia (qui n’est pas logique, le multimedia n’est pas un sous groupe de video, mais l’"inverse, c’est vidéo qui est un sous groupe de multimedia.

Ainsi tu aurais:

Multimedia
|`–denis
| |- Vidéos
| |-Musiques

etc…

et de fait ton problème ne devient plus qu’à faire un point de montage utilisateurs pour denis vers ./Multimedia/denis

Et en fonction des groupes d’appartenance d’avoir d’autres utilisateurs qui peuvent voir les fichiers de denis.

ce n’est pas une bonne idée d’avoir un unique repertoire où les droits sur les fichiers deviennent spécifiques au fichier et à utilisateur. passe par des groupe à minima

Merci pour ta réponse, intéressante qui propose des voies et qui met en évidence que ce que je cherche à faire, je n’y arrive pas parce que c’est pas logique (cependant j’insiste pour une autre approche, mais je n’insisterai que mollement si vraiment il s’avère que je suis sur une voie sans issue, car illogique et mal conçue).

je vais préparer la mienne, en remontant de la fin

En fait, sdb1 et sdb2, je les destine à « denis » d’un autre système en dual boot. (« j’hypothésais » que sur l’autre système que je vais rajouter, dont / sera aussi sur sdA1 dans des /usr et /var et /home distincts de Buster mais dans des partitions propres (laisser libres lors du partitionnement) + un /home/denis/Vidéos/Multimédia sur sdb1 et /home/denis/Musique sur sdb2 qui font partie intégrante là de la seconde installation, donc monté normalement dans /home/denis/ de l’user « denis » du second système.
Je sais pas si je suis clair :frowning:
En bref, je m’orientais vers quel que soit sur quoi je boot, avoir un user denis principal. Avec des fstab différent. quand je boot sur buster en tant que denis(0) j’ai les sdb montés automatiquement, mais avec un droit en écriture dans les répertoires, mais sans modifications des fichiers de sdb en tant que denis(0) car ce seront des fichiers appartenant à denis(1).
et quand j’aurais installer mon dual boot (debian based), mon user sera denis, il aura son / dans sda aussi (comme d’autres partitions style /usr et /var et un petit /home dans sdA) mais surtout avec son /home/denis/Musique=sdb2 monté dans un répertoire de sdA, étendant sdA aux Go de sdb2.
Là encore je suis pas certain d’être clair, c’est assez confus.

En gros, je dois avoir, quelque soit mon choix au boot (normal-> buster ou musique->librazik) accès quelque soit l’user denis (0 ou 1), accès aux multimédias et zik de l’un comme de l’autre, sans possibilité de supprimer des fichiers par inadvertance. À savoir que denis(0:buster) ne peut pas supprimer un fichier de denis(1:librazik) mais ont accès à tous les répertoires de sdb1 et sdb2 pour le premier en écriture mais pas sur les fichiers, pour le second en lecture écriture (c’est son home) sans pouvoir supprimer un fichier créé par le premier
hum heum … Donc je cherchais une règle udev qui dans un premier temps, me monte automatiquement sdb1 (multimédia) avant même de tenter sdb2, pour que ce répertoire (sdb1 contenant les films) se monte, déjà, dans Buster.

Voilà, ça c’est ce que je pouvais dire sur ta dernière remarque.
est-ce que je dois éclaircir des questions demandées plus haut, ou tu vois mieux ce que je souhaite ?
Merci

A ^priori si les montage sont identiques et si les UID sont identiques ca devrait le faire

non ça le fait pas.
Tu es sûr ? ça devrait faire quoi ? (je crains que tu es pas encore lu ma réponse et que les messages se soient croisés)

il se peut aussi que j’ai mal fait quelque chose lors du partitionnement de sdb quand j’ai installé et partitionné (donc) sda pour buster … Peut-être une option qui m’empêche de modifier quoique ce soit niveau permission via udev et mount …
en tout cas en ligne de commande je monte sdb1 et sdb2 où je veux (comme décrit dans mes souhaits) mais avec un script lancé en début de session.
Ce que je cherche à comprendre, c’est comment, où, configurer l’équivalent du script, (un bête chmod et chgpr lancés précédés sudo) pour qu’au BOOT, ça fasse ça.
Est-ce une règle Udev ? Si oui comment l’écrire.
C’est une question, j’en ai plein d’autres.

si les montages sont identiques ? je comprends pas, ils ne peuvent pas l’être, ils devraient ?
Oui ça les UUID c’est forcément identiques sur les deux systèmes

je peux très bien booter sur buster (denis0) [je mets 0 ou 1 mais l’user sera toujours « denis » sans chiffre ](erreur ?) et avoir sdb1 monté dans mon home/denis/vidéos/multimédia ET booter sur denis(1) de l’autre système et avoir les vidéos dans home vidéos, peut importe le point de montage je pense, j’ai tort (ça devrait juste se jouer dans le fstab à ma connaissance, ou ma piètre connaissance si tu veux)

juste pour info, pourquoi deux système si c est pour y utiliser le meme utilisateur?

parce que le second système nécessite :

  • un environnement de bureau dont on s’accommode tout à fait mais qui ne répond pas toujours à mes besoins
  • une configuration un petit peu particulière et un noyau temps réel, le serveur audio Jackd (super mais pas en utilisation courante, webcam, youtube, même avec le bridge pulseaudio et alsa pfff la webcam j’ai abandonné)
  • des besoins complètement différents et selon l’humeur je veux pouvoir booter comme je veux avec une config en place pour ce que je souhaite faire

j’ajoute:

  • des mises à jours qui prennent du temps par rapport aux avancées Debian, donc quitte à se retrouver sur une old debian, autant avoir deux systèmes distincts.

tout peut être sous un même environnement, le fait d’avoir un noyau temps reel n’empêche pas le reste.

Quand au fait d’avoir gnome, kde ou lxfe, ils peuvent tous etre sous une seule installation sans aucun problème

non, Librazik requière Mate (pas gnome, kde, xfce ou quoi ou qu’est-ce). C’est en tout cas les recommandations de Librazik. (C’est du beau boulot librazik, mais il y a quelques contraintes). C’est pas le sujet.

certes, je faisais comme ça jusqu’ici, ça n’empêche rien sauf des mises à jours debian, puisque le système est autre (librazik based on debian). Et le temps réel, avec une config son qui fait que le son prime sur tout, ça ne gène en rien vu les processeurs actuels, mais quand même, config particulière.

pardon, le temps réel c’est pas le point, c’est une noyau « lbz » que je voulais dire, optimisé pour le son.
(et non « realtime »)

et donc librazik n’est pas capable d’avoir plusieurs gestionnaire graphique contrairement à debian si je comprens bien?
Et de fait, les repos debian ne sont pas utilisables?

si ça t’intéresse je t’invite à voir le site Librazik tu googlise tu trouves de suite. pas 3000 pages à lire.
Ps: les dépôts sont les mêmes sauf que les dépôts du noyau notamment et d’un bon nombre de logiciels audio c’est librazik (configurés à l’install de la couche librazik). Tu peux pas upgrader ton noyau, tu casses ta config ou tu tournes plus sous librazik, mais attendre que librazik « ponde » le nouveau noyau de debian configuré à sa sauce.
C’est pas un souci je le répète, mais c’est pas non plus le sujet.

Pour reprendre, et résumer :
comment structurer mes disques peut-être que c’est là où le bas blesse, dans le concept.
je voyais bien un truc du genre :

  • j’ai le même / pour les deux systèmes, bootable sur /boot/efi
    chacun système a ses partitions propres: /usr, /var, /tmp, /home et / par contre sera j’imagine commun, mais suivant où je boote, je serai /root(0) ou /root(1) suivant le système donc.
  • justement je ne voulais pas un home commun, ça me paraissait un peu compliqué.
    Par contre je veux que les partitions /home(0) et /home(1) soit accessibles en partie en écriture (pour les répertoires) mais pas pour les fichiers.
  • je veux pouvoir monter automatiquement dans home(0) un répertoire qui contient une partie « public » de home(1), de sorte qu’en boot(0) j’y ai accès (à la zik par exemple), et en boot(1) c’est pas un souci vu que c’est l’essentiel du home(1).
    Mais, user(0) ne peut pas supprimer des fichiers dans le répertoire « public », par contre il peut en créer (c’et pourquoi je pensais à monter sdb1 et sdb2 avec un sticky bit) car je suppute et ça reste à vérifier, que même en nommant mrs user « denis » (uid=1000 donc), les droits en écriture ne seront pas ouverts vu que monter par root/sys/udev/jenesaisnainquoiqui au boot.

Je pense que mes lacunes m’empêchent de cerner le problème. Le script en ouverture de session je m’en accommoderais, mais j’aimerais bien comprendre où ça bloque et pourquoi ça bloque.

je ne mets pas de log de toutes mes tentatives car d’abord je veux revoir la théorie de ce qui est réalisable avec les systèmes de fichiers, udev, mount, ou autre, .
Si, en accord avec la théorie, ça marche toujours pas, les logs aideront. Mais je tâtonne tant que produire des logs me semble source de fausses pistes :frowning: (on se fout de log sur un problème qui n’est pas le problème).