J'ai une installation FreeNAS 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 lister ou de créer des fichiers.
Mon intention était de fournir un partage où le compte FreeNAS john
dispose de tous les droits et les comptes barbara
et mark
ont un accès en lecture seule. Cependant, les autorisations du partage monté ne me permettent même pas de répertorier le répertoire, encore moins de créer ou de lire des fichiers.
Est-ce que je fais quelque chose de mal en montant le partage?
Je vais essayer de fournir plus d'informations ci-dessous.
J'ai configuré mon FreeNAS conformément aux instructions trouvées ici . Le stockage résultant a des permisssions comme indiqué 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 marche 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 le propriétaire de /mnt/tunes
ci-dessus. Il est sur le point de changer, mais je ne sais pas si cela 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
1001
est l'ID utilisateur pour john
sur mon FreeNAS et 1003
est le gid pour users
. john
devrait 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?
écrivez le montage (/ etc/fstab dans ce cas) avec le paramètre noperm pour indiquer au client local d’ignorer les vérifications d’autorisation. Ça ressemble à ça (ça marche pour moi, alors que j'avais ignoré les droits de permission 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
Vous devez ajouter des options pour forcer l'uid et le gid aux valeurs souhaitées sur votre ordinateur 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.
Cela fonctionne bien pour moi:
N'oubliez pas que sous Unix, les utilisateurs ont besoin du jeu d'autorisations exécutable pour les répertoires dont ils ont besoin pour traverse.