The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Слетели права на /*"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Слетели права на /*"  
Сообщение от calculator (ok) on 19-Июн-06, 14:17 
На сервер1 ставился софт. Был неправильно сконфигурирован, поставил везде rwxrwxr-x начиная с корня.
Есть сервер2 похожего конфига. Можно с него взять список файлов, прав и применить на сервер1. Хочется сделать без лишнего гемора, а именно взять права в виде цифр типа 0755. Но каким образом взять в цисловом формате я так и ненашел.
Может при таком _перетаскивании_ прав кому видны подводные камни? Посоветуйте как лучьше востановиться. Сервер пока не перезагружался, но уже были проблемы со службами.
SuSE 9.3
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Слетели права на /*"  
Сообщение от Hammer (??) on 20-Июн-06, 18:57 
>На сервер1 ставился софт. Был неправильно сконфигурирован, поставил везде rwxrwxr-x начиная с
>корня.
>Есть сервер2 похожего конфига. Можно с него взять список файлов, прав и
>применить на сервер1. Хочется сделать без лишнего гемора, а именно взять
>права в виде цифр типа 0755. Но каким образом взять в
>цисловом формате я так и ненашел.
>Может при таком _перетаскивании_ прав кому видны подводные камни? Посоветуйте как лучьше
>востановиться. Сервер пока не перезагружался, но уже были проблемы со службами.
>
>SuSE 9.3

chmod 755 от корня - это круто!
Сохрани конфиги и сноси систему!

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Слетели права на /*"  
Сообщение от Михаил (??) on 20-Июн-06, 19:27 
>На сервер1 ставился софт. Был неправильно сконфигурирован, поставил везде rwxrwxr-x начиная с
>корня.
>Есть сервер2 похожего конфига. Можно с него взять список файлов, прав и
>применить на сервер1. Хочется сделать без лишнего гемора, а именно взять
>права в виде цифр типа 0755. Но каким образом взять в
>цисловом формате я так и ненашел.
>Может при таком _перетаскивании_ прав кому видны подводные камни? Посоветуйте как лучьше
>востановиться. Сервер пока не перезагружался, но уже были проблемы со службами.
>
>SuSE 9.3


Проще переустановить систему, чем исправить :-)

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Слетели права на /*"  
Сообщение от TR (??) on 21-Июн-06, 02:44 
Мда не первый раз встречаю такую проблему.
От ошибок, уважаемый, ни кто не застрахован.
Думаю еще просто в голову никому не приходило написать скрипт для каждой в отдельности системы (linux, BSD, Solaris) для решения данной проблемы.
Думаю этим должны заниматься сами разработчики.
Поправьте если не прав.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Слетели права на /*"  
Сообщение от newser (??) on 21-Июн-06, 09:29 
>Мда не первый раз встречаю такую проблему.
>От ошибок, уважаемый, ни кто не застрахован.
>Думаю еще просто в голову никому не приходило написать скрипт для каждой
>в отдельности системы (linux, BSD, Solaris) для решения данной проблемы.
>Думаю этим должны заниматься сами разработчики.
>Поправьте если не прав.


В BSD есть mtree... Про linux не знаю...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Слетели права на /*"  
Сообщение от lavr email on 21-Июн-06, 11:49 
>Мда не первый раз встречаю такую проблему.
>От ошибок, уважаемый, ни кто не застрахован.
>Думаю еще просто в голову никому не приходило написать скрипт для каждой
>в отдельности системы (linux, BSD, Solaris) для решения данной проблемы.
>Думаю этим должны заниматься сами разработчики.
>Поправьте если не прав.

не прав.
В ряде систем, существует mtree и дерево с данными для chmod & chown, НО актуально
это только для САМОЙ СИСТЕМЫ, те РОВНО для дистрибутива и НЕ БОЛЕЕ ТОГО.
Далее администратор начинает ставить пакеты - это уже НЕ DISTRIBUTIVE и chmod/chown взять
можно только из системы пакетов, если таковое поддерживается пакетным менеджером.
А если администратор ставит что-то из SOURCES - тут и вовсе надеется только на себя
или третичный софт для chmod/chown.
Собственно какой тут третичный софт? Ночью find с сохранением дерева chown-chmod или
что-то подобное.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Слетели права на /*"  
Сообщение от шыпахлйаг on 21-Июн-06, 06:29 
fsbackup (resp Max ;) делает листинг филаф с пермами при быкупи
тады 1) креати на близнице 2) рестори с ниго левы на инвалиде
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Слетели права на /*"  
Сообщение от xkw email on 21-Июн-06, 11:05 
>На сервер1 ставился софт. Был неправильно сконфигурирован, поставил везде rwxrwxr-x начиная с
>корня.
>Есть сервер2 похожего конфига. Можно с него взять список файлов, прав и
>применить на сервер1. Хочется сделать без лишнего гемора, а именно взять
>права в виде цифр типа 0755. Но каким образом взять в
>цисловом формате я так и ненашел.
>Может при таком _перетаскивании_ прав кому видны подводные камни? Посоветуйте как лучьше
>востановиться. Сервер пока не перезагружался, но уже были проблемы со службами.
>
>SuSE 9.3


Незнаю поможет ли тебе - но я написал скриптик на перле который выставит нужные вермишшены в сответствии с шаблоном.

должен работать...

на исправной машине делаешь
ls -alR / (или ls -alR /usr - в зависимости от того что попортил) в файл, например:
ls -alR / >root.ls

Далее копируешь на неисправную машину в рут и на ней выполняешь ниде приложеный скрипт примерно так:

# pwd
/

# ls | grep root.ls
root.ls

# perl chmoder root.ls /
....
Оно должно выставить все пермишшены не совпадущие а так же и группы и овнеров.
Первый параметр - имя слепка
Второй - имя каталога от которого ты всё делаешь.

ПРилагаю скрипт:

#!/usr/bin/perl
use strict;

my $wd = $ARGV[1];

open (FL, "<", $ARGV[0]);
while (<FL>) {
    s/\n//g;
    next unless $_;
    next if (/^total/);

    my @a = split /\s+/;

    if (!$a[8] && /^(.*):$/) {
        $wd = $1;
     #   print "New Dir: $wd\n";
        next;
    }

    next unless $a[8];

    next if ($a[8] =~ /^(\.|\.\.)$/);
    my $perm = $a[0];
    my $own  = $a[2];
    my $grp  = $a[3];
    my $file = $wd."/".$a[8];

    my $flstat = `ls -al $file`;

    # For dirs:
    if ($perm =~ /^d/i) {
        my @at = '';
        while ($flstat =~ s/^(.*?)\n//) {
            my @s = split /\s+/, $1;
            if ($s[8] eq ".") { # Current dir
                @at = @s;
                $flstat = '';
            }
        }

        if (scalar @at) {
            # Permission check:
            if ($at[0] ne $perm) {
                $perm =~ s/^\d/-/g;
                system ("chmod $perm $file");
            }

            # Owner check:
            if ($at[2] ne $own) {
                system ("chmod $own $file");
            }

            # Group check:
            if ($at[3] ne $grp) {
                system ("chmod $grp $file");
            }


        }

    # For file processing:
    } else {
        my @at = split /\s+/;

        # If needed file:
        if ($at[8] eq $a[8]) {

            # Permission check:
            if ($at[0] ne $perm) {
                system ("chmod $perm $file");
            }

            # Owner check:
            if ($at[2] ne $own) {
                system ("chmod $own $file");
            }

            # Group check:
            if ($at[3] ne $grp) {
                system ("chmod $grp $file");
            }
        }
    }

}

close (FL);

exit(0);

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Слетели права на /*"  
Сообщение от calculator (ok) on 23-Июн-06, 15:01 
mtree -с > /tmp/mtree_; mtree -Uef /tmp/mtree_ помогло. После перезагрузки на первый взгляд все хорошо. Далее понаблюдаем :)
Паралельно тема: http://forum.sysadmins.ru/viewtopic.php?p=7104855#7104855
Всем спасибо.


Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру