Autorisations du partage de cifs montés (partagé depuis FreeNAS)

9

J'ai une installation FreeNAS fonctionnant sous VirtualBox. Lorsque j'essaie de monter l'un de mes partages FreeNAS dans Ubuntu 12.10, les autorisations sur le partage m'empêchent d'entrer dans le répertoire, de répertorier ou de créer des fichiers.

Mon intention était de fournir un partage où le johncompte FreeNAS a les pleins pouvoirs et les comptes barbaraet markont un accès en lecture seule. Cependant, les autorisations du partage monté m'empêchent même de répertorier le répertoire, et encore moins de créer ou de lire des fichiers là-bas.

Suis-je en train de faire quelque chose de mal lors du montage du partage?

J'essaierai de fournir plus d'informations ci-dessous.

J'ai configuré mon FreeNAS selon les instructions trouvées ici . Le stockage résultant a des autorisations comme indiqué ici:

entrez la description de l'image ici

(Je sais que je dois modifier les autorisations d'écriture pour le groupe.)

Sous Windows7, je n'ai aucun problème à monter le partage:

C:\Users\John>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Orion
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : dibnatri.net


Wireless LAN adapter Wireless Network Connection:

   Connection-specific DNS Suffix  . : dibnatri.net
   Description . . . . . . . . . . . : Intel(R) Centrino(R) Wireless-N 1030
   Physical Address. . . . . . . . . : [redacted]
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.1.100(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Tuesday, May 14, 2013 6:47:24 AM
   Lease Expires . . . . . . . . . . : Friday, June 20, 2149 1:24:02 PM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : dibnatri.net
   Description . . . . . . . . . . . : Realtek PCIe FE Family Controller
   Physical Address. . . . . . . . . : [redacted]
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

  [snip]

C:\Users\John>net use
New connections will be remembered.

There are no entries in the list.


C:\Users\John>net use y: /user:john \\192.168.1.20\Tunes
The password is invalid for \\192.168.1.20\Tunes.

Enter the password for 'john' to connect to '192.168.1.20':
The command completed successfully.

Y:\>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           Y:        \\192.168.1.20\Tunes      Microsoft Windows Network
The command completed successfully.


C:\Users\John>y:

Y:\>dir
 Volume in drive Y is Tunes
 Volume Serial Number is 1D20-98EC

 Directory of Y:\

05/14/2013  06:54 AM    <DIR>          .
05/13/2013  02:58 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  6,131,715,282,944 bytes free

Y:\>copy con test1
sss
^Z
        1 file(s) copied.

Y:\>dir
 Volume in drive Y is Tunes
 Volume Serial Number is 1D20-98EC

 Directory of Y:\

05/14/2013  06:56 AM    <DIR>          .
05/13/2013  02:58 PM    <DIR>          ..
05/14/2013  06:56 AM                 5 test1
               1 File(s)              5 bytes
               2 Dir(s)  6,131,715,447,808 bytes free

Y:\>type test1
sss

Cependant, essayer de faire la même chose sous Ubuntu ne fonctionne pas aussi bien:

[johnd:~] $ ifconfig
eth0      Link encap:Ethernet  HWaddr [redacted]  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:215 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:20073 (20.0 KB)  TX bytes:20073 (20.0 KB)

wlan0     Link encap:Ethernet  HWaddr [redacted]  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::4e80:93ff:fe0c:f3a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1669164 (1.6 MB)  TX bytes:761260 (761.2 KB)

[johnd:~] $ sudo mount -l
[sudo] password for johnd: 
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda6 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfsd-fuse on /run/user/johnd/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=johnd)
[johnd:~] $ ls /mnt/
[johnd:~] $ sudo mkdir /mnt/tunes
[johnd:~] $ ls -l /mnt/
total 4 
drwxr-xr-x 2 root root 4096 May 14 07:04 tunes
[johnd:~] $ ls -l /mnt/
total 4
drwxr-xr-x 2 root root 4096 May 14 07:04 tunes

Notez les autorisations et propriétaire /mnt/tunesci - dessus. Il est sur le point de changer, mais je ne sais pas si c'est prévu / correct.

[johnd:~] $ sudo mount -t cifs //192.168.1.20/Tunes /mnt/tunes -o rw,user=john
Password: 
[johnd:~] $ ls -l /mnt/
total 0
drwxrwx--- 2 1001 1003 0 May 14 06:56 tunes

1001est l'uid pour johnsur mon FreeNAS, et 1003est le gid pour userslà-bas. johndevrait avoir un accès complet.

[johnd:~] 1 $ ll /mnt/tunes
ls: cannot open directory /mnt/tunes: Permission denied
[johnd:~] 1 $ cat>/mnt/tunes/test2
bash: /mnt/tunes/test2: Permission denied
[johnd:~] 2 $ 

Qu'est-ce que je fais mal ici?

John Dibling
la source
Notez que je suis à l'aise sous Linux, mais je ne suis en aucun cas un expert. Il y a beaucoup de choses que je ne sais pas sur les autorisations, les partages, etc.
John Dibling
Vous devrez peut-être passer les informations d'identification CIFS dans l'appel de montage (cela fait un moment que je n'ai pas travaillé avec les montures CIFS), mais consultez ce lien askubuntu.com/questions/72471/…
rtmie
si vous essayez en tant que super utilisateur pouvez-vous lister? copie ? rm?
codeScriber
@John Dibling Pourquoi ne pas créer un partage CIFS et un partage NFS sur le même répertoire? Ensuite, vous pouvez définir des autorisations pour des groupes spécifiques et ajouter John au groupe accessible en écriture et Barbara et Mark au groupe en lecture seule?
BsdHelper
@BsdHelper: Je suppose que cela fonctionnerait pour les clients * nix, mais Windows ne parle pas NFS et j'aurais besoin d'un accès en lecture / écriture de n'importe où dans le monde. Depuis que j'ai posté cette question, j'ai complètement abandonné FreeNAS et j'ai adopté une approche de bricolage. J'ai maintenant un serveur Linux exécutant un tableau RAID 5 To 5 avec les autorisations correctes définies partout. Il s'avère que je n'avais pas du tout besoin de FreeNAS. Merci pour votre suggestion.
John Dibling

Réponses:

2

écrire le montage (/ etc / fstab dans ce cas) avec le paramètre noperm pour demander au client local d'ignorer les vérifications d'autorisation. Il ressemble à ceci (fonctionne pour moi, une fois que j'avais ignoré les droits d'autorisation locaux)

//remote-ip/share /local-path/dir/ cifs  credentials=/your-credential-file,iocharset=utf8,uid=local-user-uid,gid=local-group-id,**noperm** 0 0
palo73
la source
1

Vous devez ajouter des options pour forcer l'uid et le gid aux valeurs souhaitées sur votre machine client au lieu des valeurs du serveur. Cela peut être fait en ajoutant les options

uid=xxxx forceuid gid=xxxx forceguid

à votre commande de montage.

Requist
la source
C'est ce que j'ai vécu lors du montage d'un partage cifs sur ma machine fstab - le point de montage local doit avoir l'attribut uid et gid de l'utilisateur local. Les autorisations sur le NAS sont secondaires tant que le combo utilisateur / passe correct pour le partage est présenté lors du montage.
douggro
0

Cela fonctionne bien pour moi:

  • accès en écriture pour un utilisateur spécifique
  • accès en lecture pour tous les autres utilisateurs via le compte invité

N'oubliez pas que sous Unix, les utilisateurs ont besoin du jeu d'autorisations exécutable pour les répertoires qu'ils doivent parcourir .

Jan-Philip Gehrcke
la source
-1

FreeNAS est basé sur Unix, et vous souhaitez le monter sur une machine Linux.

Je pense que vous devez le monter avec NFS car c'est aussi Linux, basé sur Unix, au lieu de CIFS qui a été écrit pour les machines Windows.

sudo mount -t nfs //192.168.1.20/Tunes /mnt/tunes -o user=john
Bart.a
la source
Êtes-vous sûr de cela? Il s'agit d'un partage CIFS du côté FreeNAS, et est destiné à être utilisé par les machines Windows et Linux.
John Dibling
Suis-je sûr que cela fonctionnera? Non, mais vous pouvez essayer .. Oui, le freeNAS fonctionnera aussi sur Windows .. Mais regardez votre propre image de l'onglet permissions, cela vous donne le choix entre unix et windows. Avec unix sélectionné, pourquoi ne pas utiliser le protocole de montage standard pour unix
Bart.a
L'image que j'ai publiée fait référence à une sélection entre Windows et Linux ACL . Il s'agit toujours d'une part CIFS.
John Dibling
Ce n'est pas vrai . S'il s'agit d'un partage CIFS / Samba, tenter de le monter en tant que partage NFS ne fera rien. Linux a en effet des clients pour monter ce type de partage.
esmail