이것은 Ubuntu 서버 10.04 x64 및 Samba 3.4.7입니다.
공유 디렉터리 /home/mit/share
와 /home/temp
공유 디렉터리에 연결된 다른 디렉터리가 있습니다.
ln -s /home/temp /home/mit/share/temp
그런데 Windows에서는 인터넷을 사용한 후 열 수 없지만 Linux에서는 예상대로 액세스 S:/temp
할 수 있습니다 ./home/mit/share/temp
/home/mit/share/temp
이것은 내부 디렉토리에 연결하면 작동하므로 삼바 제한은 공유 디렉토리 외부/위의 링크를 사용하여 점프하는 것 같습니다.
편집하다:
이 질문도 참조하십시오.Ubuntu + 최신 삼바 버전, Windows에 탑재된 공유에 대해 심볼릭 링크가 더 이상 작동하지 않습니다..
unix extensions = no
전역 섹션 follow symlinks = yes
에 넣고 wide links = yes
실제로 필요한 공유 섹션에만 넣는 것이 더 나은 것 같습니다.
플래그 unix extension
는 단일 공유 섹션이 아닌 전역 섹션에 있어야 합니다. 그러나 보안상의 이유로 전역적으로 사용하는 것보다 필요한 경우에만 다른 옵션을 사용하는 것이 좋습니다.
답변1
smb.conf 편집
[global]
unix extensions = no
[share]
follow symlinks = yes
wide links = yes
참고: 최신 버전의 Samba를 사용하는 경우 다음이 적합할 수 있습니다.
[global]
allow insecure wide links = yes
[share]
follow symlinks = yes
wide links = yes
문서 follow symlinks
및 wide links
로고:https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1
답변2
다른 답변 외에도 UNIX 확장을 활성화하려면 다음을 사용할 수 있습니다.
[global]
allow insecure wide links = yes
[share]
follow symlinks = yes
wide links = yes
답변3
안녕하세요, 설정에 대한 Windows 심볼릭 링크를 수정하기 위해 이것을 구성에 넣으려고 했지만 이것이 Windows 클라이언트에 영향을 미칠지 아니면 이 상자에 연결할 때 심볼릭 링크를 따라갈지 잘 모르겠습니다.
[global]
unix extensions = no
답변4
AppArmor를 실행하는 경우 Samba 구성 파일 이상의 작업을 처리해야 할 수도 있습니다.
실제로 다음 지시어를 포함해야 합니다 smb.conf
.
follow symlinks = yes
wide links = yes
unix extensions = no
# No need for "allow insecure wide links" unless you want "unix extensions = yes"
그러나 AppArmor는 자체 규칙 세트 의미 체계에 따라 파일 시스템의 일부에 대한 액세스를 차단합니다. 따라서 Samba의 심볼릭 링크가 AppArmor가 차단하는 위치를 가리키는 경우 Samba는 액세스를 거부합니다.
내 시스템에서는 서비스가 시작/중지될 때 Samba가 AppArmor 구성 파일을 업데이트하므로 AppArmor 구성 파일을 변경할 수 있지만 Samba 또는 다른 프로그램이 이를 덮어쓸 위험이 있습니다. 대신, 액세스하려는 심볼릭 링크 대상이 포함된 위치를 참조하여 Samba에 연결할 수 없는 공유를 만들기로 결정했습니다(아직 진행 중 smb.conf
).
# The following is a hack for AppArmor to allow the path
[share1 for AppArmor] # Or whichever name you choose
browseable = no
path = /home # Point to directory or parent directory of the location to access
read only = yes
guest ok = no
valid users = none