Samba paylaşımını root olmayan kullanıcı olarak nasıl bağlarım


14

Ubuntu 10.04 masaüstünde root olmayan bir kullanıcı tarafından kullanılacak bir Samba paylaşımının nasıl smbmount yapılacağını ayrıntılı olarak anlatan adım adım bir eğitim var mı?

Not: Google aramada bu yeni görünen sorunla ilgili çok sayıda konu var. Ubuntu 8.04 (veya smbfs'nin daha eski bir sürümü) üzerinde kullanılan talimatlar artık çalışmaz.

Güncel ve tekrarlanabilir bir şey bulmam gerekiyor.

Yanıtlar:


13

Samba paylaşımlarınızı ana klasörünüze kolayca monte etmek için çok güzel bir araç SMBNetFS'dir . Bu araç ile samba paylaşımlarınıza neredeyse tüm uygulamalardan evinizdeki bir bağlantı noktasından erişebilirsiniz.

SMBnetFS nasıl kullanılır:

  • Paketi paket yöneticiniz aracılığıyla yükleyin
  • cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf standart yapılandırmayı kopyala
  • cp /etc/samba/smb.conf ~/.smb/smb.conf samba yapılandırmasını kopyala
  • mkdir ~/sambashare veya bağlama noktası için başka bir ad
  • smbnetfs ~/sambashare paylaşımları bağlama noktasına bağlamak

Ne yazık ki çok az dokümantasyon mevcut. man smbnetfsSeçenekler için konusuna bakın ve içindeki SSS dosyasını inceleyin /usr/share/doc/smbnetfs.


Ayrıntılı adımlar için +1. Umarım bu Eclipse ile çalışır, çünkü gvfs ile Eclipse kesinlikle işe yaramaz. SMBnetFS'nin smbfs'den nasıl farklı olduğunu biliyor musunuz?
Android Eve

2
SMBNetFS sigorta kullanır. Kullanıcıların fusegrupta olduğundan emin olun .
Takkat

Tekrar +1! Gfvs de FUSE kullanmıyor mu? GNOME masaüstümle önceden hazırladığımdan (gvfs) ne kadar farklı?
Android Eve

8

Gnome kullanırken, Nautilus'a smb: // url yazmanız yeterlidir. Normalde gvfs-fuse ve diğer gvfs paketleri kurulmalıdır, böylece samba'yı doğrudan dosya tarayıcısına bağlayabilirsiniz. Ek olarak, bağlanan tüm öğeleri ~ / .gvfs klasörünüzde bulmalısınız. Bu, diğer protokoller ve sıkıştırılmış dosyalar vb.Ile bile çalışır.

gvfs-mount smb://user@server/storage

Tutulma ve diğer araçlarla test ettim ve işe yarıyor. gvfs-fuse takılmış olmalıdır.


Teşekkürler ama Eclipse bununla çalışmaz. Bunu zaten denedim, bu yüzden özellikle smbmount (smbfs paketinin bir parçası olan mount.cifs'e sembolik bir bağlantı) soruyordum.
Android Arifesi

2
Eclipse ana sayfanızdaki .gvfs dosyasına erişemiyor mu? Bildiğim kadarıyla, her program bunu yapabilmelidir. Yanlışsam düzelt.
matthias.lukaszek

2

man mountistediğiniz seçenekleri belirlemenize yardımcı olur. Windows sistemi her zaman mevcut olacaksa. Sadece montaj parçasını ekleyebilirsiniz; montaj /etc/fstabyapılacaktır. Kullanıcının seçenekleri kullanarak bölümü gerektiği gibi takmasına ve bağlantısını kesmesine izin verebilirsiniz user,noauto. Devreden çıkarılırken o değişikliğine başkalarını izin vermek useriçin users.

Autofs ayrıca samba kullanan isteğe bağlı montajları da destekler. Büyütme, hangi dizinlerin ne zaman monte edilmesini istediğinize bağlıdır. Bir geliştirme ortamında başarıyla çalıştırdım.

EDIT: Bunu birçok kullanıcı için yapmanız gerekiyorsa, montajı yapmak için autofs kullanmanızı öneririm. Bu, fstab üzerinde değişiklik yapılmasını gerektirmez. Çeşitli kullanıcılar için kimlik bilgilerini almak bir sorun olabilir. /net/$HOST/$USERBağlarım için formda bir dizin yapısı kullanıyorum . Autofs, /net/$HOSTbağlantının bölümü için yapılandırılır ve gerektiğinde dizinleri otomatik olarak bağlar.

Özel montaj yaklaşımları ihtiyaçlarınıza bağlıdır. Ben tipik bağlar sunucu tabanlı olmasına rağmen, kullanıcıların sunucuya monte Masaüstü dizin gerekli durumlarda oldu.

Çok sayıda kullanıcısı olan büyük kuruluşlar için dizinleri bir Linux sunucusuna taşımak ve dosyaları Windows kullanıcılarıyla paylaşmak için Samba'yı kullanmak mantıklı olabilir. Tersi denemedim, ama mümkün olabilir.


Bu çalışır, ancak fstab'ı değiştirmek için root erişimine ihtiyacınız vardır. Kök olsa bile, her biri monte etmek için belirli bir paylaşıma sahip çok sayıda kullanıcı için yapmanız gerektiğinde oldukça pratik olmadığını unutmayın (her kullanıcının merkezi bir dosya sunucusunda kişisel bir paylaşımının bulunduğu büyük bir kuruluşta olduğu gibi).

0

Son zamanlarda yaptığım büyüyü araştırırken bu soruyu kullanıcılarından biri için tam olarak yapmak için buldum. İş akışım diğer yanıtlara göre oldukça farklı. Ancak, bunun mümkün olan en basit durumla ilgili olduğunu unutmayın.

Kullanıcı adınızın aeve evinizin/home/ae

1) smbfs'yi ayarlayın:
mkdir /home/ae/.smb

1a) Windows oturum açma kimlik bilgileri gerekiyorsa, /home/ae/.smb/smbnetfs.confiçeriği oluşturmak için dosyayı oluşturun ve düzenleyin :

auth winuser "winpassword"

winusererişmek istediğiniz Windows bilgisayarında oluşturulan kullanıcıdır. winpasswordo bilgisayarda Windows'da oturum açmak için kullanıcının şifresidir.

2) Bağlama noktanızı oluşturun:
mkdir /home/ae/nethood

3) smbnetfs komutunu yürütün:
smbnetfs /home/ae/nethood


Tüm "ağ komşuları" /home/ae/nethoodnın alt grupların ilk katmanı olan çalışma gruplarının altında görüneceğini unutmayın .

Aşağıdaki listelerin tümü, ubuntu ana bilgisayarında ayrıcalıklı olmayan bir kullanıcı olarak klasörlere göz atmamdan kopyalandı. Kullanıcı adı ve grup olarak değiştirildi ae. sudohiç kullanılmadı. Windows bilgisayarlar resmi olmayan Windows ağındadır ve paylaşılan klasörler kullanıcı / parola korumalıdır (Windows bilgisayarında windows kullanıcı adı ve parolasını kullanarak).

$ cd nethood
$ ls -alh
total 12K
drwxrwxrwx 9 ae   ae     0 Dec 31  1969 .
drwxr-xr-x 9 ae   ae    21 Jul 28 11:49 ..
drwxrwxrwx 2 root root   0 Dec 31  1969 WORKGROUP

Çalışma grubuna göz atın WORKGROUP:

$ cd WORKGROUP
$ ls -alh
total 0
drwxrwxrwx 2 root root  0 Dec 31  1969 .
drwxrwxrwx 9 root root  0 Dec 31  1969 ..
lrwxrwxrwx 1 root root 11 Dec 31  1969 HTPC -> ../HTPC
lrwxrwxrwx 1 root root 14 Dec 31  1969 NEWPC -> ../NEWPC

Dizini bilgisayarlara değiştirdiğinizde, paylaşılan klasörler normal şekilde listelenir ve erişilir.

$ cd NEWPC
$ ls -alh
total 0
drwxrwxrwx 2 root root 0 Dec 31  1969 .
drwxrwxrwx 9 root root 0 Dec 31  1969 ..
drwxrwxrwx 2 root root 0 Dec 31  1969 Desktop
drwxrwxrwx 2 root root 0 Dec 31  1969 Users

Ve dosyalar:

$ cd Desktop/
$ ls -alh
ls: cannot access desktop.ini: No such file or directory
total 30M
drwxrwxrwx 2 root root     0 Dec 31  1969 .
drwxrwxrwx 2 root root     0 Dec 31  1969 ..
-rwxr--r-- 1 ae   ae    1.5K Jan 25  2013 Command Prompt.lnk
-????????? ? ?    ?        ?            ? desktop.ini
-rwxr--r-- 1 ae   ae    156K May 28  2013 Download %25285%2529.iif
-rwxr--r-- 1 ae   ae    2.4K Jul 24 12:28 Google Chrome.lnk
-rwxr--r-- 1 ae   ae     178 Feb  4  2013 import orders.bat
-rwxr--r-- 1 ae   ae    2.3M Mar 30  2012 msvc2008_x86_vcredist_x64.exe
drwxr-xr-x 2 ae   ae       0 May 20  2014 OpenOffice 4.1.0 (en-US) Installation Files
-rwxr--r-- 1 ae   ae    406K Jun  6  2013 Paypal_Jan_1_2012_to_Dec_31_2012.iif
-rwxr--r-- 1 ae   ae     15M May  8  2012 php-5.4.3-Win32-VC9-x86.zip
-rwxr--r-- 1 ae   ae    1.9K Jul 24 13:03 PSPad.lnk
-rwxr--r-- 1 ae   ae    1.1K Jul 24 12:31 VB Demo.lnk

Yukarıdaki dizinlerin sahipliği olduğuna dikkat edin root root. Dosya sahipliği, kullanıcı ile aynı olacaktır.

Başka hiçbir kullanıcı, bağlama noktasından veya bu klasörün sahipliğinden veya izinlerinden bağımsız olarak klasörlere erişemez. Kullanıcınız bu klasöre "yazabiliyorsa" (ve boşsa), smbnetfs ağ komşularını oraya bağlar ve başka kimsenin erişmesine izin vermez root. İçin rooterişmesini yapmanız gerekir su ae.


Paylaşılan klasör yoksa, bilgisayarın dizini boş olacaktır.

Windows bilgisayarında kimlik bilgileriniz yoksa hatayı alabilirsiniz:
ls: cannot open directory .: Input/output error

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.