Berechtigungen für gemountete cifs-Freigaben (freigegeben von FreeNAS)


9

Ich habe eine FreeNAS-Installation unter VirtualBox. Wenn ich versuche, eine meiner FreeNAS-Freigaben in Ubuntu 12.10 bereitzustellen, verhindern Berechtigungen für die Freigabe, dass ich das Verzeichnis betrete, Dateien aufliste oder Dateien erstelle.

Meine Absicht war es, eine Freigabe bereitzustellen, bei der das FreeNAS- johnKonto die volle Berechtigung hat und die Konten barbaraund marknur schreibgeschützt sind. Die Berechtigungen der gemounteten Freigabe haben mich jedoch daran gehindert, das Verzeichnis überhaupt aufzulisten, geschweige denn dort Dateien zu erstellen oder zu lesen.

Mache ich beim Mounten der Freigabe etwas falsch?

Ich werde versuchen, unten weitere Informationen bereitzustellen.

Ich habe mein FreeNAS gemäß den Anweisungen hier eingerichtet . Der resultierende Speicher hat die hier gezeigten Berechtigungen:

Geben Sie hier die Bildbeschreibung ein

(Ich weiß, dass ich die Schreibberechtigungen für die Gruppe anpassen muss.)

Unter Windows 7 habe ich keine Probleme beim Mounten der Freigabe:

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

Der Versuch, dasselbe unter Ubuntu zu tun, funktioniert jedoch nicht so gut:

[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

Beachten Sie die oben genannten Berechtigungen und Eigentümer /mnt/tunes. Es wird sich ändern, obwohl ich nicht weiß, ob das erwartet / richtig ist.

[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

1001ist die UID für johnauf meinem FreeNAS und 1003ist die GID für usersdort. johnsollte vollen Zugriff haben.

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

Was mache ich hier falsch?


Beachten Sie, dass ich mich in Linux wohl fühle, aber keineswegs ein Experte bin. Es gibt viel, was ich nicht über Berechtigungen, Freigaben usw. weiß
John Dibling

Möglicherweise müssen Sie CIFS-Anmeldeinformationen in Mount Call übergeben (es ist eine Weile her, seit ich mit CIFS-Mounts gearbeitet habe), aber überprüfen Sie diesen Link askubuntu.com/questions/72471/…
rtmie

Wenn Sie es als Superuser versuchen, können Sie es auflisten? Kopieren ? rm?
CodeScriber

@ John Dibling Warum nicht eine CIFS-Freigabe und eine NFS-Freigabe im selben Verzeichnis erstellen? Dann können Sie Berechtigungen für bestimmte Gruppen festlegen und John zur beschreibbaren Gruppe und Barbara und Mark zur schreibgeschützten Gruppe hinzufügen.
BsdHelper

@BsdHelper: Ich nehme an, das würde für * nix-Clients funktionieren, aber Windows spricht kein NFS und ich würde Lese- / Schreibzugriff von überall auf der Welt benötigen. Seit ich diese Frage gestellt habe, habe ich FreeNAS komplett aufgegeben und einen DIY-Ansatz gewählt. Ich habe jetzt einen Linux-Server, auf dem ein 5-TB-RAID-5-Array mit den überall festgelegten korrekten Berechtigungen ausgeführt wird. Es stellte sich heraus, dass ich FreeNAS überhaupt nicht brauchte. Danke für Ihren Vorschlag.
John Dibling

Antworten:


2

Schreiben Sie den Mount (in diesem Fall / etc / fstab) mit dem Parameter noperm , um die lokalen Client-Ignorierprüfungen anzuweisen. Es sieht so aus (funktioniert für mich, nachdem ich die lokalen Berechtigungsrechte ignoriert hatte)

//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

Sie müssen Optionen hinzufügen, um die UID und GID auf die gewünschten Werte auf Ihrem Clientcomputer anstatt auf die Werte des Servers zu setzen. Dies kann durch Hinzufügen der Optionen erfolgen

uid=xxxx forceuid gid=xxxx forceguid

zu Ihrem Mount-Befehl.


Dies ist das, was ich beim Mounten einer cifs-Freigabe auf meinem Computer erlebt habe. fstab Dem Mount-Punkt muss lokal die lokale Benutzer-UID und -GID zugewiesen sein. Die Berechtigungen auf dem NAS sind zweitrangig, solange beim Mounten die richtige Benutzer / Pass-Kombination für die Freigabe angezeigt wird.
Douggro

0

Das funktioniert gut für mich:

  • Schreibzugriff für einen bestimmten Benutzer
  • Lesezugriff für alle anderen Benutzer über das Gastkonto

Denken Sie daran, dass Benutzer unter Unix den ausführbaren Berechtigungssatz für Verzeichnisse benötigen, die sie durchlaufen müssen .


-1

FreeNAS basiert auf Unix und Sie möchten es auf einem Linux-Computer bereitstellen.

Ich denke, Sie müssen es mit NFS mounten, da dies auch Linux ist, Unix-basiert, anstelle von CIFS, das für Windows-Computer geschrieben wurde.

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

Bist du dir da sicher? Dies ist eine CIFS-Freigabe auf der FreeNAS-Seite und soll sowohl von Windows- als auch von Linux-Computern verwendet werden.
John Dibling

Bin ich sicher, dass das funktionieren wird? Nein, aber Sie könnten es versuchen. Ja, das freeNAS funktioniert auch unter Windows. Wenn Sie sich jedoch Ihr eigenes Bild der Registerkarte "Berechtigungen" ansehen, haben Sie die Wahl zwischen Unix und Windows.
Wenn

Das Bild, das ich gepostet habe, bezieht sich auf eine Auswahl zwischen Windows- und Linux- ACL . Es ist immer noch eine CIFS-Aktie.
John Dibling

Das ist nicht wahr . Wenn es sich um eine CIFS / Samba-Freigabe handelt, führt der Versuch, sie als NFS-Freigabe bereitzustellen, zu nichts. Linux hat tatsächlich Clients zum Mounten dieser Art von Freigabe.
Esmail
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.