Quyền chia sẻ cifs được gắn kết (Được chia sẻ từ FreeNAS)


9

Tôi có cài đặt FreeNAS chạy trong VirtualBox. Khi tôi cố gắn một trong các chia sẻ FreeNAS của mình vào Ubuntu 12.10, các quyền trên chia sẻ sẽ ngăn tôi vào thư mục, liệt kê hoặc tạo tệp.

Ý định của tôi là cung cấp một phần nơi FreeNAS johntài khoản nào có thẩm quyền đầy đủ, và barbaramarkcác tài khoản có quyền truy cập read-only. Tuy nhiên, các quyền của chia sẻ được gắn kết giúp tôi thậm chí liệt kê thư mục, hãy để một mình tạo hoặc đọc bất kỳ tệp nào ở đó.

Tôi có làm gì sai khi gắn chia sẻ không?

Tôi sẽ cố gắng cung cấp thêm thông tin dưới đây.

Tôi thiết lập FreeNAS của mình theo các hướng dẫn được tìm thấy ở đây . Lưu trữ kết quả có sự cho phép như được hiển thị ở đây:

nhập mô tả hình ảnh ở đây

(Tôi biết tôi cần điều chỉnh quyền ghi cho nhóm.)

Trong Windows7, tôi không gặp vấn đề gì khi chia sẻ:

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

Tuy nhiên, cố gắng làm điều tương tự trong Ubuntu cũng không hoạt động:

[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

Lưu ý các quyền và chủ sở hữu /mnt/tunesở trên. Nó sắp thay đổi, mặc dù tôi không biết liệu điều đó có đúng hay không.

[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

1001là uid cho johnFreeNAS của tôi, và 1003là gid cho usersđó. johnnên có quyền truy cập đầy đủ.

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

Tôi làm gì sai ở đây?


Lưu ý rằng tôi cảm thấy thoải mái với Linux, nhưng tôi không có nghĩa là một chuyên gia. Có nhiều điều tôi không biết về quyền, cổ phần, v.v.
John Dibling

Bạn có thể cần phải vượt qua chứng CIFS trong cuộc gọi gắn kết (được một lúc kể từ khi tôi làm việc với CIFS gắn kết) nhưng kiểm tra liên kết này askubuntu.com/questions/72471/...
rtmie

Nếu bạn cố gắng như một siêu người dùng, bạn có thể liệt kê? sao chép? rm
codeScacker

@ John Dibling Tại sao không tạo chia sẻ CIFS và chia sẻ NFS trên cùng một thư mục? Sau đó, bạn có thể đặt quyền cho các nhóm cụ thể và thêm John vào nhóm có thể ghi và Barbara và Mark vào nhóm chỉ đọc?
BsdHelper

@BsdHelper: Tôi cho rằng nó sẽ hoạt động cho các máy khách * nix, nhưng Windows không nói NFS và tôi sẽ cần truy cập đọc / ghi từ bất cứ nơi nào trên thế giới. Kể từ khi tôi đăng câu hỏi này, tôi đã hoàn toàn từ bỏ FreeNAS và thực hiện phương pháp DIY. Bây giờ tôi có một máy chủ linux chạy một mảng 5 TB đột kích 5 mảng với các quyền chính xác được đặt ở mọi nơi. Hóa ra tôi không cần FreeNAS chút nào. Cảm ơn đề nghị của bạn.
John Dibling

Câu trả lời:


2

viết mount (/ etc / fstab trong trường hợp này) với tham số noperm để hướng dẫn khách hàng địa phương bỏ qua kiểm tra quyền. Nó trông như thế này (hoạt động với tôi, vì tôi đã bỏ qua quyền cho phép địa phương)

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

Bạn cần thêm các tùy chọn để buộc uid và gid vào các giá trị bạn muốn trên máy khách của bạn thay vì các giá trị của máy chủ. Điều này có thể được thực hiện bằng cách thêm các tùy chọn

uid=xxxx forceuid gid=xxxx forceguid

để lệnh mount của bạn.


Đây là những gì tôi đã trải nghiệm khi gắn chia sẻ cifs trên máy của mình thông qua fstab - điểm gắn kết cục bộ phải có người truy cập cục bộ uid và gid được chỉ định. Các quyền trên NAS chỉ là thứ yếu miễn là kết hợp chính xác người dùng / vượt qua cho chia sẻ được trình bày khi gắn kết.
douggro

0

Công việc này tốt cho tôi:

  • viết quyền truy cập cho một người dùng cụ thể
  • truy cập đọc cho tất cả người dùng khác thông qua tài khoản khách

Hãy nhớ rằng trên Unix, người dùng cần có quyền thực thi được đặt cho các thư mục mà họ cần duyệt qua .


-1

FreeNAS dựa trên unix và bạn muốn gắn kết nó trên máy linux.

Tôi nghĩ rằng bạn cần phải gắn kết nó với NFS vì đó cũng là linux, dựa trên unix, thay vì CIFS được viết cho các máy Windows.

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

Bạn có chắc chắn về điều đó không? Đây là chia sẻ CIFS ở phía FreeNAS và được sử dụng cho cả máy Windows và Linux.
John Dibling

Tôi có chắc chắn điều này sẽ làm việc? Không, nhưng bạn có thể thử .. Có, freeNAS cũng sẽ hoạt động trên windows .. Nhưng hãy nhìn vào hình ảnh của chính bạn về tab quyền, nó cho bạn lựa chọn giữa unix và windows. Với unix được chọn tại sao không sử dụng giao thức gắn kết tiêu chuẩn cho unix
Bart.a

Bức ảnh tôi đăng lên đề cập đến lựa chọn giữa Windows và Linux ACL . Nó vẫn là một chia sẻ CIFS.
John Dibling

Điều này không đúng . Nếu đó là chia sẻ CIFS / Samba, cố gắng gắn kết nó dưới dạng chia sẻ NFS sẽ không làm gì cả. Linux thực sự có khách hàng để gắn loại chia sẻ này.
esmail
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.