Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > *NIX системы: Общие вопросы > Перенос файлов с сохранением прав доступа.


Автор: Хоббит 5.2.2009, 14:52
На двух машинах есть пользователь user  и группа www (uid и gid на разных машинах для них разый).
Есть файл на одной машине
rw-rw---- user:web test

Делаю архив
tar czf test.tar.gz test

Получаю
rw-r----- user:user test.tar.gz

Копирую
scp test.tar.gz user@otherhost:~

Открываю на другой машине
tar xzf test.tar.gz

Получаю
rw-r----- user:user test
rw-r----- user:user test.tar.gz

Поменялись и права доступа и группа. Можно ли сделать так чтобы они не менялись при переносе?

Автор: Proghat 5.2.2009, 16:09
Попробуйте извлекать так:
tar xzfp test.tar.gz

Автор: bilbobagginz 6.2.2009, 10:05
в данном (простеньком) случае поможет просто сделать как рекомендует Proghat, и на целевой тачке просто сделать какой-то массовый и рекурсивный chgrp.  Но основная проблема переноса - в несоотвествии uid/gid. Это в принципе автоматом не всегда легко решить, т.к. и груп и пользователей может быть много. Поэтому в многопользовательских системах синхронизируют uid/gid-ы разными способами - либо центральной БД, которой все пользуются (nis/ldap), либо просто копируют /etc/passwd,group,shadow,gshadow между всеми компами, есть тулзы напр. rdist.



Автор: Хоббит 6.2.2009, 14:52
Спасибо за совет. В будущем приму к сведению.  Пока буду заливать и делать массовый chown smile

Автор: Хоббит 6.2.2009, 17:52
Хорошо. А чтобы копировать фалы в пределах одной системы с помощью cp с сохранением прав доступа? Или опять пользоваться tar?

Автор: bilbobagginz 7.2.2009, 01:13
ваш друг - man:
Код

man cp


Автор: inside_pointer 8.2.2009, 00:51
можно ещё сделать отдельную систему, в ней настраивать имена как угодно, находясь в ней монтировать переносимый раздел, паковать и всё, так под любой комп можно перенастроить её (просто редактируешь её /etc/passwd), занимает она вроде 300 метров
насчёт cp там параметр -p, обычно cp -pR _что_ _куда_

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)