(РЕШЕНО) Убил или нет?

Спасибо всем, кто отозвался. Проблему я практически решил. Остался только один косяк:
В директориях, владелец которых изменился, файлы . и .. остались по прежнему ошибочными…
Т.е. около 10 файлов . и .. ошибочны, но их расположение в ФС неизвестно. Подскажите, пожалуйста, как мне их отыскать и исправить?
Всё, все файлы исправлены.
Добавь [Решено]
GitHub, ArchWiki, AUR
И способ решения.
lampslave
И способ решения.
Вечером, когда домой приду - напишу.
Ну, в общем…
Исходные данные: изменился только владелец файла, группа осталась.
Цель: исправить владельца рутовых файлов на root.
Решение: sudo mount /dev/sdb1 /mnt/b1
Далее - самописный скрипт.

#!/bin/bash
LIST_NAMES=`sudo ls -aR /mnt`
for NAME in $LIST_NAMES
do
LIST_FILES=`sudo find /mnt -name $NAME`
for FILE in $LIST_FILES
do
sudo ls -la $FILE | grep 'anton root' && sudo chown -h root $FILE
done
done


Работает довольно долго, зато сам просматривает все файлы и исправляет необходимые.
А скрытые-то как, исправляет?
GitHub, ArchWiki, AUR
Kycok
А скрытые-то как, исправляет?
Ну а куда он денется-то? Скрытые файлы имеют вполне конкретное название, поэтому исправляет.
Ключ -h исправляет линки, которых, кстати, много.
У меня только одна ошибка была: я не исправил права на директорию, в которую смонтировал ФС (/mnt). Поэтому ссылка . внутри /mnt и ссылки .. внутри директорий следующей ступени ФС остались не исправлены. Решил это так: ls -laiR /mnt | grep 'anton root' Иноды всех этих ссылок равны 2. Понятно, что это корень системы, т.е. точка монтирования.
не совсем понятно, зачем проверять текущего пользователя, если вы бросили ранее chown рекурсивно по всему корню. В этом контексте, лаконичнее имхо было бы что то вроде такого:
sudo find /mnt -exec sudo chown -h root {} \;
В любом случае, мне не понятно, зачем сначала ls, потом find. Можно было бы сразу ls. Или сразу find (без указания шаблона для имени).
К слову, некоторые файлы имеют другого пользователя =) Так что, возможно, какие то проблемы останутся
PGP 0x31361F01
arcanisrepo
arcanis
sudo find /mnt -exec sudo chown -h root {} \;
А разве эта команда не исправит файлы, которые в этом не нуждаются?
 
Зарегистрироваться или войдите чтобы оставить сообщение.