私はファイルを回復するためにメスを走らせました。入力ディスクは、ddrescueを使用して作成した、障害のあるWindowsディスクのコピーです。 (メスからの)出力ディレクトリは、Linuxディスクのexfatパーティションにあります。 Windowsはそのパーティションを表示および読み取ることができるため、exfatを使用しました。これらはWindowsからのものです。
ファイルの所有権を変更できません。それらはrootが所有しています。
たとえば、ディレクトリ/media/me/restored/output/jpg-1-0
-rwxrwxrwx 1 root root 2983 Dec 29 23:14 00003483.jpg
$Sudo chown me 00003483.jpg
chown: '00003483.jpg'の所有権を変更:操作は許可されていません
$Sudo chattr -i 00003483.jpg
chattr:00003483.jpgのフラグの読み取り中に機能が実装されていません
ディレクトリの所有権も変更できません。
私もこれをSudo su -
として試しました
回復した.jpgファイルをeog(コマンドライン-画像ビューアー)で開くことができますが、Kria(Linux画像エディター、GUI)でファイルを開くことができません。
メスのWebサイトにファイルのアクセス許可の変更方法が表示されないのはなぜですか?問題はexfatとの非互換性ですか?
助けてくれてありがとう。
更新
パーティションをアンマウントし、「復元された」ディレクトリの所有権を自分のユーザーIDに変更してから、Sudo mount -o rw,user,uid=1000,dmask=007,fmask=117 /dev/sdb4 /media/me/restored
を実行しても機能しません。 「復元された」ディレクトリは再びrootによって所有されるようになり、上記の手順を実行してもまったく同じ結果が得られます。
UPDATE-デバッグ情報の追加
lsblk -f
sdb
├─sdb1 vfat xxxx-xxxx /boot/efi
├─sdb2 ext4 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /
├─sdb3 swap xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [SWAP]
└─sdb4 exfat SSD-D xxxx-xxxx /media/me/rest
更新
受け入れられた回答に関して、この問題は最初の更新で上記のmountコマンドを使用して修正されましたが、正確には私が知りません。初めてそれを行ったとき、ファイルの所有権はまだrootでした。ターミナルからここにコピーしたので、mountコマンドは同じです。復元されたすべてのファイルの所有者は(ルートではなく)私です。
個々のファイル(またはディレクトリ)の所有権を変更することはできません。 Microsoftファイルシステム(exFAT、Fat32、およびNTFS)の所有権とアクセス許可はマウント時に設定され、それを変更する(Linuxの場合)唯一の方法は、ファイルシステムを再マウントする(またはアンマウントして再度マウントする)ことです。
詳細は このリンク をご覧ください。
lsblk -f
loop0
└─cryptswap1
swap cbxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [SWAP]
sda isw_raid_m
├─sda1 vfat SYSTEM_DRV 90xx-xxxx
├─sda2 isw_raid_m
├─sda3 ntfs Windows E2xxxxxxxxxxxxxx /media/me/Wind
├─sda4 exfat Restored B4xx-xxxx /media/me/Rest
└─sda5 ntfs WINRE_DRV B2xxxxxxxxxxxxxx
sdb
├─sdb1 vfat A3xx-xxxx /boot/efi
├─sdb2 ext4 3bxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /
├─sdb3 swap 3cxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx [SWAP]
└─sdb4 exfat SSD-D 4Cxx-xxxx /media/me/rest
sdc
├─sdc1 vfat ESP A2xx-xxxx
├─sdc2 vfat DIAGS 9Exx-xxxx
├─sdc3 ntfs WINRETOOLS 72xxxxxxxxxxxxxx
├─sdc4 ntfs OS 92xxxxxxxxxxxxxx
└─sdc5
cat /etc/mtab # edited to focus on the relevant lines
/dev/sdb4 /media/me/restored fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
実行中のオペレーティングシステムのあるドライブのexfatパーティションのユーザーID(0 <--->ルート)を変更していません
/dev/sdb2 / ext4 rw,relatime,errors=remount-ro,stripe=256 0 0
/dev/sdb1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
sudodus@bionic64 ~ $ lsblk -f /dev/sdc
sdc iso9660 Xubuntu Core 19.10 - AMD64 2019-10-17-15-54-31-00
├─sdc1 iso9660 Xubuntu Core 19.10 - AMD64 2019-10-17-15-54-31-00 /media/sudodus/Xubuntu Core 19.10 - AMD64
├─sdc2 vfat 866D-0A62
└─sdc3 exfat USBDATA 5673-C08D /media/sudodus/USBDATA
私のexfatファイルシステムは/dev/sdc3
にあり、権限を検査します。
sudodus@bionic64 ~ $ grep 'sdc3' /etc/mtab
/dev/sdc3 /media/sudodus/USBDATA fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
パーティションをアンマウントし、
sudodus@bionic64 ~ $ Sudo umount /dev/sdc3
[Sudo] lösenord för sudodus:
リンクされた回答(実際のデバイス/ dev/sdc3用に変更された)の指示に従ってパーティションをマウントします。
sudodus@bionic64 ~ $ Sudo mount -o rw,user,uid=1000,dmask=007,fmask=117 /dev/sdc3 /mnt/sd1
Fuse exfat 1.2.8
所有権(はい、私です)と権限をls -l
で確認します
sudodus@bionic64 ~ $ Sudo ls -l /mnt/sd1
totalt 128
-rw-rw---- 1 sudodus root 29 dec 29 17:49 hej.txt
サブディレクトリを作る
sudodus@bionic64 ~ $ mkdir /mnt/sd1/subdir
(通常のユーザーとして)ファイルを作成します。
sudodus@bionic64 ~ $ echo "Hello World" > /mnt/sd1/hello.txt
最後に、それが機能したことを確認し、所有権と権限を確認します
sudodus@bionic64 ~ $ Sudo ls -l /mnt/sd1
totalt 384
-rw-rw---- 1 sudodus root 29 dec 29 17:49 hej.txt
-rw-rw---- 1 sudodus root 12 dec 30 15:56 hello.txt
drwxrwx--- 1 sudodus root 131072 dec 30 15:54 subdir
sudodus@bionic64 ~ $
/dev/sdb4
の推奨コマンドライン私はあなたのユーザーIDが1000(最初に作成されたユーザーID)であると想定しています。
確認する
grep "^$USER" /etc/group
必要に応じてuid=1000
を変更します。
Sudo umount /dev/sdb4
Sudo mkdir /mnt/sd4 # create mount point (only once)
Sudo mount -o rw,user,uid=1000,dmask=007,fmask=117 /dev/sdb4 /mnt/sd4
問題がある場合は、exfatツールの現在のバージョンが必要な場合があります。
Sudo apt update
Sudo apt install exfat-utils exfat-Fuse
起動時にexfatパーティションを自動的にマウントしたい場合があります。その場合、ファイル/etc/fstab
の次の行をお勧めします。
# partition with exfat file system
UUID=4Cxx-xxxx /mnt/sd4 exfat defaults,rw,user,uid=1000,dmask=007,fmask=117 0 0
ファイルシステムの実際のUUIDと一致するようにUUID=4Cxx-xxxx
を変更します。
6つのフィールドの詳細については、man fstab
を参照してください。