Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
Спасибо всем, кто отозвался. Проблему я практически решил. Остался только один косяк: В директориях, владелец которых изменился, файлы . и .. остались по прежнему ошибочными… Т.е. около 10 файлов . и .. ошибочны, но их расположение в ФС неизвестно. Подскажите, пожалуйста, как мне их отыскать и исправить? |
Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
Всё, все файлы исправлены. |
Kycok |
|
Темы:
32
Сообщения:
1585
Участник с: 09 января 2013
|
Добавь [Решено] |
lampslave |
|
Темы:
32
Сообщения:
4801
Участник с: 05 июля 2011
|
И способ решения. |
Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
lampslaveВечером, когда домой приду - напишу. |
Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
Ну, в общем… Исходные данные: изменился только владелец файла, группа осталась. Цель: исправить владельца рутовых файлов на 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 Работает довольно долго, зато сам просматривает все файлы и исправляет необходимые. |
Kycok |
|
Темы:
32
Сообщения:
1585
Участник с: 09 января 2013
|
А скрытые-то как, исправляет? |
Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
KycokНу а куда он денется-то? Скрытые файлы имеют вполне конкретное название, поэтому исправляет. Ключ -h исправляет линки, которых, кстати, много. У меня только одна ошибка была: я не исправил права на директорию, в которую смонтировал ФС (/mnt). Поэтому ссылка . внутри /mnt и ссылки .. внутри директорий следующей ступени ФС остались не исправлены. Решил это так: ls -laiR /mnt | grep 'anton root' Иноды всех этих ссылок равны 2. Понятно, что это корень системы, т.е. точка монтирования. |
arcanis |
|
Темы:
31
Сообщения:
1496
Участник с: 09 сентября 2012
|
не совсем понятно, зачем проверять текущего пользователя, если вы бросили ранее chown рекурсивно по всему корню. В этом контексте, лаконичнее имхо было бы что то вроде такого: В любом случае, мне не понятно, зачем сначала ls, потом find. Можно было бы сразу ls. Или сразу find (без указания шаблона для имени).К слову, некоторые файлы имеют другого пользователя =) Так что, возможно, какие то проблемы останутся |
Anton8830 |
|
Темы:
23
Сообщения:
175
Участник с: 16 ноября 2013
|
arcanisА разве эта команда не исправит файлы, которые в этом не нуждаются? |