CIFS/Samba의 한계 우회

CIFS/Samba의 한계 우회

내 상황: CIFS/Samba를 통해 공유를 제공하는 NAS가 있습니다. 내부적으로는 ext3 파일 시스템을 사용하지만 이는 관련이 없다고 생각합니다. 해당 공유에 백업하고 싶은 일부 Linux 컴퓨터(ext4 파일 시스템 사용)가 있습니다.

내 문제: 백업에 공유를 사용하면 두 가지 주요 문제가 발생합니다. 한편으로는 일부 파일의 파일 이름이 매우 길어서 CIFS가 처리할 수 없기 때문에 모든 파일을 NAS에 복사할 수 없습니다. 반면에 파일 및 디렉터리 권한은 올바르게 복사되지 않습니다. 예를 들어, 공유의 모든 파일에는 원본 파일의 권한에 관계없이 모든 "실행" 비트가 설정되어 있습니다.

내 질문: 파일 이름과 권한을 수동으로 처리하지 않고도 파일을 백업하고 복원할 수 있도록 이러한 "단점"을 우회하는 가장 쉬운 방법은 무엇입니까?

지금까지의 실험에 대한 추가 정보는 다음과 같습니다.

  1. 내 첫 번째 아이디어는 공유의 (희소) 파일 내에 ext4 파일 시스템을 만든 다음 이를 마운트하고 실제 백업에 사용하는 것이었습니다. 여기서 단점은 파일 시스템에서 파일을 제거해도 공유에 있는 ext4 "파일"의 크기가 줄어들지 않으며 파일 시스템의 크기가 처음부터 제한되어야 한다는 것입니다. 생성 후 크기를 조정하는 것은 번거롭습니다.

  2. 사용해 보았습니다암호화왜냐하면 CIFS 제한을 피할 수 있는 방식으로 파일 이름과 권한을 암호화하기를 바랐기 때문입니다. 파일 이름은 암호화되었지만 다시 파일 이름으로 사용되기 때문에 이것은 작동하지 않았습니다(따라서 긴 파일 이름은 짧아지지 않고 길어질 뿐입니다). 또한 권한은 ecryptfs에 의해 "숨겨지지" 않습니다. 암호화된 파일은 원본의 권한만 유지하므로 해독된 파일에는 다시 모든 "실행" 비트가 설정됩니다.

  3. IRC의 한 친절한 사람은 동적 개수의 대용량 파일을 사용하여 LVM용 볼륨으로 사용하도록 권장했습니다. 아직 이것을 테스트하지는 않았지만 이론적으로는 작동할 것입니다. 공유의 여러 파일에 분산되는 ext4가 있는 논리 볼륨이 있을 것입니다. 더 많은 공간이 필요하면 더 많은 파일을 생성하여 볼륨에 추가하고, 공간을 덜 사용하면 일부를 제거할 수 있습니다. 여기서 유일한 단점은 크기 조정을 수행해야 한다는 것입니다(그리고 실제로 필요한 공간이 얼마나 되는지 정기적으로 확인해야 합니다). 돌이켜보면 단일 파일을 사용하는 것보다 이점이 거의 또는 전혀 없습니다. 파일을 자르거나 늘릴 수 있고 ext4 파일 시스템의 크기도 조정할 수 있기 때문입니다.

  4. 내가 상상하는 것은 예를 들어 데이터베이스에 파일 이름과 권한을 저장하고 모든 것을 지원하기 위해 기본 파일 시스템에 의존하지 않는 FUSE입니다. 불행하게도 나는 아직 이와 같은 것을 발견하지 못했습니다.

답변1

ecryptfs가 포함된 Samba가 Ubuntu 14.04에서 작동하는 것 같습니다.

나는 이 가이드를 사용했습니다:http://www.cyberciti.biz/faq/adding-a-user-to-a-samba-smb-share/

내 직감은 다음과 같은 비밀번호를 제공하는 것이 비결이라는 것입니다.

passwd USER

그리고

smbpasswd -a USER

나는 Samba에 비밀번호가 제공될 때 ecryptfs가 비밀번호를 선택한다고 가정하고 있으며, 이것이 어떻게 발생하는지에 대한 설명을 듣고 싶습니다.

관련 정보