Eu tenho uma instalação do FreeNAS em execução no VirtualBox. Quando tento montar um dos meus compartilhamentos do FreeNAS no Ubuntu 12.10, as permissões no compartilhamento me impedem de entrar no diretório, listar ou criar arquivos.
Minha intenção era fornecer um compartilhamento em que a john
conta do FreeNAS tenha autoridade total e as contas barbara
e mark
tenham acesso somente leitura. No entanto, as permissões do compartilhamento montado me impedem de listar o diretório, sem falar em criar ou ler qualquer arquivo lá.
Estou fazendo algo errado ao montar o compartilhamento?
Vou tentar fornecer mais informações abaixo.
Configurei meu FreeNAS de acordo com as instruções encontradas aqui . O armazenamento resultante possui permissões, como mostrado aqui:
(Eu sei que preciso ajustar as permissões de gravação para o grupo.)
No Windows7, não tenho problemas para montar o compartilhamento:
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
No entanto, tentar fazer o mesmo no Ubuntu não funciona tão bem:
[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
Observe as permissões e o proprietário /mnt/tunes
acima. Está prestes a mudar, embora eu não saiba se isso é esperado / correto.
[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
é o uid john
no meu FreeNAS e 1003
é o gid por users
lá. john
deve ter acesso total.
[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 $
O que eu estou fazendo errado aqui?
fonte
Respostas:
escreva o mount (/ etc / fstab neste caso) com o parâmetro noperm para instruir o cliente local a ignorar as verificações de permissão. É assim (funciona para mim, uma vez que eu tinha ignorado os direitos de permissão local)
fonte
Você precisa adicionar opções para forçar o uid e o gid aos valores desejados em sua máquina cliente, em vez dos valores do servidor. Isso pode ser feito adicionando as opções
ao seu comando de montagem.
fonte
fstab
- o ponto de montagem localmente deve ter o usuário local de acesso uid e gid atribuído. As permissões no NAS são secundárias, desde que a combinação correta de usuário / passe para o compartilhamento seja apresentada durante a montagem.Isto funciona bem para mim:
Lembre-se de que, no Unix, os usuários precisam da permissão executável definida para os diretórios que precisam atravessar .
fonte
O FreeNAS é baseado em unix e você deseja montá-lo em uma máquina Linux.
Eu acho que você precisa montá-lo com NFS, porque isso também é baseado em Linux, Unix, em vez de CIFS, que foi escrito para máquinas Windows.
fonte