Как изменить владение файлов, восстановленных Скальпелем на экс-толстый раздел?

Я выполнил скальпель для восстановления файлов. Входной диск является копией провального диска I Windows, сделанного с помощью ddrescue. Выходной каталог (от скальпеля) находится на экс-толстом разделе на моем диске Linux. Я использовал экс-жир, потому что Windows видит, и считайте тот раздел - и это из Windows.

Я не могу изменить владение файлов. Они принадлежат корню.

Например, в каталоге /media/me/restored/output/jpg-1-0
-rwxrwxrwx 1 root root 2983 Dec 29 23:14 00003483.jpg

$sudo chown me 00003483.jpg
показанный: изменение владения '00003483.jpg': Операция, не разрешенная

$sudo chattr -i 00003483.jpg
болтовня: Функция, не реализованная при чтении флагов на 00003483.jpg

Я не могу изменить владение каталога также.

Я также попробовал это как sudo su -

Я могу открыть восстановленный .jpg файл с eog (командная строка - программа просмотра изображений), но я не могу открыть файлы с Kria (редактор изображений Linux, GUI).

Почему не делают веб-сайты на скальпеле говорят Вам, как изменить полномочия файла? Действительно ли проблемой является несовместимость с экс-жиром?

Спасибо за любую справку.

ОБНОВЛЕНИЕ

Размонтирование раздела, изменение владения "восстановленного" каталога к моему идентификатору пользователя и затем выполнения sudo mount -o rw,user,uid=1000,dmask=007,fmask=117 /dev/sdb4 /media/me/restored не работает. "Восстановленный" каталог теперь принадлежит корню снова, и я получаю те же самые результаты, пробуя упомянутые выше шаги.

ОБНОВЛЕНИЕ - добавляющий отладочную информацию

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  

ОБНОВЛЕНИЕ

Относительно принятого ответа эта проблема была решена с командой монтирования, данной выше при первом обновлении и чем-то еще - точно, что я не знаю. Когда я сделал это в первый раз, владение файлов было все еще корневым. Команда монтирования идентична, когда я скопировал ее от Терминала до здесь. Все восстановленные файлы теперь принадлежат мне (не корень).

1
задан 30 December 2019 в 19:34

1 ответ

Исходный ответ

Вы не можете изменить владельца отдельных файлов (или каталогов). Право собственности и разрешения в файловых системах 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

Вы не изменили идентификатор пользователя (0 <---> root) раздела exfat на диске при работающей операционной системе system

/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 с помощью exfat

Я предполагаю, что ваш идентификатор пользователя - 1000 (первый созданный идентификатор пользователя),

проверьте с помощью

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

Edit 2

Если у вас возникли проблемы, вам могут потребоваться текущие версии инструментов exfat,

sudo apt update
sudo apt install exfat-utils exfat-fuse

Edit 3

Возможно, вы захотите автоматически смонтировать ваш раздел 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 = 4Cxx-xxxx , чтобы он соответствовал фактическому UUID файловой системы.

См. man fstab для подробного описания каждого из шести полей.

3
ответ дан 4 January 2020 в 19:48

Другие вопросы по тегам:

Похожие вопросы: