Как перенести папки с одной машины на другую, сохранив при этом права доступа к ним?
У меня слетают все права, даже при копировании папки на одной машине.
lobrik wrote:
> Как перенестипапки с одной машины на
> другую, сохранив при этом права доступа
> к ним?
А каким образом переносите?
> У меня слетают все права, даже при
> копировании папки на одной машине.
Вроде, устанавливаются права пользователя, который производит
копирование.
Используйте tar с ключами ‘–preserve-permissions --same-owner’
я использую команду cp -a источник приемник
Не забывайте, чтобы данная система сработала, на машине “приемнике” UID’ы пользователей должны совпадать с таковыми на машине “доноре”.
Passwd, shadow были скопированы с источника. Т.е. задача перенести всё на новую машину, сохраняя права на файлы/папки. Пробовал tar’ом, но всё равно, результат тот же.
Кстати и cp –a, тот же результат. Всё сохраняется только при перемещении папки.
cp -a от пользователя root делаете?
да, от root
перенести можно тысячью способов, и совершенно не важно, как именно.
Не понятно, что мешает после отредактировать права доступа как Вам нужно? весь скрипт из пары строк и получиться.
Я полагаю, что отредактировать права доступа в сложной и неоднородной структуре каталогов, может оказаться трудоемкой задачей.
lobrik, расскажите подробней как вы копируете и переносите файлы. Видимо мы что-то упускаем из виду и не можем понять, почему у вас не получается сделать такую простую операцию.
Необходимо перенести SAMBA каталог с одной системы на другую. В этот шаринг заходят пользователи от своего имени. У каждого разграничения на доступ к папкам/файлам. Папок и пользователей достаточно много и переделывать не хочется. На одну папку, к примеру, могут иметь доступ по 10 пользователей с разными правами и таких подпапок много. Соответственно при копировании, либо создании архива из исходной системы этого samba каталога, на второй системе права на папки сбрасываются. Похоже, остаётся информация только о создателе папки. Поэтому необходимо заново назначать права на доступ.
Это вам сразу надо было упомянуть о том, что речь о samba. Может просто (и проще) нужно, чтоб люди под своими учётками самостоятельно переносили данные?
Если делать так, то, к примеру, если на папку имеют доступ несколько человек, а перенесёт один, то права на новом сервере будут только у одного.
Что мешает изучить man cp ?
ОПЦИИ POSIX
POSIX имеет четыре с половиной опции:
-f Если требуется, удаляет существующие файлы, в которые происходит копирование. (См. выше)
-i Спрашивает, нужно ли перезаписывать существующие файлы, в которые происходит копирование. (Запрос
выдается на стандартный вывод ошибок, а ответ читается со стандартного ввода. Копирование
осуществляется только в случае положительного ответа).
-p Сохраняет исходные параметры файла, такие как владелец, группа, права доступа (включая suid и sgid
биты), время последней модификации и время последнего доступа к файлу. В случае, если установка
владельца или группы приводит к ошибке, suid и sgid биты сбрасываются. (Заметим, что впоследствии
исходный файл и его копия могут иметь разное время последнего доступа, так как операция копирования
является доступом к исходному файлу).
-R Копировать каталоги рекурсивно; правильно обрабатывать ситуации, когда попадаются объекты, не
являющиеся обычными файлами или каталогами. (Так, копией FIFO или специального файла будет также
являться FIFO или специальный файл).
-r Копировать каталоги рекурсивно; выполнять какие-то, неопределенные стандартом действия, когда
попадаются объекты, не являющиеся обычными файлами или каталогами. (Так, разрешается, и фактически
одобряется, наличие опции -r как синонима для -R. Однако, глупое поведение, которое проявляет версия
cp в GNU 4.0 не запрещается.)
- гугл:
Копирование директорий с сохранинием прав и атрибутов(так же по сети) | ЛинСовет: Полезные Советы По Linux](http://linsovet.com/copy-by-net-with-tar-and-netcat)
Насколько мне известно samba в данном случае (когда права раздаются разным пользователям) использует acl. Соответственно, копировать насколько я понимаю, нужно вместе с acl. Посоветую, копать в сторону переноса этих самых acl, в справке к параметру -p ничего про эти самые acl не написано. Обратите внимание что файловая система приемника должна их тоже поддерживать.