Basit Samba Paylaşımı - ŞİFRE YOK


17

Neye ihtiyacım var:

Herkes için şifre ve tam okuma yazma olmadan dosya sunucusu için basit samba yapılandırma. Güvenlik gerekmez.

Tarih:

Evim için dosya barındıracak bir sunucu yapıyorum. Sunucunun amacı Windows makineleri için dosyaları barındırmaktır. Şimdiye kadar yapabildiğim en iyi şey bu yapılandırma. Bununla, paylaşımları ve sunucuyu ağdan görebiliyorum, ancak Windows'un onlara erişemediğini söylüyor. Sunucudaki Linux montaj ilişkisini, en son güncellemeleri kullanıyorum.

Yapılandırmam:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

Herhangi bir fikir?


Yanıtlar:


22

Evet, Samba acı verebilir. İşim için olduğu kadar evim için de kullanıyorum.

Yapmanız gereken ilk şey, sorun gidermeyi kolaylaştırmak için sıfırdan başlamaktır. Bunu, terminalde aşağıdaki komutu çalıştırarak yapabilirsiniz.

dpkg-reconfigure samba-common

Ardından samba sunucusunda paylaşmak istediğiniz klasöre gidin ve kullanıcının hiç kimsenin paylaşımı okuyamadığından ve yazamayacağından emin olun. Bunun nedeni, kullanıcının hiç kimsenin istemcilerin kullandığı kullanıcı adı olmamasıdır. Ben genellikle işleri basit tutmak için sadece / dizininde bir klasör yapmak, ama "doğru" yolu / srv bir alt klasör yapmak olacaktır. İzinleri daha önce değiştirmediyseniz, aşağıdaki komutları kullanın.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

Aşağıdaki komutu root olarak çalıştırarak kimsenin dizine yazıp yazamayacağını da test edebilirsiniz.

sudo -u nobody touch test_file

/Etc/samba/smb.conf dosyanızı düzenleyin ve [yazıcılar] paylaşım tanımının altına satır ekleyin.

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

Sonra işiniz bittiğinde kaydedin ve aşağıdakileri çalıştırın.

testparm

Herhangi bir yazım hatası yaptıysanız bu sizi uyaracaktır. Ardından, samba hizmetlerini yeniden başlatmanız yeterlidir.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Bu mükemmel çalıştı! İleride başvurmak üzere kopyalandı. sorun chmod şeydi! çok teşekkür ederim.
Peter Reynold Robinson Junior

1
İyi iş çıkardı, çoğu vazgeçerdi. Dosya paylaşımında, herhangi bir işletim sisteminde izinlerin genellikle sorun olduğunu unutmayın.
Andrew

1
Harika. Bu benim için çalışıyor, sudo apt-get autoremovesudo apt-get purge samba*
samba'yı

Bu, samba kurulumunun bitmesinden sonra nmdb'yi başlatan bir hata ile sonuçlandı; log.nmdb "config dosyası açılırken hata oluştu" ve / etc / samba klasörü yok. Temizleme ve çıkarma ve yeniden takma işleminin yeniden denenmesi aynı şeyi tekrar tekrar sonuçlandı.
Frank H.

Bu tüm internet üzerinde SADECE çalışma yaklaşımıdır! Günümü kurtardın, teşekkürler.
Evi Song

0

Bunun eski bir iş parçacığı olduğunu fark ettim ama oturum açma gerekmeden bir klasör oluşturma ve paylaşma sorununu çözmeme yardımcı oldu. Orada diğer konuları bir sürü ama yanıltıcı. Ben orada hemen hemen diğer pes ile çok küçük farklılıklar var gibi ben hemen hemen vazgeçti ve saçlarının yarısını çıkardı başkasına yardımcı olabileceğini düşündüm yarı biginners rehber verdim :-)

Benim için, varsayılan bir AWS Linux görüntüsünde (Amazon Linux AMI 2017.03.0 (HVM)) Kök dizinindeki klasörü oluşturmak zorunda kaldım / varsayılan ec2 kullanıcısı altında oluşturulmuşsa izinleri atayamadığım için. İzinleri atarken hiç kimse kullanmam gerekiyordu. son olarak varsayılan = güvenlik = kullanıcı diyor gloabl bağımsız sunucu bölümü altında guest = Bad User için harita dahil etmek zorunda kaldı

Yani tam adımlar yeni bir sunucunun konuşlandırılması olacaktır:

gerekirse samba'yı yükle

klasör oluştur ve izinleri ata

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

samba dosyasını düzenle

nano /etc/samba/smb.conf

satırı bulun # ---- Bağımsız Sunucu Seçenekleri ---- "konuk için harita" ekle

security = user
passdb backend = tdbsam
map to guest = Bad User

# ==== Paylaşım Tanımları ==== paylaşımınızı ekleyin

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

Dosyayı kaydedin ve samaba'yı yeniden başlatın

/etc/init.d/smb restart

0

@Andrew yanıtına ek olarak, ubuntu 17.04'ten 17.10'a yapılan son yükseltme, sistemctl samba-dc-ad.service ile ilgili sorunlar yaratıyor . Samba'yı samba-dc-ad.service'e (intuous) yeniden yüklemeye çalıştığınızda, bu maskede bir hata değildir. Yükseltme nedeniyle samba yükleme / yeniden yükleme ile ilgili sorun yaşıyorsanız @ Andrew'un cevabından önce ek adımlar :

  1. apt-get güncelleme & apt-get-yükseltme <- hiçbir yükseltme olağanüstü olmadığından emin olun
  2. apt-get install samba
  3. bu sayfaya gidin ve talimatları uygulayın: https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f yükleme samba

  5. Şimdi yukarıdaki adımları uygulayın. :-)
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.