Дозвіл на змонтовану частку CIF (надано з 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є uid для johnмого FreeNAS, і 1003це gid 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 під час виклику програми монтажу (якийсь час я працював із кріпленнями CIFS), але перевірте це посилання askubuntu.com/questions/72471/…
rtmie

якщо ви спробуєте як супер користувач, ви можете перелічити його? копія? rm?
codeScriber

@John Dibling Чому б не створити спільну CIFS та NFS для одного каталогу? Тоді ви можете встановити дозволи для певних груп і додати Джона до групи, що записується, а Варвару та Марка - до групи, що лише читає?
BsdHelper

@BsdHelper: Я вважаю, що це працює для * nix-клієнтів, але Windows не розмовляє з NFS, і мені знадобиться доступ для читання / запису з будь-якої точки світу. Оскільки я опублікував це запитання, я повністю відмовився від FreeNAS і застосував свій підхід. Тепер у мене є Linux-сервер, на якому працює масив 5 TB raid 5 з правильними дозволами, встановлені скрізь. Виявляється, мені FreeNAS взагалі не потрібен. Дякуємо за вашу пропозицію.
Джон Дайблінг

Відповіді:


2

напишіть mount (/ etc / fstab у цьому випадку) з параметром noperm, щоб доручити локальному клієнту ігнорувати перевірки дозволів. Це виглядає приблизно так (працює для мене, oce, я проігнорував місцеві права на дозвіл)

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

до вашої команди mount.


Це те, що я відчував, монтуючи спільний доступ до файлів cifs на своїй машині fstab - місце монтажу локально повинно мати призначений місцевий користувальницький uid та gid. Дозволи на NAS є вторинними, доки під час монтажу буде представлено правильний комбо / пропуск комбінації для спільної доступу.
douggro

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.