Uprawnienia udziału zamontowanego cifs (współdzielone z FreeNAS)

9

Mam instalację FreeNAS działającą pod VirtualBox. Kiedy próbuję zamontować jeden z moich udziałów FreeNAS w systemie Ubuntu 12.10, uprawnienia do udziału uniemożliwiają mi wchodzenie do katalogu, wyświetlanie lub tworzenie plików.

Moim zamiarem było udostępnienie udziału, w którym johnkonto FreeNAS ma pełne uprawnienia, barbaraa markkonta i mają dostęp tylko do odczytu. Jednak uprawnienia zamontowanego udziału nie pozwalają mi nawet na wyświetlenie katalogu, nie mówiąc już o tworzeniu lub odczytywaniu tam plików.

Czy robię coś złego podczas montowania udziału?

Spróbuję podać więcej informacji poniżej.

Skonfigurowałem mój FreeNAS zgodnie z instrukcjami tutaj . Wynikowe miejsce do przechowywania ma uprawnienia, jak pokazano tutaj:

wprowadź opis zdjęcia tutaj

(Wiem, że muszę dostosować uprawnienia do zapisu dla grupy).

Pod Windows7 nie mam problemów z zamontowaniem udziału:

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

Jednak próba zrobienia tego samego w Ubuntu nie działa tak dobrze:

[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

Zwróć uwagę na uprawnienia i właściciela /mnt/tuneswyżej. To się wkrótce zmieni, choć nie wiem, czy jest to oczekiwane / prawidłowe.

[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

1001jest identyfikatorem UID johnw moim FreeNAS i 1003jest userstam. johnpowinien mieć pełny dostęp.

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

Co robię tutaj źle?

John Dibling
źródło
Pamiętaj, że czuję się dobrze w Linuksie, ale w żadnym wypadku nie jestem ekspertem. Wiele nie wiem na temat uprawnień, udziałów itp.
John Dibling
Może być konieczne przekazanie poświadczeń CIFS w wywołaniu montowania (minęło trochę czasu, odkąd pracowałem z montażami
rtmie
jeśli spróbujesz jako superużytkownik, czy możesz wymienić Kopiuj ? rm?
codeScriber
@John Dibling Dlaczego nie utworzyć udziału CIFS i udziału NFS w tym samym katalogu? Następnie możesz ustawić uprawnienia dla określonych grup i dodać Johna do grupy do zapisu, a Barbarę i Marka do grupy tylko do odczytu?
BsdHelper,
@BsdHelper: Przypuszczam, że to działałoby dla klientów * nix, ale Windows nie mówi NFS i potrzebowałbym dostępu do odczytu / zapisu z dowolnego miejsca na świecie. Od kiedy opublikowałem to pytanie, całkowicie zrezygnowałem z FreeNAS i podjąłem samodzielne podejście. Mam teraz serwer linuksowy z macierzą RAID 5 5 TB z wszędzie ustawionymi prawidłowymi uprawnieniami. Okazuje się, że w ogóle nie potrzebowałem FreeNAS. Dzięki za Twoją sugestię.
John Dibling,

Odpowiedzi:

2

napisz mount (w tym przypadku / etc / fstab) z parametrem noperm , aby poinstruować lokalnego klienta, aby ignorował sprawdzanie uprawnień. Wygląda to tak (działa dla mnie, ale zignorowałem lokalne uprawnienia)

//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
źródło
1

Musisz dodać opcje, aby wymusić identyfikator UID i GID na wartościach, które chcesz na komputerze klienckim, zamiast wartości na serwerze. Można to zrobić, dodając opcje

uid=xxxx forceuid gid=xxxx forceguid

do twojego polecenia mount.

Wymagać
źródło
Właśnie tego doświadczyłem podczas montowania udziału cifs na mojej maszynie fstab - punkt montowania lokalnie musi mieć przypisany identyfikator użytkownika i identyfikator użytkownika lokalnego dostępu. Uprawnienia na serwerze NAS są drugorzędne, o ile podczas montażu wyświetlana jest poprawna kombinacja użytkownika / hasła dla udziału.
douggro
0

Działa to dla mnie dobrze:

  • dostęp do zapisu dla jednego określonego użytkownika
  • dostęp do odczytu dla wszystkich innych użytkowników za pośrednictwem konta gościa

Pamiętaj, że w systemie Unix użytkownicy potrzebują zestawu uprawnień do wykonywania dla katalogów, które muszą przechodzić .

Jan-Philip Gehrcke
źródło
-1

FreeNAS jest oparty na Uniksie i chcesz go zamontować na komputerze z systemem Linux.

Myślę, że musisz zamontować go za pomocą NFS, ponieważ jest to również oparte na systemie Linux, uniksowym, zamiast CIFS, który został napisany dla maszyn z systemem Windows.

sudo mount -t nfs //192.168.1.20/Tunes /mnt/tunes -o user=john
Bart.a
źródło
Jesteś pewien? Jest to udział CIFS po stronie FreeNAS i jest przeznaczony do użytku zarówno przez komputery z systemem Windows, jak i Linux.
John Dibling
Czy jestem pewien, że to zadziała? Nie, ale możesz spróbować .. Tak, freeNAS również będzie działał na Windowsie. Ale spójrz na swoje własne zdjęcie karty uprawnień, daje wybór między Unixem a Windows. Po wybraniu
unixa,
Zdjęcie, które opublikowałem, odnosi się do wyboru między listą ACL systemu Windows i Linux . Jest to nadal udział CIFS.
John Dibling
To nie jest prawda . Jeśli jest to udział CIFS / Samba, próba zamontowania go jako udziału NFS nic nie da. Linux rzeczywiście ma klientów do montowania tego typu udziałów.
esmail