web-dev-qa-db-fra.com

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

Existe-t-il un didacticiel pas à pas qui explique en détail comment installer un partage Samba à utiliser par un utilisateur non root sur un poste de travail Ubuntu 10.04?

Remarque: sur la recherche Google, de nombreux sujets traitent de ce problème apparemment nouveau. Les instructions qui fonctionnaient auparavant avec Ubuntu 8.04 (ou une version antérieure de smbfs) ne fonctionnent plus.

Je dois trouver quelque chose qui soit à jour et reproductible.

14
Android Eve

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 pour presque toutes les applications simplement via un point de montage de votre maison.

Comment utiliser SMBnetFS:

  • Installez le paquet via votre gestionnaire de paquets
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf copie 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’ya que peu de documentation disponible. Voir man smbnetfs pour les options et parcourir le fichier FAQ dans /usr/share/doc/smbnetfs.

13
Takkat

Lorsque vous utilisez gnome, vous pouvez simplement taper l'URL smb: // dans Nautilus. Normalement, gvfs-Fuse et les autres packages gvfs doivent être installés, afin de pouvoir monter samba directement avec le navigateur de fichiers. De plus, vous devriez trouver tous les fichiers 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é.

7
matthias.lukaszek

man mount vous aidera à déterminer les options que vous souhaitez. Si le système Windows sera toujours disponible. Vous pouvez simplement ajouter le montage au /etc/fstab et il sera monté. Vous pouvez autoriser l'utilisateur à monter et démonter la partition selon les besoins à l'aide des options user,noauto. Pour permettre aux autres de le démonter, remplacez user par users.

Autofs prend également en charge les montages à la demande utilisant samba. L'incantation dépend des répertoires que vous voulez 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 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 sous la forme /net/$Host/$USER pour mes montages. Autofs est configuré pour la partie /net/$Host du montage et monte automatiquement les répertoires situés en dessous, si nécessaire.

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

Pour les grandes organisations comptant de nombreux utilisateurs, il peut être judicieux de déplacer les répertoires sur 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.

2
BillThor

J'ai trouvé cette question en faisant des recherches sur la magie que j'ai récemment exécutée pour le faire exactement 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 ae et que votre domicile est /home/ae

1) Configurer les smbfs:
mkdir /home/ae/.smb

1a) Si des informations d’identification Windows sont nécessaires, créez et éditez le fichier: /home/ae/.smb/smbnetfs.conf pour en avoir le contenu:

auth winuser "winpassword"

winuser est l'utilisateur créé sur l'ordinateur Windows auquel vous souhaitez accéder. winpassword est 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 l'intégralité du "voisinage réseau" apparaît sous /home/ae/nethood, les groupes de travail constituant 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é changés en ae. Sudo n'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 en 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

Parcourez 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

Modifiez le répertoire sur 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 ont la propriété 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, la propriété ou les autorisations de ce dossier. Si votre utilisateur peut "écrire" dans ce dossier (et qu'il est vide), smbnetfs montera le voisinage réseau à cet endroit et n'autorisera l'accès à personne, même à root. Pour que root puisse y accéder, 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, le message d'erreur suivant peut s'afficher:
ls: cannot open directory .: Input/output error

0
Chris K