Samba는 기본적으로 Linux 확장을 활성화하며 이는 /proc/fs/cifs/LinuxExtensionsEnabled를 통해 확인할 수 있습니다.
Mac OS X(10.8.5 이하) 및 이전 CIFS 공유에서는 mount.cifs가 실패하고 일반 오류 메시지가 표시됩니다.
CIFS VFS: Send error in QFSUnixInfo = -95
CIFS VFS: cifs_read_super: get root inode failed
해결책은 Linux 확장을 수동으로 비활성화하는 것입니다.
$ sudo echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
다음과 같은 Linux 확장 기능을 비활성화하는 옵션을 전달할 수 있습니다.
$ mount -t cifs -o linuxextensions=n .....
아니면 시작할 때 자동으로 비활성화할 수 있나요?
답변1
대답은삼바 매뉴얼
nounix는 이 마운트에 대해 CIFS Unix 확장을 비활성화합니다. 여러 설정을 한 번에 끌 때 유용합니다. 여기에는 POSIX acl, POSIX 잠금, POSIX 경로, 기호 링크 지원 및 서버에서 uids/gids/mode 검색이 포함됩니다. 이는 Unix 확장을 지원하는 서버의 오류 문제를 해결하는 데에도 유용합니다.
자세한 내용은 INODE 번호 매기기 섹션을 참조하세요.
"Linuxextensions"와 "nounix"라는 용어는 같은 것을 가리키는 것처럼 보이지 않을 수도 있지만 실제로는 그렇습니다.
답변2
한 가지 방법은 자동 마운트를 사용하여 CIFS 공유를 자동으로 마운트 및 마운트 해제하는 것입니다. 이렇게 하면 사용 중에 설치하고 일정 기간 동안 사용하지 않으면 제거할 수 있습니다.
다음은 RedHat 가이드이지만 MacOSX에서도 작동합니다.18.3. 자동 파일 시스템.
예
설치 후 autofs
파일에 항목을 추가해야 합니다 /etc/auto.master
.
/somemount /etc/auto.mymounts --timeout=600 --ghost
그런 다음 mymounts 파일에 항목을 추가합니다 /etc/auto.mymounts
.
t -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/cifsserver_credentials.txt ://cifsserver/t
마지막으로 자격 증명 파일에 항목을 추가해야 합니다 /etc/cifsserver_credentials.txt
.
username=someuser
password=somepass
지금 시작하세요 autofs
. 이렇게 하면 /somemount
그 아래에 마운트 지점이 있는 마운트 지점이 생성됩니다 t
. t
누군가가 액세스할 때마다 설치가 자동으로 설치됩니다. 5분 동안 활동이 없으면 마운트가 삭제됩니다. 다시 액세스하면 다시 설치됩니다.
이것은 높은 수준의 가이드이므로 몇 가지 세부 사항은 생략하겠습니다. 하지만 이 작업을 수행하는 방법에 대한 일반적인 아이디어를 제공하기 위한 것입니다.