Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Востановление chmod на все каталоги и файлы диска  (Прочитано 8058 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн _inc

  • Любитель
  • *
  • Сообщений: 59
  • На сообщество надейся, да сам не плошай!
    • Просмотр профиля
а что если     
do
        FILE_DETAILS=`echo "$FILE" | awk '{print $1"   "$2"   "$3}'`
        changePerms $FILE_DETAILS
done

Пользователь решил продолжить мысль 12 Марта 2011, 04:45:28:
насколько я понял там не совсем инфа о пакетах, а инфа о файлах в пакете) я так понял он из пакетов забирает права файлов, и выставляет на эти же файлы, но в распакованном виде))
да, вы правы!

Пользователь решил продолжить мысль 12 Марта 2011, 04:52:41:
#!/bin/bash
# Restores file permissions for all files on a debian system for which .deb
# packages exist.
#
# Author: Larry Kagan <me at larrykagan dot com>
# Since 2007-02-20

ARCHIVE_DIR=/var/cache/apt/archives/
PACKAGES=`ls $ARCHIVE_DIR`
cd /


function changePerms()
{
    CHOWN="/bin/chown"
    CHMOD="/bin/chmod"
    PERMS=$1
    OWN=`echo $2 | /usr/bin/tr '/' ':'`
    PATHNAME=$3

    echo -e "$CHOWN $OWN $PATHNAME"
    #`$CHOWN $OWN $PATHNAME`
    #`$CHMOD $MODE $PATHNAME`
       
}

for PACKAGE in $PACKAGES;
do
    echo -e "Getting information for $PACKAGE\n"
    FILES=`/usr/bin/dpkg -c "${ARCHIVE_DIR}${PACKAGE}"`

    for FILE in "$FILES";
    do
        FILE_DETAILS=`echo "$FILE" | awk '{print $1"\t"$2"\t"$3}'`
        changePerms $FILE_DETAILS
    done
done
« Последнее редактирование: 12 Марта 2011, 04:52:41 от _inc »

Оффлайн zeloras

  • Автор темы
  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
imho
ARCHIVE_DIR=/
PACKAGES=`ls $ARCHIVE_DIR`
FILES=`"${ARCHIVE_DIR}${PACKAGE}"`

вот что то вроде этого) и должно грабить все права) а после еще 1 файл, которй выставляет права)


Оффлайн _inc

  • Любитель
  • *
  • Сообщений: 59
  • На сообщество надейся, да сам не плошай!
    • Просмотр профиля
Додумался как права снять в файл:
sudo -i
ls -l -A -R / >> /размещение_файла_в_который_скинется_инфа
А вот теперь может как нибудь впендюлить его в скриптик, который у вас был Только надо еще будет синтаксис подредактировать, но идея вроде правильная

Пользователь решил продолжить мысль 12 Марта 2011, 15:16:32:
ЗЫ: Это надо с Live CD делать
« Последнее редактирование: 12 Марта 2011, 15:40:44 от _inc »

 

Страница сгенерирована за 0.054 секунд. Запросов: 23.