모든 Linux 시스템에 대해 전체 RW 권한을 갖춘 ext4 형식의 USB 드라이브를 만드는 방법은 무엇입니까?

모든 Linux 시스템에 대해 전체 RW 권한을 갖춘 ext4 형식의 USB 드라이브를 만드는 방법은 무엇입니까?

ext4USB 스틱을 포맷 하고 Linux가 아닌 일반적인 드라이브( FAT32, exFAT, )처럼 사용하고 싶습니다 NTFS.

즉, USB 스틱을 Linux 컴퓨터에 연결하고 읽고 쓸 수 있기를 원합니다.권한을 조정할 필요가 없습니다., 예를 들어 어떤 일을 하거나 chmod어떤 chown일을 하고 있습니다.

저는 명령줄 명령보다는 GParted와 같은 GUI 파티셔닝 소프트웨어를 사용하는 것을 선호하지만 어떤 솔루션이라도 환영합니다!

나는 이와 같은 게시물이 일부 사람들에게는 중복의 천국이라고 확신하지만 Google에서 6~10개의 SO 및 포럼 게시물을 검색한 후에도 내 문제에 대한 간단한 해결책을 찾지 못했습니다. 사용자별로 권한을 조정하는 것이 전부인 것 같습니다. 아마도 ext4드라이브를 사용하는 것만 큼 무의식적으로 편리할 수는 없을 것입니다 NTFS.

답변1

Unix 스타일 파일 시스템과 마찬가지로 ext4에는 표준 Unix 파일 소유권 및 권한 규칙이 포함되어 있습니다. 즉, 사용자는 UID 번호로 식별되고 각 사용자는 하나 이상의 그룹에 속하며 각 그룹은 GID 번호로 식별됩니다. 각 파일에는 소유자 UID와 그룹 소유자 GID가 있습니다. 세 가지 클래식 Unix 파일 권한 집합은 다음과 같습니다.

  • 소유자의 UID 번호로 식별되는 소유자에 대한 권한 집합
  • 그룹의 GID 번호로 식별되는 그룹 소유자의 권한 집합
  • 다른 사람에게 일련의 권한 부여

권한을 조정하지 않고 스틱에 액세스하려면 스틱에 생성된 모든 파일과 디렉터리가 자동으로 비제한적인 권한을 갖게 되는지 확인해야 합니다. 문제는 생성된 새 파일의 권한이 값에 의해 제어된다는 것입니다 . USB 스틱에 파일을 생성하고 일반적인 사용을 위해 기본값(일반적 으로 또는 ) 으로 되돌리기 위해 umask계속 변경하고 싶지는 않습니다. . 실수로 인해 권한이 널리 공개된 중요한 프로필이 생성될 수 있으며, 이로 인해 사용자 계정의 보안이 손상되거나 기타 작은 문제가 발생할 수 있습니다.000002022

일반 사용자의 UID 번호가 모든 Linux 시스템에서 동일하다는 것을 보장하고 이 사용자의 액세스 권한(물론 루트 포함)에만 관심이 있다면 USB 디스크를 ext4로 포맷하기만 하면 됩니다. 처음으로 파일 시스템을 사용하기 전에 이를 설치하고 일반 사용자 계정에 루트 디렉토리의 소유권을 할당하십시오.

이것이 /dev/sdX1파일 시스템을 생성하려는 USB 스틱의 파티션이고 <username>사용자 이름이라고 가정하면 사용할 USB 스틱을 설정할 때 이 작업을 수행할 수 있습니다.

sudo mkfs.ext4 /dev/sdX1
sudo mount /dev/sdX1 /mnt
sudo chown <username>: /mnt
sudo umount /mnt

그러나 UID/GID 번호가 일치하는지 보장할 수 없거나 USB 스틱을 사용하려는 사용자가 여러 명인 경우 더 복잡한 작업을 수행해야 하지만 이후에도 스틱에서 일회성 작업을 수행해야 합니다. ext4 파일 시스템을 생성합니다.

우리는기본 액세스 제어 목록USB 스틱 파일 시스템의 루트 디렉터리에 있는 모든 사람에게 새 파일이나 디렉터리에 대한 전체 액세스 권한을 할당합니다. ACL 지원이 활성화된 상태에서 스틱이 마운트되도록 하려면 tune2fs파일 시스템 메타데이터에 저장된 기본 마운트 옵션을 조정해야 합니다.

sudo mkfs.ext4 /dev/sdX1
sudo tune2fs -o acl /dev/sdX1
sudo mount /dev/sdX1 /mnt
sudo chown <username>: /mnt
chmod 777 /mnt
setfacl -m d:u::rwx,d:g::rwx,d:o::rwx /mnt
sudo umount /mnt

모든 시스템이 ext4 파일 시스템의 ACL을 지원하고 사용 중인 이동식 미디어 설치 도구가 설치 무시 옵션을 선택하지 않는다고 가정하면 이제 acl생성한 USB 스틱이 있어야 합니다. -rw-rw-rw-권한. 생성된 하위 디렉터리는 입니다 drwxrwxrwx+. 더하기 기호는 하위 디렉터리에 ACL이 있음을 나타냅니다. 즉, 스틱 루트에 대해 구성된 사용자 정의 기본 권한 집합도 하위 디렉터리에 상속되며 동일하게 작동합니다.

소유자 UID/GID는 파일 시스템에서 파일을 생성한 사용자의 UID 및 기본 GID와 여전히 일치하지만 파일 및 디렉터리 권한이 완화되었으므로 이는 큰 문제가 되지 않습니다.

내가 예상할 수 있는 유일한 문제는복사기본적으로 파일을 USB 스틱에 복사하면 원본 파일의 파일 권한을 복사하려고 시도하지만 이 경우에는 복사를 원하지 않습니다.

예를 들어 시스템 A에서 -rw-r--r-- 권한이 있는 파일을 생성한 경우 해당 파일을 스틱에 복사한 다음 UID 번호가 일치하지 않는 시스템 B로 스틱을 이동합니다. 시스템 B의 파일을 계속 읽을 수 있지만 먼저 원본 파일을 명시적으로 삭제하거나 이름을 바꾸지 않으면 해당 스틱의 파일을 덮어쓸 수 없습니다. 하지만 당신이 가지고 있는 한 이것을 할 수 있습니다파일이 위치한 디렉토리.

이것은 실제로 유용한 기능입니다. 여러 시스템에서 동일한 파일을 수정하는 경우 실제 파일을 덮어쓰는 대신 매번 새 버전의 파일을 저장하도록 권장합니다... 그리고 파일이 중요한 경우에는 실제로 좋은 일이 될 수도 있습니다.

관련 정보