"/media/$USER"에 설치된 장치의 소유권을 영구적으로 변경하는 방법은 무엇입니까?

"/media/$USER"에 설치된 장치의 소유권을 영구적으로 변경하는 방법은 무엇입니까?

디스크 공간 확장을 위해 암호화된(LUKS 및 ext3을 사용한 cryptsetup) SD 카드를 사용합니다. 노틸러스에 키를 입력하면 장치의 암호가 해독되어( /dev/dm-3) 노틸러스에 설치됩니다 /media/$USER/. 불행히도 소유자는 루트입니다. 설치된 장치의 소유권을 영구적으로 변경하는 방법은 무엇입니까 /media/$USER?

다음 udev 규칙을 시도했습니다.

ENV{ID_FS_UUID}=="a1d9e412-fd9d-4e44-a98f-d0d6f2de83c2", SUBSYSTEM=="block", OWNER="david"

그러나 그것은 효과가 없었습니다.

소유자가 장치를 설치하려는 사용자로 설정되도록 동적 소유권을 가질 수 있습니까?

답변1

여기서 개념이 혼란스럽습니다. udev규칙에 따라 소유권이 변경됩니다 .장치 노드디스크. 이는 파일 시스템 항목의 소유권 및 권한과 완전히 독립적입니다.포함하다파일 시스템.

기본적으로 두 가지 유형의 파일 시스템이 있습니다. 일반적인 UNIX 파일 시스템( ext[2-4]XFS, JFS, Btrfs 등)과 같이 파일 소유권 개념을 이해하는 시스템과 적어도 "이전" Windows를 좋아하지 않는 시스템입니다. /DOS 파일 시스템(FAT*).

후자의 커널 파일 시스템 드라이버에는 일반적으로 사용자 공간에 제공할 소유자와 권한을 커널에 알려주는 마운트 옵션이 있습니다. Linux는 다중 사용자 시스템이고 사용자는 필요에 따라 파일에 대해 분리해야 하기 때문에 외부 드라이브가 우수하더라도 마찬가지입니다. Nautilus & Co.는 일반적으로 파일 소유권 개념 없이 파일 시스템을 마운트할 때 이러한 마운트 옵션을 사용하여 사용자(일반적으로 현재 활성 세션의 소유자)가 파일을 "소유"하도록 합니다.

파일 소유권 개념이 있는 파일 시스템(예: ext3사용 중인 시스템)의 경우 상황이 다릅니다. 이 파일 시스템의 파일에는 명확한 소유자가 있으므로 커널은 이를 존중합니다. 이러한 파일 시스템은 또한 이 동작(언급된 마운트 옵션과 같은)을 재정의하는 메커니즘을 제공하지 않습니다. 이는 보안을 손상시킬 수 있기 때문입니다. 따라서 이와 같은 파일 시스템을 마운트하면 커널은 Nautilus를 통해서도 실제 파일 소유권을 존중합니다.

너무 길어요.:변화블록 장치사용자의 소유권은 문제를 해결하거나 발전시키지 않습니다. 커널을 만들 수 있는 방법이 없습니다.성능당신이 파일의 소유자인 것처럼 보이지만 실제로는만들다귀하는 소유자입니다. 즉, chmod이 작업을 수행하면 됩니다.영구그러나 파일 시스템 자체를 변경하는 경우. 이로 인해 이 방법은 다른 컴퓨터의 시스템 파티션 등을 복구하는 데 적합하지 않습니다.

소유권을 영구적으로 변경할 수 있거나 변경할 의도가 있고 root장치를 사용하려는 시스템에 액세스할 수 있는 경우 파일 시스템을 마운트한 후에 변경할 수 있습니다 chown -R <user> /media/<user>.root

그러나 다른 시스템이 있고 계정의 UID가 모든 시스템에서 일치하지 않으면 다음 컴퓨터에서도 동일한 문제가 다시 발생한다는 점에 유의하십시오. 이 경우 계정의 UID를 일치하도록 변경하거나(권한이 있는 경우) 소유권을 알 수 없는 파일 시스템(예: FAT32)으로 장치를 포맷할 수 있습니다.

관련 정보