Ini adalah server Ubuntu 10.04 64 dan samba 3.4.7.
Saya memiliki direktori bersama /home/mit/share
dan direktori lain /home/temp
yang saya tautkan ke direktori bersama:
ln -s /home/temp /home/mit/share/temp
Tetapi di windows, setelah menggunakan internet, saya tidak bisa membuka S:/temp
, tetapi di Linux adalah mungkin untuk mengakses /home/mit/share/temp
seperti yang diharapkan.
Ini berfungsi jika saya menautkan direktori di dalam /home/mit/share/temp
, jadi saya kira samba membatasi untuk melompat dengan tautan di luar / di atas direktori bersama.
SUNTING:
Lihat juga pertanyaan ini berjudul Ubuntu + versi samba terbaru, symlinks tidak lagi berfungsi pada share yang dipasang di Windows .
Tampaknya terbaik untuk dimasukkan unix extensions = no
ke bagian global dan follow symlinks = yes
dan wide links = yes
hanya ke bagian saham, di mana Anda benar-benar membutuhkannya.
The unix extension
bendera harus hidup di bagian global dan tidak di bagian saham individu. Tetapi untuk alasan keamanan, lebih baik menggunakan opsi lain hanya di tempat yang Anda butuhkan, dan tidak secara global.
Jawaban:
Edit smb.conf
Catatan: Jika Anda menggunakan versi samba yang lebih baru, yang berikut ini mungkin cocok untuk Anda:
dokumentasi
follow symlinks
danwide links
bendera: https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1sumber
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2:grep -o '^[^#;]*' smb.conf.bak >smb.conf
[share]
berarti[<share_name>]
?sshfs
Salam, saya sudah mencoba menempatkan ini ke dalam konfigurasi untuk memperbaiki symlink untuk windows untuk pengaturan saya, tetapi saya tidak yakin apakah itu akan mempengaruhi klien windows, jika tidak maka akan mengikuti symlink ketika saya terhubung ke kotak ini.
sumber
Atau dengan jawaban lain, agar ekstensi unix tetap aktif, dimungkinkan untuk menggunakan:
sumber
[share]
berarti[<share_name>]
?[homes]
, di mana saya menggunakannya. Lihat dokumentasi untuk detailnya.Untuk memungkinkan klien Samba mengikuti symlink di luar jalur bersama, yang Anda butuhkan dalam konfigurasi Samba adalah:
(Selain definisi Samba sendiri, tentu saja). Ini - secara teoritis - cukup untuk * nix klien.
NB: Arahan "follow symlinks" tidak diperlukan karena standarnya adalah "yes"
Adapun klien Windows, 1 pengaturan masih hilang untuk membiarkan mereka mengikuti tautan tersebut. Untuk melakukannya:
Lari :
reboot untuk memuat ulang pengaturan
NB: hasil yang sama dapat diperoleh dengan mengedit registri Windows. Lihat tautan di bawah
sumber:
sumber
Anda mungkin perlu mengatasi lebih dari sekadar file konfigurasi Samba jika Anda menjalankan AppArmor.
Anda memang perlu arahan berikut dalam diri Anda
smb.conf
:Tetapi, AppArmor memblokir akses ke bagian-bagian dari sistem file sesuai dengan semantik pengaturannya sendiri. Jadi, jika symlink Anda di dalam Samba menunjuk ke lokasi yang akan diblokir AppArmor, Samba akan menolak akses.
Di sistem saya, Samba memperbarui profil AppArmor pada layanan start / stop, jadi saya bisa mengubah profil AppArmor, tetapi berisiko Samba atau program lain menimpanya. Sebagai gantinya, saya memutuskan untuk membuat bagian yang tidak dapat diakses di Samba yang merujuk lokasi yang berisi target symlink yang ingin saya akses (masih ada
smb.conf
):sumber