Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/09/2020, à 19:27

Qid

Montage différent suivant la session démarré

Bonjour
J'ai 3 sessions sur une machine dont seulement une est administratrice du poste...
Ma question est simple : comment je peux arriver à avoir des montages conditionnés à l'utilisateur qui sera connecté ?
J'ai envisagé l'idée du mount dans un script au démarrage de la session mais comme celui-ci doit en plus se faire sans demande de mot de passe...
Quant-à l'idée de passer par le module de connexion réseau de nautilus je n'ai pas réussi à faire mon montage NFS par ce biais
Merci de bien vouloir me donner des pistes...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#2 Le 15/09/2020, à 21:38

inbox

Re : Montage différent suivant la session démarré

Salut,

Comme tu ne donnes pas beaucoup d'informations sur la machine sur laquelle se feront les connexions réseau, je propose pam_mount. Cela est faisable si cette machine est un serveur Linux.

A+


Un problème résolu ? Indiquez le en modifiant le titre du sujet.
Linux user 449594

Hors ligne

#3 Le 15/09/2020, à 21:46

Coeur Noir

Re : Montage différent suivant la session démarré

avoir des montages conditionnés à l'utilisateur qui sera connecté
Ça peut vouloir dire beaucoup de choses…

Dans le fstab rien ne t'interdit de monter de façon permanente des partitions dans chaque espace utilisateur, avec des points de montage dans les divers /home/$USER/partition

L'idée c'était peut-être justement de ne pas passer par le fstab. Dans ce cas tu as une commande exprès pour, sans sudo, qui monte automatiquement dans /media/$USER/partition c'est

udisksctl mount -b /chemin/vers/partition

voir https://doc.ubuntu-fr.org/montage#parti … e_commande §2.3

Les montages ( et les périphériques ) sont une affaire du système. L'accès aux données des divers utilisateurs ( humains ) se gèrent par les droits et permissions sur les dossiers de données, c'est à dire une fois les partitions contenant ces données déjà montées. C'est + simple de monter dès le démarrage du système ( une bonne fois pour toutes ) toutes les partitions nécessaires, et gérer finement les droits et permissions des utilisateurs et groupes pour les accès aux dossiers.

Dernière modification par Coeur Noir (Le 15/09/2020, à 21:53)


DébuterDocBien rédigerRetour commandeInsérer image | mes albums <>

Hors ligne

#4 Le 15/09/2020, à 21:58

Qid

Re : Montage différent suivant la session démarré

@inbox : je n'ai pas encore compris comment il s'utilise mais il se pourrait bien que ce soit ma solution

@Coeur Noir : hum... Tu penses vraiment que mon erreur vient du fait que je veux laisser mes points de montage dans media ? Est-ce vraiment bien propre et cohérent de faire un montage d'un périphérique dans un sous dossier de chaque user qui doivent y avoir accès ? En tous cas je note et essayerai cette commande "udisksctl" que tu m'as donné

Édit : ça fait plusieurs fois que je regarde autofs aussi mais il m'a l'air bien compliqué...

PS : je rappelle qu'il est question de montage NFS :
A doit avoir /media/partage/admin mais pas b
Qui lui à l'inverse doit avoir /media/partage/doc

Dernière modification par Qid (Le 15/09/2020, à 22:07)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#5 Le 15/09/2020, à 22:01

Coeur Noir

Re : Montage différent suivant la session démarré

inbox a écrit :

je propose pam_mount

Alors oui, pourquoi pas. Mais je serais curieux de voir les config's nécessaires dans ce cas. As-tu mis en place de tels montages ?


DébuterDocBien rédigerRetour commandeInsérer image | mes albums <>

Hors ligne

#6 Le 15/09/2020, à 22:53

Coeur Noir

Re : Montage différent suivant la session démarré

Tu penses vraiment que mon erreur vient du fait que je veux laisser mes points de montage dans media ?
D'abord : je n'évoque aucune erreur de ta part ;-) mais c'est vrai qu'on manque un peu de contexte pour comprendre ce que tu veux faire.

/media est un très bon endroit pour monter des partitions de données dont le système n'a pas foncièrement besoin pour fonctionner ( des données qui concernent des utilisateurs humains, par exemple ).
Tout ce qui est monté dans /media a l'avantage d'apparaître dans le volet latéral des explorateurs de fichiers sous périphériques ou autres emplacements, selon les explorateurs

Mais /home/$USER/un_dossier est de facto le meilleur endroit pour monter une partition de données qui ne concernerait que cet $USER là.
Ce qui est monté là n'apparaîtra que dans le dossier personnel de l'utilisateur en question.

Ce que je fais via fstab - et n'a pas valeur d'absolu mais me convient depuis quelques années :
⋅ une partition de données qui servira à plusieurs utilisateurs ( avec à la racine, un dossier par utilisateur potentiel, un peu comme un /home )
      → je la monte dans /media/DATA_FOR_ALL
      → puis liens symboliques entre les divers /home/$USER/dossiers et les divers /media/DATA_FOR_ALL/utilisateur/dossiers
⋅ une partition qui ne servirait qu'à un utilisateur en particulier
      → je la monte dans /home/$USER/DATA_de_cet_user
      → et liens symboliques, ou pas ( ça dépend complètement de ton organisation, de la nature des données ).

Sans passer par le fstab et uniquement dans le cas d'une partition NON destinée à être partagée entre plusieurs utilisateurs en même temps :
⋅ ajouter aux « applications au démarrage » ( dans le dossier ~/.config/autostart ) un lanceur qui exécutera

udisksctl mount -b /chemin/vers/partition

      → Cette partition apparaîtra dans /media/$USER/label_ou_uuid_partition accessible uniquement à cet $USER, tant que sa session court.
      → rien n'interdit de monter cette partition via udisksctl depuis une autre session alors que la partition serait toujours utilisée par la session précédente, mais garder à l'esprit qu'il faudra alors jouer avec les droits et permissions
          ( ajouter l'utilisateur au groupe de l'utilisateur 1, par exemple, et les droits rwX au groupe pour les dossiers concernés par un partage ) mais bon ça c'est la gymnastique habituelle.

Pour des ressources distantes, non locales ( disques réseaux, partages sur autres ordis ) udisksctl ne semble pas adaptée.

Dernière modification par Coeur Noir (Le 15/09/2020, à 22:55)


DébuterDocBien rédigerRetour commandeInsérer image | mes albums <>

Hors ligne

#7 Le 16/09/2020, à 08:21

Qid

Re : Montage différent suivant la session démarré

Coeur Noir a écrit :

Tout ce qui est monté dans /media a l'avantage d'apparaître dans le volet latéral des explorateurs de fichiers sous périphériques ou autres emplacements, selon les explorateurs

Mais /home/$USER/un_dossier est de facto le meilleur endroit pour monter une partition de données qui ne concernerait que cet $USER là.
Ce qui est monté là n'apparaîtra que dans le dossier personnel de l'utilisateur en question.

Eh oui... C'est bien pour ça que j'utilise /media : Sur ma machine perso j'utilise /mnt pour ma partition data et je vois bien le résultat...

Je vais essayer de voir comment retrouver un résultat similaire aux autres machines en ayant le point de montage dans le /home : je pense à des liens symboliques : pas envie de me farcir la création des liens dans le panneau de gauche à la main...


Qu'est-ce que vous voudriez comme contexte ?
- J'ai des montages NFS croisés entre tous mes postes (5)
- J'ai des machines (2) dont l'utilisation est bien déterminée et sont donc avec 1 seul user qui a donc accès à un dossier "document partagé"
- D'autres (2), administratrices du parc, ont accès à la totalité du home des autres machines pour pouvoir contrôler à distance que les fichiers sont bien rangés
- j'ai même trouvé une solution pour avoir un accès à partir des machines maître à la totalité des /home de ma dernière machine qui elle a l'avantage et le désavantage d'avoir un rôle non déterminé et donc toutes les sessions... Et tout ça sans flinguer les droits dans chacun des /home...
- le seul point qu'il me manque est l'inverse qui donc doit dépendre de l'utilisateur connecté

En shematisé :
* A B C D E sont mes machines

* A et B sont mes machines principales avec 1 utilisateur
* C et D sont mes machines secondaires avec 1 utilisateur
* E a 3 utilisateurs dont 2 correspondent aux "droits" de A ou B ou de C ou D et un 3ieme sans autre machine attribuée

* A a accès aux /home/$USER de B C et D et à /home de E
* B a accès aux /home/$USER de A C et D et à /home de E
* C et D ont tous deux accès à /home/$USER/PARTAGE situé sur A

* Quant à E vous l'aurez compris :
- soit il peut utiliser une session qui est équivalente à A ou B et donc avoir accès aux /home/$USER de B C et D et à /home de E
- soit il peut utiliser une session qui est équivalente à C ou D et donc avoir accès à /home/$USER/PARTAGE situé sur A
- soit il va utiliser une session qui va avoir accès à /home/$USER/PRIVÉ situé sur A

voilà la totalité de mon plan... Avant cet été tout ceci (sauf la machine E qui n'existait pas encore) était en 16.04 avec SSHFS et ça me convenait mais suite à d'autres discussions j'ai voulu profiter de la réinstallation des machines en 20.04 pour essayer NFS... Ce fût plus compliqué à mettre en place de base mais maintenant je pense avoir compris et ça marche... Sauf pour la E que je ne sais pas comment gérer d'où cette discussion... Ce qui me console c'est que le problème aurait été le même avec SSHFS


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#8 Le 16/09/2020, à 12:58

iznobe

Re : Montage différent suivant la session démarré

bonjour ,

ca parait n' etre qu ' un probleme de droit au final .

il faudrait essayer de creer des groupes d ' utilisateurs :
groupe users1 ( A+B )
groupe users2 ( C+D )
groupe usersadmin( E )
par exemple  , mettre les bon users dans chaque groupe .

Dernière modification par iznobe (Le 16/09/2020, à 13:49)

Hors ligne

#9 Le 16/09/2020, à 13:27

Qid

Re : Montage différent suivant la session démarré

iznobe a écrit :

ca parait n' etre qu ' un probleme de droit au final .

On m'a déjà orienté vers cette stratégie mais j'avoue que j'ai toujours préféré éviter de jouer avec car je ne maîtrise pas suffisamment... En plus là il est question d'accès à des /home ou /home/$USER/DOSSIER... Je ne me vois pas changer des droits dans ce type de dossier...

Mes exports sont biens configurés pour que ce soit bien les droits de $USER qui s'appliquent : exemple : A accède à B et crée un dossier... Ce dernier sera bien identifié comme étant créé par B...

Mon problème pour donner un autre exemple c'est que vu le fstab de E :
- E1 peut et doit bien accéder à A:/home/$USER = super
- E2 voit le montage prévu pour E1 mais ne doit pas pouvoir y accéder

PS : pas sûr que de changer les droits du point de montage change la donne mais je peux me tromper...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#10 Le 16/09/2020, à 13:42

iznobe

Re : Montage différent suivant la session démarré

Qid a écrit :

PS : pas sûr que de changer les droits du point de montage change la donne mais je peux me tromper...

en fait , il faut s ' orienter dans les options de montages nfs vers un truc du style :

anonuid=1000,anongid=1000

, en remplacant les 1000 par les id utilisateurs correspondants et les id groupes correspondants une fois crée , et bien sur creer un montage nfs pour chaque montage correspondant a un parametre de droit .
un exemple :

/media/NFS 192.168.0.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

ici on exporte dans tout le sous reseau local 192.168.0.XXX avec les droits de lecture et ecriture pour l ' utilisateur ayant l' id 1000 et le groupe correspondant au gid 1000 , mais si vous mettez juste une ip :
une ip = un export vers une seule machine ( ip fixe prealable sur le poste client ) ensuite ajustez le droits "r"  lecture , "w" ecriture , les utilisateurs "annonuid=xxx" , les groupes "annongid=xxx" et ca devrait etre bon .

doc , paragraphe 3.2.1 : https://doc.ubuntu-fr.org/nfs#installation


bien sur , il ne faut pas modifier les droits des fichiers / dossiers originaux , car ce n ' est pas ce que vous voulez faire ( et dans le /home/$user , c ' est plus que deconseillé ).

Apres la limite du NFS est atteinte en terme de droits , quand on veut par exemple qu ' un seul utilisateur puisse lire mais pas ecrire dans un dossier specifique , ou alors je ne connais pas la methode pour y parvenir , sans modifier les droits des fichiers / dossiers originaux .
Seule solution creer un export identique avec des droits differents .


Vous pouvez aussi " exportez " plusieurs fois le meme dossier , avec des ip differentes , et des droits differents ( notamment en terme de uid et gid ) et aussi n ' autoriser que la lecture dans un dossier , a ce moment là il faut creer un partage pour chaque utilisateur avec un droit different et une ip differente ( ou pas selon les besoins ).

le fichier /etc/exports n ' a qu ' à bien se tenir , mais avec un peu de logique et de methodologie , c ' est facilement faisable big_smile

surtout que vous avez dejà decrit les droits dont vous avez besoin dans un post precedent , il ne reste plus qu ' à retranscrire en langage NFS dans le fichier /etc/exports .

Dernière modification par iznobe (Le 16/09/2020, à 17:59)

Hors ligne

#11 Le 16/09/2020, à 17:04

Coeur Noir

Re : Montage différent suivant la session démarré

Dans un contexte de systèmes multi-utilisateurs et de plusieurs postes, savoir jongler avec les droits et permissions / les utilisateurs et groupes est vite utile - parfois amusant et parfois casse-tête ;-)

Je suppose que tu as déjà lu maintes fois les doc's droits et permissions. Il faut les lire. Maintes fois. Et les relire.

Il y a 2-3 trucs à savoir sur le comportement par défaut d'Ubuntu à ce sujet.

1⋅ quand un utilisateur est créé, un groupe au nom de cet utilisateur est également créé.
2⋅ le dossier perso de cet utilisateur a les droits rwxr-xr-x [ le dossier /home/cet_utilisateur ]

Ces comportements sont définis dans le fichier /etc/login.defs

3⋅ le premier utilisateur créé sur un système a toujours l'uid 1000, le second 1001, le troisième 1002, etc
4⋅ d'un système à l'autre ce qui compte, ce ne sont pas les noms en toutes lettres attribués aux utilisateurs et groupes mais leurs identifiants numériques ( uid et gid, pour user id et group id )
5⋅ il existe un groupe ( gid=100 ) qui regroupe déjà tous les utilisateurs.

Avec ça, on peut déjà organiser bien des choses :
⋅ en ajoutant des utilisateurs à des groupes : l'utilisateur 1003 peut très bien se trouver dans les groupes de 1000, 1001 et 1002 en plus du sien. Donc il pourra accéder en lecture à des dossiers appartenant à 1000, 1001 et 1002 en plus de ses propres dossiers.
⋅ partant de cet exemple ↑ si tu modifies les droits du groupe sur un dossier appartenant à 1001 ( de rwxr-xr-x à rwxrwxr-x ) alors l'utilisateur 1003 ( qui fait partie du groupe 1001 ) aura le droit de lire et écrire dans ce dossier.
⋅ rien n'empêche de créer des groupes avec des noms différents des utilisateurs ( genre : labo, compta, secretariat ) et mettre dans chacun de ses groupes les utilisateurs concernés.
⋅ l'idéal étant donc d'avoir les mêmes correspondances noms/uid et groupes/gid sur tous les postes d'un réseau.

Tu vois très vite qu'en grattant un peu les combinaisons sont très nombreuses.

Un autre truc qui peut être intéressant dans ce genre de contexte c'est le bit sgid ( via chmod g+s ) placé sur le groupe d'un dossier. Avec lui tout fichier créé dans ce dossier hérite des permissions du groupe de ce dossier.
Cékoicecharabia → normalement si l'utilisateur 1003 créé un fichier dans un dossier du groupe 1001, ce fichier appartient à 1001 et est attribué au groupe 1001. Bah avec le bit sgid sur le dossier contenant, ce fichier appartient toujours à 1003 ( créateur donc propriétaire ) MAIS attribué au groupe 1003 et héritant des mêmes permissions que le dossier contenant ( rwx dans ce cas ).

Ces infos là sont la base constitutive « unix », droits et permissions.

Droits avec lesquels tu peux jouer partout - y compris dans tes exports nfs comme le suggère iznobe.

Ah oui, rien ne t'interdit de modifier des droits dans des /home/$USER - l'important c'est que sous /home/$USER_machin l'utilisateur proprio des fichiers/dossiers reste toujours le $USER_machin en question.

Dernière modification par Coeur Noir (Aujourd'hui à 00:21)


DébuterDocBien rédigerRetour commandeInsérer image | mes albums <>

Hors ligne

#12 Hier à 23:23

iznobe

Re : Montage différent suivant la session démarré

dans la machine avec les 3 sessions , as tu bien les 3 users qui sont implantés ?

si oui ils ont chacun UID different .

A partir de là , il faut que tu crees si ce n ' est pas deja le cas , les utilisateurs avec le meme UID sur les machines " serveurs " ensuite il ne reste plus qu ' à mettre les bons droits dans les fichiers exports des machines .

tu peux creer des utilisateurs en leur attribuant un UID que tu determines ( voir ici :https://doc.ubuntu-fr.org/useradd#creat … mme_tarzan , si les utilisateurs sont deja crees , mais les UID ne correspondent pas sur la machine serveur avec le client ( celui qui monte le partage NFS ) alors jette un oeil ici .

tu creer un groupe administrateur , tu met  l' user admin dans ce groupe .
tu releves le GID de ce groupe , tu attribues les partages au GID correspondant qui ont besoin d' etre administrés avec l ' ip de la machine sur laquelle tu dois monté les 3 " sessions " reseaux .
ca c ' est pour la session admin seulement .

pour les autres sessions c ' est quasiement tout pareil , sauf le groupe admin a ne pas mettre bien sur .
Par securité , tu peux creer un repertoire parent , que tu partages pour la session admin , dans lequel tu places les sous dossiers contenant les partages , user standard avec chacun leur session a exporter .

Si il n ' est pas possible de creer un repertoir parent car c ' est des /home/$user , tu peux tres bien simplement partager le repertoire parent deja existant soit /home ( c ' est pas tres " "pro" pre " , mais bon ).

Pour te donner une solution plus pertinente , il faudrait qu ' on est plus d' infos , l ' arborescence des partages a mettre en place ainsi que les machines avec leurs utilisateurs correspondants sur serveur et sur client , sans plus de detail ca va etre compliqué de te mettre sur une piste vraiment fiable .
A +

Dernière modification par iznobe (Hier à 23:36)

Hors ligne