Symlink는 삼바 공유의 일반 파일처럼 보입니다.

Symlink는 삼바 공유의 일반 파일처럼 보입니다.

내 삼바 공유의 심볼릭 링크가 내가 원하는 대로 작동하지 않습니다. 특히 링크는 다음과 같습니다.일반 파일 복제클라이언트 컴퓨터에. 이것은 예전에는 작동했지만(예: 서버의 심볼릭 링크는 클라이언트의 심볼릭 링크처럼 보였지만) 어느 시점에서 작동이 중지되었습니다. 그래서 나는 그것이 어떻게든 삼바 버전과 관련이 있다고 가정하지만, 작동하는 조합을 찾지 못했습니다.

삼바 클라이언트에서 심볼릭 링크가 "심볼릭 링크처럼" 작동하도록 하는 것이 가능합니까? 그렇다면 어떻게?

내 설정은 다음과 같습니다.

섬기는 사람:Samba를 통해 공유를 제공하는 Synology NAS

------server smb.conf-------
[global]
unix extensions=no
follow symlinks=yes
wide links=yes
allow insecure wide links=yes

고객:Ubuntu 16.04 시스템, 다음 명령을 사용하여 공유 마운트

sudo mount -t cifs -o vers=3.0 -o user=<myuser> //server/sharename /mnt/mountpoint

공유가 마운트된 상태에서 다음에 수행할 작업은 다음과 같습니다.

서버에서

$ echo "HELLO WORLD" > file-created-on-server.txt
$ ln -s file-created-on-server.txt symlink-created-on-server.txt
$ ls -iog
75852 -rwxrwxrwx+ 1 12 Jul 19 20:16 file-created-on-server.txt
75859 lrwxrwxrwx+ 1 25 Jul 19 20:53 symlink-created-on-server.txt -> file-created-on-server.txt

분명히 그것은 심볼릭 링크입니다. 하지만 만약 그렇다면...

클라이언트에서

$ ls -iog
total 8
75852 -rwxr-xr-x 1 12 Jul 19 21:16 file-created-on-server.txt
75852 -rwxr-xr-x 1 12 Jul 19 21:16 symlink-created-on-server.txt

기대했다심볼릭 링크 생성-on-server.txt에게심볼릭 링크처럼 생겼어. 하지만 그렇지 않습니다. 원본 파일의 복사본처럼 보입니다. 심지어 클라이언트에는 동일한 inode 번호가 있지만 서버에는 없습니다.

여기서 무슨 일이 일어나고 있는 걸까요? 심볼릭 링크를 심볼릭 링크처럼 보이게 만드는 방법이 있나요? 삼바 및 심볼릭 링크와 관련된 보안 문제에 대한 내용을 읽었으며 이것이 동작이 변경된 이유일 수 있다고 생각하지만 명확한 설명을 찾지 못했습니다. 이 경우 보안에 미치는 영향은 신경 쓰지 않습니다.

답변1

당신은

unix extensions=no
follow symlinks=yes

즉,

  1. 서버가 링크를 보고하지 않습니다.
  2. 서버는 심볼릭 링크를 따릅니다.

두 번째 옵션만으로도 심볼릭 링크를 일반 링크, 즉 동일한 파일을 참조하는 두 개의 이름으로 처리하기에 충분할 것입니다.

관련 정보