Klien tidak dapat membuat symlink di berbagi Samba


5

Seperti yang direkomendasikan dalam banyak jawaban untuk pertanyaan tentang saham samba dan symlink, saya telah mencoba secara eksplisit mengaktifkan "follow symlinks" (meskipun dokumentasi mengatakan itu diaktifkan secara default) serta mengaktifkan "tautan lebar" dan "memungkinkan tautan lebar tidak aman" (meskipun ini terkait dengan symlink yang mengarah ke luar folder bersama dan tidak mengaktifkan atau menonaktifkan symlink) ... Pembuatan symlink belum diaktifkan dengan memodifikasi pengaturan ini.

Samba share dilayani dari host Debian 8 dan diakses dari klien Debian 9.

Ini adalah contoh dari output yang saya dapatkan ketika mencoba membuat symlink di share yang dipasang:

$ touch hello.txt
$ ln -s hello.txt hello.sl
ln: failed to create symbolic link ‘hello.sl’: Operation not supported

Saya kehabisan ide dan hasil pencarian, jadi masukan apa pun diterima.

EDIT 1:

Host smb.conf:

[global]
security = USER
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
server min protocol = SMB2
client min protocol = SMB2
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb

[share_name]
path = /path/to/folder
force user = hostusername
force group = hostgroupname
read only = No
force create mode = 0660
force directory mode = 0770
case sensitive = Yes

Perintah pemasangan klien:

sudo mount -t cifs //ip.add.re.ss/share_name /path/to/mount -o username=hostusername,vers=3.0,uid=clientusername,gid=clientgroupname,soft,rsize=8192,wsize=8192

Versi Samba apa yang dijalankan server, dan versi protokol SMB mana yang digunakan? Perhatikan bahwa ekstensi Unix / POSIX masih dalam proses di SMBv2 / 3.
grawity

Jawaban:


10

Terima kasih kepada @grawity karena mengisyaratkan bahwa masalah saya mungkin terkait dengan versi protokol. Saya menemukan solusi yang mengaktifkan symlink dengan SMB3 dengan menambahkan mfsymlinksopsi ke perintah mount seperti:

sudo mount -t cifs //ip.add.re.ss/share_name /path/to/mount -o username=hostusername,vers=3.0,uid=clientusername,gid=clientgroupname,soft,rsize=8192,wsize=8192,mfsymlinks

Saya tidak sepenuhnya memahami perbedaan antara symlink normal dan symlink Minshall + French, tetapi tampaknya berfungsi untuk kasus saya.

Sumber:
https://www.systutorials.com/docs/linux/man/8-mount.cifs/
https://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks ).


2

Cara ini bekerja untuk saya:

sudo mount -t cifs -o user=user,pass=pass,vers=3.0,uid=987,gid=0,soft,rsize=8192,wsize=8192,mfsymlinks //10.10.10.10/git /var/opt/gitlab/git-data/repositories

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.