내가 사용하는 USB 디스크가 있습니다서로 다른 운영 체제를 사용하는 컴퓨터 간의 데이터 동기화(현재 다음과 같은 멋진 GUI 유틸리티를 사용하고 있습니다.무료 파일 동기화), 이는 NTFS로 형식화됩니다(긴 파일 이름과 대문자 및 소문자 사용을 더 잘 지원하므로 FAT32보다 좋습니다). 여기에서 Linux 컴퓨터로 파일을 복사하면 불행하게도 모든 실행 파일(쓰기 및 읽기 가능 파일 포함)을 얻게 되는데, 이는 문제입니다.
이 문제를 어떻게 해결할 수 있나요?
다음을 수행하는 fstab 항목을 만듭니다.오직해당 USB ntfs 디스크에 적용(또는 수동 명령 사용, 즉 sudo mount ...
)을 사용하여 644와 같은 액세스 권한으로 마운트하지만USB 디스크에 대한 전체 액세스 권한을 다시 부여해 주세요.(즉, 루트 소유권이 없음)?
수동 명령(예: Nautilus 파일 관리자 대신)을 사용하여 복사(바람직하게는)동기화) ntfs 가져오기 권한이 없는 파일이 있습니까? rsync -rltgoD /source/ /target/
-p(권한 유지)를 생략하려고 시도했지만 성공하지 못했습니다.
이상적으로는 GUI 동기화 도구를 선호합니다(예:무료 파일 동기화) 이 옵션을 제공하지만 거기에는 없는 것 같습니다.
그러한 GUI 도구가 없다면 아마도 다음과 같은 것을 선호할 것입니다.이 동기화 시나리오에서 설정하고 잊어버릴 수 있는 빠른 수동 조정.
그렇지 않은 경우 현재 사용할 수 있는 옵션은 FreeFileSync를 사용하여 평소처럼 동기화/복사 작업을 계속한 다음 터미널 명령을 실행하여 find . -type f -exec chmod -R 644 {} \;
읽기 가능한 모든 권한을 실행 파일로 처리하는 ntfs 파일 시스템으로 인해 발생하는 문제를 해결하는 것 같습니다.
답변1
이것은 매우 일반적인 질문이며 확실히 반복됩니다.
NTFS를 설치할 때 파일 수준이 아닌 파일 권한을 설정합니다.
sudo mount -t ntfs -o rw,auto,user,fmask=0133,dmask=0000 /dev/whatever /mnt/whatever
/etc/fstab에 올바른 줄을 배치하면 GUI를 완전히 사용할 수 있습니다.
dmask
디렉터리 마스킹(777 - 마스크), fmask
파일 마스킹(현재 0777-0133 = 0644).
숫자의 의미는 다음과 같습니다.
- 0(특수 NTFS는 IMO를 사용하지 않음)
- 6(소유자의 권리)
- 4(오른쪽 그룹)
- 4(다른 사람의 권리).
숫자의 의미: (여러 권한을 가지려면 이 숫자를 함께 추가해야 합니다)
- 4 - 올바르게 읽으세요
- 2 - 올바르게 작성하세요
- 1 - 집행권
디렉터리에 들어가려면 디렉터리가 실행 가능해야 합니다.
"자동 마운트" 기능을 유지하고 싶지만 파일 권한을 변경하려면 /etc/fstab에 적절한 줄을 작성하십시오. 예:
UUID=02C8AE4FC8AE40B1 /mnt/usbntfs ntfs-3g fmask=0111 0 1
의미:
- UUID: 디스크의 고유 식별자입니다. 당신은 확인할 수 있습니다
sudo blkid
- 두 번째 매개변수는 시스템이 자동으로 마운트하는 위치입니다(안타깝게도 이 하위 디렉터리는 USB를 제거해도 삭제되지 않습니다).
- 세 번째는 파일 시스템 유형입니다.
- 네 번째 매개변수는 변경하려는 플래그입니다(현재는 파일의 실행 비트만 비활성화합니다).
- 5번째와 6번째 매개변수는 여기서 관련이 없습니다. 그냥 입력하세요.
0 1
질문의 다른 부분:
permissions
Linux에서는 매개변수를 추가하면 NTFS 파티션의 권한과 소유권을 "사용"할 수 있습니다.
UUID=02C8AE4FC8AE40B1 /mnt/usbntfs ntfs-3g permissions 0 1
참고: 이는 fmask 및 dmask와 호환되지 않습니다. 하지만 이에 대해 귀하가 어떻게 생각하는지, Windows에서 귀하의 권리에 어떤 영향을 미치는지는 모르겠습니다.