Ubuntu + versi samba terbaru, symlink tidak lagi berfungsi pada share yang dipasang di windows


14

Saya hanya apt-getted (apt-got?) Perangkat lunak terbaru untuk kotak linux Ubuntu 9,10 saya, dan saya perhatikan bahwa samba termasuk dalam pembaruan.

Setelah menginstal, symlink di direktori rumah saya tidak lagi berfungsi ketika dipasang sebagai drive di kotak linux saya. Mereka bekerja beberapa detik sebelum saya melakukan pembaruan. Semua direktori normal saya berfungsi dengan baik. Melihat daftar direktori pada baris perintah, semua file, direktori & tautan memiliki izin yang sama persis, namun ini adalah kesalahan yang saya dapatkan:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Saya melihat di forum, dan saya melihat opsi ini untuk smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Saya memasukkannya ke dalam, tetapi tidak berpengaruh. Adakah yang punya masalah ini?

Jawaban:


19

Ada masalah keamanan baru-baru ini di Samba ( 5 Februari 2010 ), eksploitasi nol-hari yang diklaim yang mengeksploitasi konfigurasi default yang tidak aman. Menurut posting Forum Ubuntu tentang topik tersebut, opsi "tautan luas" sekarang menjadi default tidak .

Rupanya nama opsi telah diubah sejak instruksi sebelumnya yang Anda temukan.

Menambahkan ini ke bagian global file smb.conf Anda akan memperbaiki masalah ini:

follow symlinks = yes
wide links = yes
unix extensions = no

Setelah menyimpan smb.conf , pastikan Anda memulai ulang Samba:

sudo /etc/init.d/samba restart

1
Saya pikir konfigurasi yang disarankan adalah untuk meletakkan follow symlinksdan wide linksdi bagian share (bukan global) untuk alasan keamanan. The unix extensionsdirektif harus pergi ke bagian global keluar menunjuk oleh user36732 bawah.
Matius

itu tidak berhasil untuk saya; server samba di raspberrypi ubuntu: cifs mount di arch linux.
Necktwi

2

Ini membantu saya juga walaupun saya tidak berpikir itu akan berhasil. Saya memiliki dua saham Samba di mu Ubuntu. Di kedua bagian saya menggunakan symlinks tetapi dalam satu disrectory (dibagi) symlinks bekerja tetapi di disrectory lain (juga dibagikan) yang tidak.

Saya tidak punya masalah mengikuti tautan di linux tetapi pada Win tidak akan berfungsi.

Saya bahkan dapat menggunakan dua jendela kosong di sebelah satu sama lain, satu di direktori / data saya dan satu di direktori / data2 saya dan mengeluarkan perintah yang sama: ln -s / data3 / Mydata.

Direktori Mydata akan muncul di kedua drive saya yang dipetakan pada kotak Win tetapi dalam satu kasus itu akan berfungsi tetapi di lain saya akan mendapatkan kesalahan "Akses ditolak".

"Unix extensions = no" berhasil tetapi saya tidak tahu mengapa ...


0

Saya memiliki masalah yang sama, tetapi bagi saya, memasukkan "unix extensions = no" ke bagian [global] dari smb.conf memang memperbaiki masalah tersebut. Adalah penting bahwa Anda memasukkannya ke flag ekstensi unix ke bagian global (berlaku untuk semua saham), karena ini diuraikan sebelum Samba tahu di mana saham yang disambungkan pengguna. Opsi Wide links dapat masuk ke bagian yang berlaku.

Hanya komentar untuk mereka yang digigit oleh perilaku ini, dan ingin menghindari kejadian serupa di masa depan: Tim samba tidak membaca pelacak bug distribusi, tetapi mereka memiliki daftar sendiri:

samba-technical@lists.samba.org

Tim samba hidup di bawah kesan bahwa hanya sebagian kecil orang dipengaruhi oleh bug ini, dan mereka hanya dapat diyakinkan sebaliknya jika lebih banyak orang membuat suara mereka didengar. Jadi, jika Anda peduli, berikan catatan ke samba-technical@lists.samba.org

Terima kasih,

Alain


0

NB: sudah memposting ini untuk menjawab pertanyaan lain , tetapi ketika memposting tautannya saja, balasan saya (sangat singkat!) Telah diubah menjadi komentar untuk pertanyaan awal ini (lihat di atas), dan menjadi sedikit tidak terlihat. Jadi, untuk visibilitas, inilah jawaban lengkapnya lagi:

Untuk memungkinkan klien Samba mengikuti symlink di luar jalur bersama, yang Anda butuhkan dalam konfigurasi Samba adalah:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(Selain definisi Samba sendiri, tentu saja). Ini - secara teoritis - cukup untuk * nix klien.

NB: Arahan "follow symlinks" tidak diperlukan karena defaultnya adalah "yes"

Adapun klien Windows, 1 pengaturan masih hilang untuk membiarkan mereka mengikuti tautan tersebut. Untuk melakukannya:

  1. buka shell Windows yang memiliki hak Administrator
  2. Lari :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. reboot untuk memuat ulang pengaturan

NB: hasil yang sama dapat diperoleh dengan mengedit registri Windows. Lihat tautan di bawah

sumber:

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.