sudo/root 없이 루프백 파일을 마운트하고 수정할 수 있습니까? [복사]

sudo/root 없이 루프백 파일을 마운트하고 수정할 수 있습니까? [복사]

튜토리얼을 사용하기 쉬운 스크립트로 수정하려고 합니다. http://qt-project.org/wiki/RaspberryPi_Beginners_guide.

나는 sudo/root의 필요성을 최소화하려고 노력하고 있습니다(바람직하게는 마지막 dd단계에만 해당).

내 질문은 다음과 같습니다

  1. sudo/root 권한 없이 어떤 방식으로든 ext4 파일 시스템을 마운트할 수 있나요?

  2. FS의 사용자/그룹을 무시하는 방식으로 설치할 수 있습니까? (그래서 sudo 없이 make install을 실행할 수 있습니까?)

파일 시스템은 현재 -o loop,offset=62914560파일의 오프셋(예: 루프백)에서 마운트됩니다.

이 파일은 라즈베리 파이를 부팅하는 데 사용되는 SD 카드에 복사될 이미지입니다.

답변1

당신이 원하는libguestfs. 당신은 그것을 사용할 수 있습니다손님 물고기또는게스트몬트, 또는 다음을 통해 직접 라이브러리를 사용하세요.C 인터페이스또는 다음과 같은 많은 언어 바인딩 중 하나파이썬.

답변2

시스템이 udisk를 사용하는 경우(그리고 polkit에서는 루트가 아닌 사용자가 udisk를 마운트하도록 허용함) 다음을 사용하여 파일을 마운트할 수 있습니다.

udisksctl loop-setup -f file.img -o <OFFSET>

<OFFSET>루프백 설치를 시작하기 위한 바이트 수를 나타내는 정수 값입니다. -r읽기 전용으로 설치하려는 경우 이 스위치를 사용할 수 있습니다.

답변3

이에 대해 저는 다음과 같은 생각을 했습니다.

/etc/fstab일반 권한을 가진 사용자로 설치하려는 장치에 대한 행을 추가할 수 있습니다.

샘플 라인은 다음과 같습니다

/dev/mydevice    /mnt/directory    auto    rw,user    0    0

이 라인을 통해 일반 사용자는 장치 mydevice에 설치할 수 있으며 장치를 읽고 쓸 수도 있습니다. /mnt/directory전화만 하면 돼

mount mydevice

또는

mount /mnt/directory

구문에 대한 훌륭한 설명을 보려면 /etc/fstab다음을 확인해야 합니다.

www.tuxfiles.org/linuxhelp/fstab.html


이는 raspberryUSB 장치이므로 udev특정 udev 규칙(자동 마운트 등)을 추가하여 이를 더욱 우아하게 달성할 수 있습니다. 이 경우 추가 설명이 필요하시면 지금 설명하겠습니다.

답변4

설치하려면 슈퍼유저 권한이 필요합니다. 그러나 이는 sudo, mount 또는 fusionmount와 같은 setuid 도우미 명령을 통해 사용할 수 있습니다. /etc/fstab에서 관리자는 일부 일반 사용자에게 특정 FS를 마운트하도록 허용할 수 있습니다. 특정 사용자는 fusion을 통해 파일 시스템을 마운트하도록 허용할 수 있습니다. 예를 들어 FS가 ext인 경우 fusionext를 사용할 수 있습니다.

아니면 파일 시스템 내에서 쓸 수 있는 애플리케이션을 사용하면 설치하지 않고도 이를 수행할 수 있습니다. 예를 들어, debugfs는 ext fs 이미지에 쓸 수 있고(디렉터리, 파일 생성, 소유권 변경...) debugfs는 쉽게 스크립트될 수 있습니다. qemu를 사용하여 Linux 커널 및 관련 명령을 실행하여 FS에 쓸 수도 있습니다.

관련 정보