Autorizzazioni della condivisione cifs montata (condivisa da FreeNAS)


9

Ho un'installazione di FreeNAS in esecuzione su VirtualBox. Quando provo a montare una delle mie condivisioni FreeNAS in Ubuntu 12.10, le autorizzazioni sulla condivisione mi impediscono di accedere alla directory, elencare o creare file.

La mia intenzione era quella di fornire una condivisione in cui l' johnaccount FreeNAS ha piena autorità e gli account barbarae markhanno accesso in sola lettura. Tuttavia, le autorizzazioni della condivisione montata mi impediscono persino di elencare la directory, per non parlare di creare o leggere qualsiasi file lì.

Sto facendo qualcosa di sbagliato durante il montaggio della condivisione?

Proverò a fornire ulteriori informazioni di seguito.

Ho impostato il mio FreeNAS secondo le istruzioni trovate qui . La memoria risultante ha permessi come mostrato qui:

inserisci qui la descrizione dell'immagine

(So ​​che devo modificare i permessi di scrittura per il gruppo.)

Sotto Windows7, non ho problemi a montare la condivisione:

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

Tuttavia, anche il tentativo di fare lo stesso con Ubuntu non funziona:

[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

Nota le autorizzazioni e il proprietario di cui /mnt/tunessopra. Sta per cambiare, anche se non so se è previsto / corretto.

[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è l'ideale per johnil mio FreeNAS ed 1003è l'ideale per userslì. johndovrebbe avere pieno accesso.

[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 $ 

Cosa sto facendo di sbagliato qui?


Nota che mi sento a mio agio con Linux, ma non sono affatto un esperto. C'è molto che non conosco di autorizzazioni, condivisioni, ecc.
John Dibling

Potrebbe essere necessario passare le credenziali CIFS nella chiamata di montaggio (è da un po 'che non lavoro con i montaggi CIFS) ma controlla questo link askubuntu.com/questions/72471/…
rtmie

se provi come super utente puoi elencarlo? copia ? rm?
codeScriber

@ John Dibling Perché non creare una condivisione CIFS e una condivisione NFS nella stessa directory? Quindi puoi impostare le autorizzazioni per gruppi specifici e aggiungere John al gruppo scrivibile e Barbara e Mark al gruppo di sola lettura?
BsdHelper,

@BsdHelper: suppongo che funzionerebbe per i client * nix, ma Windows non parla NFS e avrei bisogno di accesso in lettura / scrittura da qualsiasi parte del mondo. Da quando ho pubblicato questa domanda ho completamente abbandonato FreeNAS e adottato un approccio fai-da-te. Ora ho un server Linux che esegue un array raid 5 da 5 TB con le autorizzazioni corrette impostate ovunque. Si scopre che non avevo bisogno di FreeNAS. Grazie per il tuo suggerimento
John Dibling,

Risposte:


2

scrivere mount (/ etc / fstab in questo caso) con il parametro noperm per indicare ai client locali di ignorare i controlli delle autorizzazioni. Sembra così (funziona per me, dopo aver ignorato i diritti di autorizzazione locali)

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

1

È necessario aggiungere opzioni per forzare uid e gid ai valori desiderati sul computer client anziché ai valori del server. Questo può essere fatto aggiungendo le opzioni

uid=xxxx forceuid gid=xxxx forceguid

al tuo comando mount.


Questo è ciò che ho sperimentato durante il montaggio di una condivisione cifs sulla mia macchina fstab - al mount point locale deve essere assegnato l'utente locale uid e gid che accede. Le autorizzazioni sul NAS sono secondarie fintanto che al momento del montaggio viene presentato il combo utente / pass corretto per la condivisione.
douggro,

0

Questo funziona bene per me:

  • accesso in scrittura per un utente specifico
  • accesso in lettura per tutti gli altri utenti tramite account ospite

Ricorda che su Unix, gli utenti hanno bisogno del set di autorizzazioni eseguibili per le directory che devono attraversare .


-1

FreeNAS è basato su unix e vuoi montarlo su una macchina linux.

Penso che sia necessario montarlo con NFS perché è anche Linux, basato su Unix, invece di CIFS che è stato scritto per macchine Windows.

sudo mount -t nfs //192.168.1.20/Tunes /mnt/tunes -o user=john

Sei sicuro di questo? Questa è una condivisione CIFS sul lato FreeNAS ed è pensata per essere utilizzata da macchine Windows e Linux.
John Dibling

Sono sicuro che funzionerà? No, ma potresti provare .. Sì, freeNAS funzionerà anche su Windows .. Ma guarda la tua foto della scheda dei permessi, ti dà la scelta tra unix e windows. Con unix selezionato, perché non utilizzare il protocollo di montaggio standard per unix
Bart.a

L'immagine che ho pubblicato fa riferimento a una selezione tra Windows e Linux ACL . È ancora una condivisione CIFS.
John Dibling

Questo non è vero . Se si tratta di una condivisione CIFS / Samba, tentare di montarla come una condivisione NFS non farà nulla. Linux ha davvero client per montare questo tipo di condivisione.
esmail
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.