web-dev-qa-db-fra.com

Comment monter une partition à partir d'un ordinateur distant sans droits Sudo

Je souhaite que les utilisateurs de mon groupe qui ne disposent pas des droits Sudo puissent monter une partition située sur un ordinateur distant. Imaginons qu'un utilisateur ait un compte sur plusieurs ordinateurs mais qu'une grande quantité de données repose sur le disque dur d'un ordinateur particulier.

Est-il possible de monter cette partition sur son ordinateur actuel? De plus, aucun droit Sudo ne doit être attribué à l'utilisateur.

Puis-je créer dans /etc/fstab une entrée qui monte automatiquement la partition distante au cas où un utilisateur spécifique se connecte à l'ordinateur?

2
mcExchange

Le plus simple serait d’utiliser un partage NFS (sur la machine "serveur") et l’automounter (autofs) sur les "clients".

Je suppose que NFS est installé sur le serveur et le client selon le premier commentaire de Dorian.

Disons que la partition à partager est sur/mydata, ajoutez une entrée au fichier/etc/exports sur votre serveur:

/mydata     *(rw,sync,no_subtree_check)

(les options dépendent de vos besoins). Après avoir appelé Sudo exportfs -a, la partition doit être exportée (test avec showmount -e). Idem devrait être vrai après chaque redémarrage du serveur.

Sur chaque client, installez autofs:

Sudo apt-get install autofs

Editez le fichier /etc/auto.master pour enlever le signe de commentaire de la ligne pour/net:

#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
#/misc  /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#   "nosuid" and "nodev" options unless the "suid" and "dev"
#   options are explicitly given.
#
/net    -hosts

Après avoir redémarré le service autofs (Sudo service autofs restart), vous devriez pouvoir accéder au (x) système (s) de fichiers exporté (s) via

/net/<servername_or_ip>/<exportname>

Par exemple, si le nom de votre serveur est "myserver" et que le système de fichiers exporté est "/ mydata", vous pouvez entrer

ls /net/myserver/mydata

pour voir le contenu du répertoire.

Avoir une entrée statique dans/etc/fstab présente quelques avantages:

  • Le partage NFS est uniquement monté lors de l'accès et sera démonté après un certain temps d'inactivité. Cela économise beaucoup de ressources et de bande passante réseau.
  • Si vous ajoutez un deuxième partage sur votre serveur (par exemple, "/ myotherdata"), vous ne devez ajouter aucune entrée sur le client. Il suffit d’accéder au chemin /net/myserver/myotherdata
  • Si vous ajoutez un deuxième serveur avec un autre partage (par exemple, "/ moredata" sur "secondserver"), le chemin sera /net/secondserver/moredata sans aucune action sur le client.
  • Vous pouvez utiliser le même chemin (/ net/...) sur chaque client, même sur le serveur lui-même, si vous avez installé et configuré autofs sur le serveur.

Si vous ne voulez pas toujours entrer/net/...., ajoutez simplement un lien dans, par exemple. votre répertoire personnel:

ln -s /net/myserver/mydata .

mise en garde:

NFS correspond aux utilisateurs/groupes via l'UID/GID. Ainsi, le "même" utilisateur doit avoir le même UID sur tous les ordinateurs, ce qui est également vrai pour les groupes (GID). Sinon, les droits d'accès sont mutilés/corrompus. Il n'y a pas de problème si vous avez une gestion centralisée des utilisateurs.

2
ridgy