대소 문자를 구분하는 이름이 활성화되어 있으면 Samba가 Windows에서 잘 작동합니까?


12

Windows 클라이언트가 액세스 할 수있는 * nix Samba 공유를 갖고 싶습니다.

Samba는 파일 이름 대소 문자 구분을 활성화 또는 비활성화하는 옵션이 있습니다. 일반적으로 Windows 액세스의 경우 fred == FRED = fReD가되도록 비활성화됩니다.

그러나 이로 인해 AFAICT라는 중요한 문제가 발생합니다.

  • 유닉스에서는 "RODDY"와 "roddy"라는 두 개의 폴더를 만듭니다.
  • Windows에서는 두 폴더가 모두 표시되지만 ...
  • Windows에서 하나를 삭제 / 이름 바꾸기 / 열면 둘 중 하나가 삭제 / 이름 바꾸기 등이 될 수 있습니다. 당신은 어느 것을 알 방법이 없습니다! .

제 질문은 대소 문자를 구분하는 플래그가 "ON"으로 설정되어 있으면 Samba가 어떻게 Windows에서 동작합니까? 사용자는 여전히 두 폴더를 모두 볼 수 있고 파일 작업이 일관된 방식으로 작동 할 수 있습니까?

답변:


12

괜찮습니다. Windows 탐색기는 파일 이름 대소 문자를 올바르게 표시합니다. 나는 이것을 smb.conf에서 사용하여 Explorer에서 입력하는 것이 Samba가 사용하는 것인지 확인합니다 (이 모든 공유 당 설정).

case sensitive = True
default case = lower
preserve case = yes
short preserve case = yes

빠른 테스트 (백엔드의 Samba 3.0.24, 전면의 WinXP)를 실행했습니다. SSH 세션을 통해 samba 서버에 파일이 작성되었습니다.

$ cd /some/samba/share/path
$ mkdir test
$ cd test

$ mkdir test1 TEST1
$ touch test1/foo TEST1/bar

그런 다음 매핑 된 드라이브를 통해 테스트 디렉토리를 탐색했습니다. "test1"및 "TEST1"디렉토리를 모두 볼 수 있습니다. "test1"을 열고 "foo"파일을 보았습니다. "TEST1"을 열고 "bar"파일을 보았습니다. 여태까지는 그런대로 잘됐다.

그런 다음 테스트 디렉토리로 돌아가 탐색기 창에서 TEST1의 이름을 TEST2로 바꿨습니다. Windows는 약간 놀라서 폴더 이름을 바꾼 다음 두 폴더를 모두 TEST2로 표시하여 두 폴더의 이름을 모두 바꿨습니다. 그러나 SSH 터미널에서 다음을 확인했습니다.

$ ls
test1 TEST2

그래서 Windows는 파일 이름을 바꾸었고 Samba는 파일 이름을 올바르게 얻었습니다. 탐색기 창에서 F5를 눌러 폴더 내용을 새로 고치면 디스플레이에 올바른 폴더 이름이 표시되도록 변경되었습니다.

주의 사항 : Linux 파일 시스템에서는 Windows에서 ":"와 같이 일부 문자를 사용할 수 없습니다. Samba는 "name mangling"옵션 을 통해 해당 파일 이름을 Windows가 원하는 것으로 바꿀 수 있습니다. 예를 들어 SSH 창에 "FA : 23"이라는 파일을 만들면 Samba가 이름을 "F7T4H0 ~ F"로 맹 글링하고 탐색기 창에 나타납니다.


Windows 95 클라이언트에서는 case sensitive옵션이 활성화 된 경우 공유 내의 디렉토리에 액세스 할 수 없습니다 . auto이 경우 옵션을 사용해야합니다 .
devius

유닉스 파일 시스템에 Test1과 test1이라는 두 개의 폴더가 있다고 가정하자. Samba에서 Test1 폴더가 존재하고 유닉스의 누군가가 test1 폴더를 만들려고 시도하면 자동으로 폴더를 Test1에 병합하여 Windows 사용자가 항상 모든 파일을 볼 수 있는지 확인할 수 있습니까? 내 경험상 Windows 사용자는 Test1과 test1이 존재하는 경우 두 폴더를 볼 수 없지만 그중 하나만 볼 수 있습니다.
Erik

@Erik 일반적으로 둘 다 나타납니다. Windows는 모든 수준에서 대소 문자 구분을 이해하고 파일 시스템에 깊이까지 적용되었습니다. 그래도 시도하지 않았습니다.
Tiberiu-Ionuț Stan

1

나를 위해 일한 옵션은 다음과 같습니다.

preserve case           = yes
short preserve case     = yes
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.