Права доступа к смонтированному cifs (совместно с FreeNAS)


9

У меня есть установка FreeNAS под VirtualBox. Когда я пытаюсь смонтировать один из моих общих ресурсов FreeNAS в Ubuntu 12.10, разрешения для общего ресурса не позволяют мне входить в каталог, перечислять или создавать файлы.

Я намеревался предоставить общий ресурс, в котором johnучетная запись FreeNAS обладает всеми правами доступа, barbaraа markучетные записи и имеют доступ только для чтения. Однако разрешения подключенного общего ресурса не позволяют мне даже перечислять каталог, не говоря уже о создании или чтении каких-либо файлов там.

Я делаю что-то не так при установке общего ресурса?

Я постараюсь предоставить больше информации ниже.

Я установил свой FreeNAS в соответствии с инструкциями, найденными здесь . Полученное хранилище имеет разрешения, как показано здесь:

введите описание изображения здесь

(Я знаю, что мне нужно настроить права на запись для группы.)

Под Windows7 у меня нет проблем с монтированием общего ресурса:

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

Тем не менее, попытка сделать то же самое в Ubuntu также не работает:

[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

Обратите внимание на разрешения и владельца /mnt/tunesвыше. Это собирается измениться, хотя я не знаю, ожидаемо ли это / правильно.

[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это идентификатор для johnмоего FreeNAS, и 1003это для usersнего. johnдолжен иметь полный доступ.

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

Что я здесь не так делаю?


Обратите внимание, что я чувствую себя комфортно в Linux, но я ни в коем случае не эксперт. Многое я не знаю о разрешениях, акциях и т. Д.
Джон Диблинг

Возможно, вам понадобится передать учетные данные CIFS в вызове монтирования (некоторое время назад
rtmie

если вы попробуете в качестве супер пользователя, вы можете перечислить? копировать? гм?
codeScriber

@John Dibling Почему бы не создать общий ресурс CIFS и NFS в одном каталоге? Затем вы можете установить разрешения для определенных групп и добавить Джона в группу для записи, а Барбару и Марка в группу только для чтения?
BsdHelper

@BsdHelper: Полагаю, это будет работать для клиентов * nix, но Windows не говорит по NFS, и мне нужен доступ для чтения / записи из любой точки мира. С тех пор, как я разместил этот вопрос, я полностью отказался от FreeNAS и использовал подход DIY. Теперь у меня есть Linux-сервер, на котором работает 5-ТБ массив raid 5 с правильными разрешениями, установленными везде. Оказывается, мне вообще не нужен был FreeNAS. Спасибо за ваше предложение.
Джон Диблинг

Ответы:


2

напишите монтирование (в данном случае / etc / fstab) с параметром noperm, чтобы указать локальному клиенту игнорировать проверки разрешений. Это выглядит так (работает для меня, когда я проигнорировал права локального разрешения)

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

Вам нужно добавить опции, чтобы принудительно использовать uid и gid для значений, которые вы хотите на своем клиентском компьютере, а не для значений сервера. Это можно сделать, добавив параметры

uid=xxxx forceuid gid=xxxx forceguid

к вашей команде монтирования.


Это то, что я испытал при монтировании общего ресурса cifs на моей машине fstab - точке монтирования локально должны быть назначены uid и gid доступа локального пользователя. Разрешения на NAS являются вторичными, если при подключении указана правильная комбинация пользователя / прохода для общего ресурса.
Дуггро

0

Это хорошо работает для меня:

  • доступ на запись для одного конкретного пользователя
  • доступ на чтение для всех остальных пользователей через гостевую учетную запись

Помните, что в Unix пользователям нужен набор разрешений для исполняемых файлов для каталогов, которые им необходимо пройти .


-1

FreeNAS основан на Unix, и вы хотите смонтировать его на Linux-машине.

Я думаю, вам нужно смонтировать его с NFS, потому что это также Linux, Unix, а не CIFS, который был написан для Windows-машин.

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

Вы уверены, что? Это общий ресурс CIFS на стороне FreeNAS и предназначен для использования как на машинах Windows, так и на Linux.
Джон Диблинг

Я уверен, что это будет работать? Нет, но вы можете попробовать .. Да, freeNAS будет работать и на Windows .. Но посмотрите на свою собственную картинку вкладки прав доступа, она дает вам выбор между Unix и Windows. Если выбран unix, почему бы не использовать стандартный протокол монтирования для unix
Bart.a

Картинка, которую я разместил, относится к выбору между Windows и Linux ACL . Это все еще акция CIFS.
Джон Диблинг

Это не верно . Если это общий ресурс CIFS / Samba, попытка смонтировать его как общий ресурс NFS ничего не даст. У Linux действительно есть клиенты для монтирования этого типа общего ресурса.
Esmail
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.