권한이 없는 사용자가 sudo를 사용하지 않고 Linux에서 UDF 파일 시스템을 읽고 마운트할 수 있는 방법이 있습니까?

권한이 없는 사용자가 sudo를 사용하지 않고 Linux에서 UDF 파일 시스템을 읽고 마운트할 수 있는 방법이 있습니까?

Linux 서버에서 노드를 임대하고 있습니다.

uname -a
Linux 5.15.112-gentoo #2 SMP x86_64 AMD 64-Core Processor Authentic AMD GNU/Linux

테넌트로서 저는 기본적으로 슈퍼유저가 될 수 없으며 sudo.ISO 형식으로 저장된 UDF 파일 시스템을 읽고 마운트해야 합니다.

명령에 대한 옵션으로 퓨즈ISO를 살펴보았습니다.

fuseiso ~/files/iso.iso ~/mountpoint

ISO9660그러나 UDF가 아닌 형식 만 처리하는 것 같습니다 . 그래서 그것을 사용하려고 할 때 많은 오류 메시지가 나타납니다 fuseiso.

.iso또한 설치하지 않고도 UDF를 읽고 내용을 내보낼 수 있는 도구가 있을 수도 있다고 생각했습니다 .

연구가 계속 진행 중입니다. 혹시 제안하실 분 계신가요?

답변1

udfclient예를 들어 (누락된 맨페이지)라는 유틸리티 세트가 있습니다 .더반,아키텍처Linux또는FreeBSD홈페이지 및 출처https://www.13thmonkey.org/udfclient/. 젠투용으로 패키징되었는지 여부에 관계없이 시스템 접근 권한이 없는 단순 사용자로서 어쨌든 컴파일하거나 바이너리를 복사해야 합니다.

$ udfclient 
Usage: udfclient [options] devicename [devicename]*)
-u level    UDF system verbose level
-r range    use only selected sessions like -3,5,7 or 6-
-W      allow writing (temporary flag)
-F      force mount writable when marked dirty (use with cause)
-b blocksize    use alternative sectorsize; use only on files/discs
-D      debug/verbose SCSI command errors
-s      byteswap read sectors (for PVRs)

명시적으로 명시되어 있지는 않지만,udfclientUDF 파일 시스템 이미지를 허용합니다.~처럼장치 이름, 실제 DVD 장치가 아닙니다. 처음부터 완전한 예:

$ truncate -s $((32 * 2**20)) /tmp/udf.img
$ newfs_udf -L myudf /tmp/udf.img
Opening device /tmp/udf.img

UDF device /tmp/udf.img is a regular file
    bufcache thread initialising


Disc info for disc in device /tmp/udf.img
    MMC profile        : Unknown[0] profile
    sequential         :  no
    recordable         : yes
    erasable           :  no
    blankable          :  no
    formattable        :  no
    rewritable         : yes
    mount raineer      :  no

[...]

Closing logical volume `64f5db204864e7f7`:`0019a2bf`:`myudf`
    wait for syncing disc to idle
    stopping bufcache thread
    bufcache thread joining
    signal disc its finished with writing
    wait for final disc idling
    close device
Disc access statistics
    sector reads          1  (0 Kbyte)
    sector written       91  (45 Kbyte)
    switches              3
$ cd /tmp
$ udfclient udf.img 
    bufcache thread initialising
Opening device udf.img
UDF device udf.img is a regular file

UDF Dump of disc in device udf.img
UDF sessions : Yes 

Start mounting
    retrieving volume space

[...]

Directory listing of /
drwxrwxrwx     -1     -1          40  64f5db204864e7f7:0019a2bf:myudf:fileset
UDF working directory is     /
Current FS working directory /tmp
UDF> 

udfclientUDF 파일 시스템의 루트는 대화형 모드에서 매핑되지 않습니다 . /cd작업을 먼저 수행해야 합니다. 예:

UDF> help
Selected commands available (use " pair for filenames with spaces) :
ls  [file | dir]    lists the UDF directory
cd  [dir]       change current UDF directory
lcd [dir]       change current directory
lls         lists current directory
pwd         display current directories
free            display free space on disc
get  source [dest]  retrieve a file / directory from disc
mget (file | dir)*  retrieve set of files / directories
put  source [dest]  write a file / directory to disc
mput (file | dir)*  write a set of files / directories
trunc file length   trunc file to length
mkdir dir       create directory
rm  (file | dir)*   delete set of files / directories
mv  source dest     rename a file (limited)
sync            sync filingsystem
quit            exits program
exit            alias for quit
UDF> ls
Directory listing of /
drwxrwxrwx     -1     -1          84  64f5db204864e7f7:0019a2bf:myudf:fileset
UDF> free
Can only report free space in UDF mountpoints
UDF> cd 64f5db204864e7f7:0019a2bf:myudf:fileset
UDF working directory is     /64f5db204864e7f7:0019a2bf:myudf:fileset
Current FS working directory /tmp
UDF> free
Logical volume  `myudf`
    physical partition 0
            9934 K (19869 pages) size
            9930 K (19861 pages) unallocated
               0 K (0 pages) freed

    Confirmed free space        9930 Kb ( 99 %) (    9.70 Mb) ( 0.01 Gb)
    Awaiting allocation            0 Kb (  0 %) (    0.00 Mb) ( 0.00 Gb)
    Estimated free space        9930 Kb ( 99 %) (    9.70 Mb) ( 0.01 Gb)
    Estimated total used           4 Kb (  0 %) (    0.00 Mb) ( 0.00 Gb)

    Total size                  9934 Kb (100 %) (    9.70 Mb) ( 0.01 Gb)
UDF> 

명령 외에도 udfclient제품군은 다음과 같은 다른 도구도 제공합니다.newfs_udf위의 예에서 UDF 파일 시스템을 만듭니다. 명령을 로 파이프할 수는 있지만 udfclient각 명령 뒤에 제공되는 모든 추가 정보를 제거할 수 있는 방법이 없기 때문에 좋은 스크립팅 가능성은 쉽지 않은 것 같습니다. 그러므로 무엇을 해야 할지 미리 알아야 합니다.

쓰기 테스트((옵션 -W) 사용 및 커널의 UDF 파일 시스템 구현을 사용하여 UDF 이미지를 마운트하여 루트로 확인하는 동안 손상이 감지되었습니다. 따라서 UDF 이미지를 읽는 동안에는 이 도구를 사용하지 않는 것이 좋습니다.쓰다이미지에. 이를 위해서는 파일 시스템이 원래 생성된 방식(다양한 옵션 사용 가능)이 중요할 수 있습니다.

이름이 다른 스위트룸udftoolsmkudffsUDF 파일 시스템을 생성하기 위한 대체 명령을 제공합니다. 또한 s와 동등한 기능을 wrudf제공해야 하는 명령 을 제공 udfclient하지만 UDF에서 작동하도록 관리하지 못했습니다.그림: 실제 하드웨어를 보고 싶은 것 같습니다.

답변2

이를 사용하여 7zipUDF iso 이미지를 추출할 수 있습니다.

이는 설치와 정확히 동일하지는 않지만 사용 사례에 따라 이미지 콘텐츠를 폴더에 덤프하고 거기에서 읽는 것으로 충분할 수 있습니다.

genisoimage수정 사항을 적용하고 모든 변경 사항이 포함된 원본 UDF ISO를 다시 만드는 데 사용할 수도 있습니다 .

관련 정보