Bir CIFS paylaşımını FSTAB aracılığıyla nasıl bağlarım ve Misafire tam RW veririm


33

Tam RW erişimi olan bir Ortak klasör oluşturmak istiyorum. Yapılandırmamla ilgili sorun, Windows kullanıcılarının misafirleri ile ilgili hiçbir sorun yaşamadıklarıdır (RW ve Silebilirler), Ubuntu istemcim aynı şeyi yapamaz. Yalnızca yazıp okuyabiliriz, ancak oluşturamaz veya silmeziz.

Sunucumdaki smb.conf dosyası:

[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

Aşağıdaki FSTAB girişi, paylaşıma tam R / W erişimi sağlamaz.

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

Bu da işe yaramıyor

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

Aşağıdaki yeri kullanarak Nemo / Nautilus'ta monte edilen Hisse Senedi olmadan çalışır:

smb://192.168.0.5/storage/

Fazladan bilgi. Montajdan sonra bir dosyayı paylaşıma kopyalarsam, Ubuntu müşterimin derhal "hiç kimsenin" sahibi olmadığını ve "hayır grubunun" grubunun herkesin salt okunur olarak okuduğunu ve yazdığını fark ettim.

görüntü tanımını buraya girin

Neyi yanlış yapıyorum?


Öyleyse göreyim: Paylaşımı Ubuntu istemcinize bağlayabilirsiniz (fstab girişlerinizi verdiğimi varsaydığım kök olarak), daha sonra okuyabilir ve yazabilirsiniz, ancak silemez veya oluşturamazsınız? O zaman neden kopyalayabiliyorsunuz (kopyalamak için bir dosya oluşturmak şarttır)?
Ocak

Yanıtlar:


56

Bu işlemi yapmak için FSTAB'daki mount satırına yerel (istemci) bir UID eklemem gerekiyor. Buna kaba kuvvetle ulaştım:

//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
Yaygın bir sorun ve hiç cevap yok ... Şaşırtıcı!
dan3

Ohhh, tam ihtiyacım olan şey ... çok teşekkürler - saatlerce bunu arıyorum!
pkdkk

1
Başka bir getcha: Kurulduğundan emin olun cifs-utils(benim için "main" samba pkg yüklendikten sonra 16.04 altında kurulmadı). Yüklü değilse, 'bad fs / bad option' hatası alırsınız.
bshea

: Ben diğer yanıtında perma kullanılan ve ekledi yüklü sonra //10.20.30.40/share/mysharedir /mnt/mymountpoint cifs guest,uid=nobody,iocharset=utf8,noperm 0 0 için /etc/fstabdaha sonra sudo mount -a. Şimdi montaj / yazma iyi görünüyor.
bshea

Benim için, biraz daha basit bir versiyon (uid olmadan) tüm kullanıcılar için başka bir linux makinesinden halka açık bir şekilde doğru R / W monte etmeye çalıştı://server_name/share_name /media/local_mountpoint cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
woohoo

6

CIFS genel olarak herhangi bir kullanıcı ve grup kavramına sahip değildir, bu nedenle kullanıcı ve grubu 'hiç kimsenin' olarak göstermemesi için bir cifs payı oluşturmak varsayılan olacaktır:

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

'Hiç kimse' olmadığınız için Linux, sudo kullanmadığınız sürece 0777 iznine sahip olmayan hiçbir şeye yazmanıza izin vermeyecektir. Bunu düzeltmek için, uid = mylogin, gid = mygroup komutunu fstab dosyasına ekleyin ve paylaşımın kendi dizininizmiş gibi görünmesini sağlar:

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

Artık sudo'ya ihtiyaç duymadan tam kontrol sizde.

Bu aslında sunucudaki hiçbir şeyi değiştirmiyor, çünkü sunucu hiçbir şeyi zorlamıyor. Linux'a sahip olduğunuzu iddia etmeniz ve sınırsız erişim sağlamanız gerektiği söyleniyor.


1
Evet, eğer misafir / hiç kimse / etc kullanıyorsanız. Üst klasörlerin tam okuma / yazma / yürütme olduğundan emin olun. Bu izni bazı iç ağ paylaşımlarında kullanıyorum - bu bir güvenlik sorunu değil. Olumlu oy
bshea 24:16

Ancak gönderinizin aksine - montaj için doğru seçenekleri olduğunda kullanıcı adı "hiç kimseyi" (montaj için) kullanabildim. Diğer yorumlarıma bak ..
bshea

Bu, bağlı dosyalardaki herkes için kapsamlı izinler ayarlamaktan çok daha iyi bir çözümdür. Ve çalışıyor.
j08lue

5

Neredeyse oradasın. FSTAB’ı aşağıdakileri kullanarak açın:

sudo nano /etc/fstab

Son satırda (veya son satırların üstünde) yer:

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

*** (bu hepsi uzun bir çizgidir)

Ctrl- Xkapatmak, Ykaydetmek ve anlaşmayı imzalamak için Enter tuşuna basın.

Şimdi yeniden başlat:

sudo reboot

Ve Linux cihazınızdaki ağ paylaşımını tam olarak kontrol etmelisiniz!


1
Bu şifreyi örnek bir şifre ile değiştirmek isteyebilirsiniz.
Spotlight

9
Birinin fstabgirişleri bağlamak için yeniden başlatılması gerekmez . Sadece mount <DEVICE>ya mount <MOUNTPOINT>da hatta mount -aişini iyi yapıyorum.
David Foerster

1

Bu sorunu yaşadım ve paylaşımın kullanıcısı kendisine ait değildi. Dosyaları "sudo chown {username}: {username} / {share} / {path}" ile düzelttim, sonra dosyaları taşıyabilir ve silebilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.