web-dev-qa-db-ja.com

クライアントがSamba共有にシンボリックリンクを作成できない

Sambaの共有とシンボリックリンクに関する質問への多くの回答で推奨されているように、「フォローシンボリックリンク」を明示的に有効にして(ドキュメントにはデフォルトでオンになっていると記載されています)、「ワイドリンク」と「安全でないワイドリンクを許可」(これらは共有フォルダの外部を指し、シンボリックリンクをオンまたはオフにしないシンボリックリンクに関連しています)...これらの設定を変更しても、シンボリックリンクの作成は有効になっていません。

Samba共有は、Debian 8ホストから提供され、Debian 9クライアントからアクセスされます。

これは、マウントされた共有にシンボリックリンクを作成しようとしたときに表示される出力の例です。

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

アイデアや検索結果が足りないので、どんな入力でも大歓迎です。

編集1:

ホスト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

クライアントマウントコマンド:

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
6
tompi

私の問題がプロトコルのバージョンに関連している可能性があることを示唆してくれた@grawityに感謝します。次のようにmfsymlinksオプションをマウントコマンドに追加することで、SMB3とのシンボリックリンクを有効にするソリューションを見つけました。

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

通常のシンボリックリンクとMinshall + Frenchシンボリックリンクの違いを完全には理解していませんが、私の場合はうまくいくようです。

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

19
tompi

この方法は私にとってはうまくいきます:

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

2