LINUX.ORG.RU
ФорумAdmin

Сохранить / восстановить permissions


0

0

Приветствую всех.

Уходя, адмен сделал на нескольких серваках с FreeBSD 'chmod -R 777 /'. Спасибо ему, что не cat ... > /dev/ad0 Впринципе, почти все работатет, (кроме sshd и еще некотрорых вещей, которым такие пермешены не нравятся), но права доступа хотелось бы восстановить...

Есть машина с нормальной FreeBSD. Можно как-нибудь забэкапить пермишены у файлов, а потом их на другой машине восстановить? Понимаю, что все просто, но в писании скриптов я не силен. Помогите кто-нибудь...

Или хоть подскажите, как перевести без особого гимороя записи вида drwxr-xr-x (ls -l выдает) в 755 (для chmod).

Или как заставить ls -lR не выводить названия катклогов и строчку total 'xxx файлов'. Почитал man ls -- вроде бы нет такого... grep -v делать? А если что-нибудь нужное зарежу...

В общем, буду благодарен за помощь.

★★★★★

$ls -l orig.file
-rwxr-xr-x  1 user group 963 Apr 1  2005 orig.file

$PERM=`ls -l orig.file | cut -d' ' -f1 | sed 's/.\(...\)\(...\)\(...\)/u=\1,g=\2,o=\3/; s/-//g'`


$ chmod $PERM other.file

$ echo $PERM
u=rwx,g=rx,o=rx

sdio ★★★★★
()
Ответ на: комментарий от sdio

Маленькое добавление.. :-)

В зависимости от используемого shell, для csh, к примеру -

%set PERM=`ls -ld spamass-milter-0.2.0.tar.gz | cut -d' ' -f1 | sed 's/.\(...\)\(...\)\(...\)/u=\1,g=\2,o=\3/; s/-//g'`

MiracleMan ★★★★★
()
Ответ на: комментарий от MiracleMan

сделал в итоге вот такое:

find / -print0 | xargs -0 -n 1 ls -ld | sed 's/.\(...\)\(...\)\(...\)/u=\1,g=\2,o=\3/; s/-//g' | awk '{ print "chmod " $1,$9 }' > permissions

Harliff ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.