Як мені змонтувати спільну CIFS через FSTAB та надати гостям повну RW


33

Я хочу створити загальнодоступну папку, яка має повний доступ до RW. Проблема моєї конфігурації полягає в тому, що користувачі Windows не мають жодних проблем як гості (вони можуть RW та Delete), мій клієнт Ubuntu не може зробити те саме. Ми можемо лише писати та читати, але не створювати чи видаляти.

Ось мій smb.conf з мого сервера:

[global]
    workgroup = WORKGROUP
    netbios name = FILESERVER
    server string = TurnKey FileServer

    os level = 20
    security = user
    map to guest = Bad Password
    passdb backend = tdbsam
    null passwords = yes

    admin users = root
    encrypt passwords = true
    obey pam restrictions = yes
    pam password change = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

    add user script = /usr/sbin/useradd -m '%u' -g users -G users
    delete user script = /usr/sbin/userdel -r '%u'
    add group script = /usr/sbin/groupadd '%g'
    delete group script = /usr/sbin/groupdel '%g'
    add user to group script = /usr/sbin/usermod -G '%g' '%u'

    guest account = nobody

    syslog = 0
    log file = /var/log/samba/samba.log
    max log size = 1000

    wins support = yes
    dns proxy = no

    socket options = TCP_NODELAY
    panic action = /usr/share/samba/panic-action %d


[homes]
    comment = Home Directory
    browseable = no
    read only = no
    valid users = %S

[storage]
    create mask = 0777
    directory mask = 0777
    browseable = yes
    comment = Public Share
    writeable = yes
    public = yes
    path = /srv/storage

Наступний запис FSTAB не дає повного доступу R / W до спільної доступу.

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0

Це також не працює

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

Використовуючи таке розташування в Nemo / Nautilus без монтується Share, працює:

smb://192.168.0.5/storage/

Додаткова інформація. Я щойно помітив, що якщо я скопіюю файл у спільний доступ після монтажу, мій клієнт Ubuntu негайно зробить власником "ніхто", а група "немає групи" читає та пише, а всі інші - лише для читання.

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

Що я роблю неправильно?


Отже, дозвольте мені побачити: ви можете змонтувати папку з вашого клієнта Ubuntu (як я вважаю, що дано ваші записи в fstab), ви можете потім читати і писати, але ви не можете видалити або створити? Як же тоді ви можете скопіювати (для копіювання, створення файлу обов'язково)?
січня

Відповіді:


56

Виявляється, мені потрібно додати локальний (клієнтський) UID до лінії монтажу в FSTAB, щоб зробити цю роботу. Я прийшов до цього через грубу силу:

//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

3
Загальна проблема, і взагалі немає відповіді ... Дивовижно!
dan3

Ох, просто те, що мені було потрібно ... дякую - шукаю це годинами!
pkdkk

1
Ще один прийом: переконайтеся cifs-utils, що встановлено (для мене він не був встановлений до 16.04 після встановлення "головного" самби pkg). Якщо у вас його не встановлено, ви отримаєте помилку "поганий fs / поганий варіант".
bshea

Після того, як я встановив, я використовував хімічні речовини в іншій відповіді і додав: //10.20.30.40/share/mysharedir /mnt/mymountpoint cifs guest,uid=nobody,iocharset=utf8,noperm 0 0 до /etc/fstabтого sudo mount -a. Здається, зараз монтувати / писати чудово.
bshea

Для мене, трохи спрощена версія (без UID) працювала , щоб змонтувати правильно R / W для всіх користувачів публічного ресурсу від іншого Linux машини://server_name/share_name /media/local_mountpoint cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
Woohoo

6

CIFS, як правило, не має жодної концепції користувача та групи, тому встановлення частки cifs за замовчуванням відображатиме користувача та групи як "ніхто":

drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..

Оскільки ви не "ніхто", Linux не дозволить вам писати те, що не має дозволу 0777, якщо ви не використовуєте sudo. Щоб виправити це, додайте uid = mylogin, gid = mygroup до fstab, і це зробить спільний доступ, як ніби це ваш власний каталог:

drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..

Тепер у вас є повний контроль без необхідності судо.

Це насправді нічого не змінює на сервері, оскільки сервер нічого не застосовує. Це говорить про те, що Linux робить вигляд, що ви власник, і надає вам необмежений доступ.


1
Так, якщо ви використовуєте гість / ніхто / тощо. Переконайтесь, що батьківські папки мають повне читання / запис / виконання. Я використовую цю завивку на деяких спільних внутрішніх мережах, тому це не проблема безпеки. Upvoted
bshea

Але всупереч вашій публікації - я зміг використовувати userid "none" (для монтажу), коли у нього були правильні параметри для монтажу. Дивіться інші мої коментарі ..
bshea

Це набагато краще рішення, ніж встановлення широких дозволів для всіх на змонтовані файли. І це працює.
j08lue

5

Ви майже там. Відкрийте FSTAB за допомогою:

sudo nano /etc/fstab

В останньому рядку (або в останньому рядку) розмістіть:

//192.168.0.5/storage /media/myname/TK-Public/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777

*** (це все один довгий рядок)

Ctrl- Xзакрити, Yзберегти та Enter, щоб запечатати угоду.

Тепер перезавантажте:

sudo reboot

І ви повинні мати повний контроль над мережевою часткою на вашому пристрої Linux!


1
Ви можете замінити цей пароль прикладом.
Прожектор

9
Не потрібно перезавантажуватись для монтажу fstabзаписів. Просто mount <DEVICE>або mount <MOUNTPOINT>навіть добре mount -aвиконати роботу.
Девід Фоерстер

1

У мене була ця проблема, і це було тому, що користувач акції не володів нею. Я зафіксував це за допомогою "sudo chown {username}: {username} / {share} / {path}", після чого я міг переміщувати та видаляти файли.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.