네트워크 공유를 통해 코드 저장소와 같은 것을 호스팅하는 Win10 파일 서버가 있습니다.
저는 모든 코딩과 개발을 Linux(주로 CentOS 또는 Lubuntu)에서 수행하므로 이것이 매우 유용하다는 것을 알았습니다.
mount -t cifs....
명령을 사용하면 Windows 공유를 쉽게 마운트할 수 있습니다. 하지만 제가 겪고 있는 문제는 공유 설치 내부의 게스트로부터 심볼릭 링크를 만들려고 한다는 것입니다. 특히 이와 같은 작업은 이 파일 및 다른 파일과 같은 파일에 대한 심볼릭 링크를 automake --add-missing
생성하려고 시도하기 때문에 실패합니다 .install-sh
Linux와 Windows의 차이로 인해 몇 가지 복잡한 문제가 있다는 것을 알고 있지만 이를 허용하기 위해 서버(및 클라이언트)에서 활성화할 수 있는 옵션이 있는지는 확실하지 않습니다.
일부 책을 읽었지만 온라인의 다른 답변은 명확하지 않은 것 같습니다. 예를 들어 이 기사는 다음과 같습니다.심볼릭 링크 권한이 거부됨, cifs를 통한 공유 폴더sfu (Services For Unix)
, - 이 옵션을 사용하면 가능하다는 것을 나타내는 것 같습니다 . 이는 cifs 커널 모듈이 최소한 1.4
.
내 CentOS 7.1 시스템에 버전이 있고 2.03
시도했지만 sudo mount -t cifs -o username=,password=,sfu //Remote_Server/Share /Share
성공하지 못했습니다. 또한 secpol
내 Windows 사용자 계정이 심볼릭 링크를 생성할 수 있도록 Windows에서 권한을 설정했습니다 . (구현 시 양쪽에 심볼릭 링크를 생성하려고 시도했지만 Windows 계정 권한으로 인해 생성할 수 없는 경우를 대비하여 이것이 요인인지 확실하지 않습니다.) Windows cmd 프롬프트에서 관리자로 실행하고 명령을 사용하여 이 작업을 수행할 수 있지만 mklink
Linux 게스트에서 표준 심볼릭 링크를 생성하려고 하면 여전히 다음과 같은 결과가 나타납니다.failed to create symbolic link:........Operation not supported
그렇다면 CIFS와 현재 솔루션에서 작동하도록 할 수 있는 방법이 있습니까? 아니면 Linux와 Windows의 심볼릭 링크 간의 차이점을 어떻게든 추상화하고 마운트된 폴더를 다른 클라이언트와 마찬가지로 Linux 클라이언트에서 사용할 수 있도록 하는 솔루션이 있습니까? 가능합니까?
답변1
Linux 컨텍스트에서만 심볼릭 링크를 사용하려는 경우 mfsymlinks
mount.cifs 옵션이 필요할 수 있습니다.
mfsymlinks
Enable support for Minshall+French symlinks(see
http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks).
This option is ignored when specified together with the 'sfu' option.
Minshall+French symlinks are used even if the server supports the CIFS Unix
Extensions.
또는 명령줄 마운트에 mfsymlinks를 추가합니다.
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
일부 배경을 보려면 다음을 참조하세요.이 문제.