우분투 서버 10.04 64와 samba 3.4.7입니다.
공유 디렉토리 /home/mit/share
와 공유 디렉토리에 링크 된 다른 /home/temp
가 있습니다.
ln -s /home/temp /home/mit/share/temp
그러나 Windows에서는 인터넷을 사용한 후 S:/temp
를 열 수 없지만 Linux에서는 예상대로 /home/mit/share/temp
에 액세스 할 수 있습니다.
이것은 /home/mit/share/temp
내부의 디렉토리를 링크하면 작동하므로 삼바가 공유 디렉토리 외부/위의 링크로 점프하도록 제한하고있는 것 같습니다.
편집 :
우분투 + 최신 삼바 버전, 심볼릭 링크가 더 이상 Windows에 탑재 된 공유에서 작동하지 않음 라는 제목의이 질문도 참조하십시오.
unix extensions = no
를 전역 섹션에, follow symlinks = yes
및 wide links = yes
를 필요한 경우 공유 섹션에만 두는 것이 가장 좋습니다.
unix extension
플래그는 개별 공유 섹션이 아닌 전역 섹션에 있어야합니다. 그러나 보안상의 이유로 전 세계가 아닌 필요한 곳에서만 다른 옵션을 사용하는 것이 좋습니다.
Smb.conf 편집
[global]
unix extensions = no
[share]
follow symlinks = yes
wide links = yes
참고 : 최신 버전의 삼바를 사용하는 경우 다음이 대신 작동 할 수 있습니다.
[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
다른 답변 대신 유닉스 확장을 활성화하려면 다음을 사용할 수 있습니다.
[global]
allow insecure wide links = yes
[share]
follow symlinks = yes
wide links = yes
인사말, 설치를 위해 Windows의 심볼릭 링크를 수정하기 위해이 구성을 시도했지만 Windows 클라이언트에 영향을 줄지 확실하지 않습니다. 그렇지 않으면이 상자에 연결할 때 심볼릭 링크를 따릅니다.
[global]
unix extensions = no
Samba 클라이언트가 공유 경로 외부의 심볼릭 링크를 따르도록하려면 Samba 구성에 필요한 것은 다음과 같습니다.
[global]
allow insecure wide links = yes
unix extensions = no
[myShare]
wide links = yes
(삼바 외에도 정의 자체도 공유합니다). 이것은 이론적으로 * nix 고객에게는 충분합니다.
NB : "symlinks 따르기"지시문은 기본값이 "yes"이므로 필요하지 않습니다
Windows 클라이언트의 경우 이러한 링크를 따라갈 수 있도록 1 설정이 여전히 누락되었습니다. 그렇게하려면 :
운영 :
fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
설정을 다시로드하려면 재부팅
NB : Windows 레지스트리를 편집하여 동일한 결과를 얻을 수 있습니다. 아래 링크를 참조하십시오
출처 :
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