Comment monter le partage Samba en tant qu'utilisateur non root

14

Existe-t-il un didacticiel étape par étape qui explique en détail comment monter un partage Samba à utiliser par un utilisateur non root sur un bureau Ubuntu 10.04?

Remarque: il existe de nombreux sujets sur la recherche Google traitant de ce problème apparemment nouveau. Les instructions qui fonctionnaient auparavant sur Ubuntu 8.04 (ou une ancienne version de smbfs) ne fonctionnent plus.

J'ai besoin de trouver quelque chose qui soit à jour et reproductible.

Android Eve
la source

Réponses:

13

Un très bel outil pour monter facilement vos partages samba dans votre dossier personnel est SMBNetFS . Avec cet outil, vous pouvez accéder à vos partages samba par presque toutes les applications simplement via un point de montage dans votre maison.

Comment utiliser SMBnetFS:

  • Installez le package via votre gestionnaire de packages
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf copier la configuration standard
  • cp /etc/samba/smb.conf ~/.smb/smb.conf copier la configuration de samba
  • mkdir ~/sambashare ou tout autre nom pour le point de montage
  • smbnetfs ~/sambashare monter les partages sur le point de montage

Malheureusement, il n'y a que peu de documentation disponible. Voir man smbnetfspour les options et parcourir le fichier FAQ dans /usr/share/doc/smbnetfs.

Takkat
la source
+1 pour les étapes détaillées. J'espère que cela fonctionne avec Eclipse, car avec gvfs, Eclipse ne fonctionne définitivement pas. Savez-vous par hasard en quoi SMBnetFS est différent des smbfs?
Android Eve
2
SMBNetFS utilise un fusible. Assurez-vous que les utilisateurs sont dans le fusegroupe.
Takkat
+1 à nouveau! Gfvs n'utilise-t-il pas également FUSE? En quoi est-ce différent de ce que j'ai déjà préemballé (gvfs) avec mon bureau GNOME?
Android Eve
8

Lorsque vous utilisez gnome, vous pouvez simplement taper l'URL smb: // dans Nautilus. Normalement, gvfs-fuse et d'autres packages gvfs doivent être installés, afin que vous puissiez monter samba directement avec le navigateur de fichiers. De plus, vous devriez trouver tous les éléments montés dans votre dossier ~ / .gvfs. Cela fonctionne même avec d'autres protocoles et fichiers compressés, etc.

gvfs-mount smb://user@server/storage

Je l'ai testé avec eclipse et d'autres outils et cela fonctionne. gvfs-fuse doit être installé.

matthias.lukaszek
la source
Merci mais Eclipse ne fonctionnera pas avec ça. J'ai déjà essayé cela, c'est pourquoi je posais une question spécifique sur smbmount (un lien symbolique vers mount.cifs qui fait partie du paquet smbfs).
Android Eve
2
Eclipse ne peut donc pas accéder à .gvfs dans votre répertoire personnel? Autant que je sache, tous les programmes devraient pouvoir le faire. Corrige moi si je me trompe.
matthias.lukaszek
2

man mountvous aidera à déterminer les options que vous souhaitez. Si le système Windows sera toujours disponible. Vous pouvez simplement ajouter le support au /etc/fstabet il sera monté. Vous pouvez autoriser l'utilisateur à monter et démonter la partition comme requis à l'aide des options user,noauto. Pour permettre aux autres de le démonter, changez useren users.

Autofs prend également en charge les montages à la demande à l'aide de samba. L'incantation dépend des répertoires que vous souhaitez monter quand. Je l'ai exécuté avec succès dans un environnement de développement.

EDIT: Si vous avez besoin de faire cela pour beaucoup d'utilisateurs, je suggère d'utiliser des autofs pour faire le montage. Cela ne nécessite aucune modification de fstab. L'obtention des informations d'identification pour les différents utilisateurs peut être un problème. J'utilise une structure de répertoire dans le formulaire /net/$HOST/$USERpour mes montures. Autofs est configuré pour la /net/$HOSTpartie du montage et monte automatiquement les répertoires en dessous selon les besoins.

Des approches de montage particulières dépendent de vos besoins. J'ai eu des cas où les utilisateurs avaient besoin que leur répertoire Desktop soit monté sur le serveur, bien que les montages typiques soient basés sur le serveur.

Pour une grande organisation avec beaucoup d'utilisateurs, il peut être judicieux de déplacer les répertoires vers un serveur Linux et d'utiliser Samba pour partager les fichiers avec les utilisateurs Windows. Je n'ai pas essayé l'inverse, mais c'est peut-être possible.

BillThor
la source
Cela fonctionne, mais vous avez besoin d'un accès root pour modifier fstab. Même s'ils sont root, notez qu'il est assez peu pratique si vous devez le faire pour de nombreux utilisateurs, chacun avec un partage spécifique à monter (comme dans une grande organisation où chaque utilisateur a un partage personnel dans un serveur de fichiers centralisé).
0

J'ai trouvé cette question en recherchant la magie que j'ai effectuée récemment pour faire exactement cela pour l'un de mes utilisateurs. Mon flux de travail diffère remarquablement des autres réponses. Notez cependant qu'il s'agit du cas le plus simple possible.

En supposant que votre nom d'utilisateur est aeet que votre domicile est/home/ae

1) Configurez smbfs:
mkdir /home/ae/.smb

1a) Si des informations d'identification de connexion Windows sont nécessaires, créez et modifiez le fichier: /home/ae/.smb/smbnetfs.confpour avoir le contenu:

auth winuser "winpassword"

winuserest l'utilisateur créé sur l'ordinateur Windows auquel vous souhaitez accéder. winpasswordest le mot de passe de cet utilisateur pour se connecter à Windows sur cet ordinateur.

2) Créez votre point de montage:
mkdir /home/ae/nethood

3) Exécutez la commande smbnetfs:
smbnetfs /home/ae/nethood


Notez que tout le "voisinage réseau" apparaîtra sous /home/ae/nethoodavec les groupes de travail étant la première couche de sous-répertoires.

Toutes les listes ci-dessous ont été copiées à partir de ma navigation dans les dossiers en tant qu'utilisateur non privilégié sur un hôte Ubuntu. Le nom d'utilisateur et le groupe ont été remplacés par ae. sudon'a jamais été utilisé. Les ordinateurs Windows sont sur un réseau Windows informel et les dossiers partagés sont protégés par un utilisateur / mot de passe (sur l'ordinateur Windows utilisant le nom d'utilisateur et le mot de passe Windows).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

Parcourir le groupe de travail WORKGROUP:

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

Remplacez le répertoire par les ordinateurs et tous les dossiers partagés seront répertoriés et accessibles normalement.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

Et les fichiers:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

Notez que les répertoires ci-dessus sont propriétaires root root. La propriété du fichier sera la même que celle de votre utilisateur.

Aucun autre utilisateur ne pourra accéder aux dossiers quel que soit le point de montage ou la propriété ou les autorisations de ce dossier. Si votre utilisateur peut "écrire" dans ce dossier (et il est vide), smbnetfs y montera le voisinage réseau et n'autorisera même personne d'autre à y accéder root. Pour rooty avoir accès, vous devez su ae.


S'il n'y a pas de dossiers partagés, le répertoire de l'ordinateur sera vide.

Si vous ne disposez pas d'informations d'identification sur l'ordinateur Windows, vous pouvez obtenir l'erreur:
ls: cannot open directory .: Input/output error

Chris K
la source