Как скопировать права доступа к файлам / папкам и права владения из одной папки в другую (рекурсивно)

397
Rick Sanchez

Как скопировать все папки, подпапки и права доступа к файлам (рекурсивно) из /www_03062018моего нового /www?

Я наткнулся на этот пост: клонировать разрешения для всех файлов в папке

chmod --reference=RFile file 

Что не очень помогло, оно применило изменение для основной папки, /wwwно не применимо к ее подпапкам и файлам.

я пытался:

chmod -R --reference=/www_03062018 /www 

и это не сработало.

Моя ситуация:

У меня есть 2 папки на моей машине с Ubuntu: /wwwи /www_03062018.

/www это "мерзавец клон" с производства машины.

/www_03062018 мой старый каталог, с которым я работал и загружал файлы через FTP.

Я начал использовать GIT, и когда я клонирую каталог - все его владения папками и настройки доступа к файлам тоже не клонируются.

1

1 ответ на вопрос

1
yarl
cd /www find . -path ./.git -prune -or -exec chmod --reference '/www_03062018/{}' '{}' \; -exec chown --reference '/www_03062018/{}' '{}' \; 

извлечено и адаптировано отсюда

проверил это на 2 папках: test1 и test2. каждый из них имеет одинаковые файлы 111/222 / 333.txt с разными разрешениями. test1 имеет значения по умолчанию. test2 имеет 777 разрешений. это ошибка, которую я получаю. Rick Sanchez 6 лет назад 0
найти / home / myubuntuuser / рабочий стол / test1 -exec chmod --reference / home / myubuntuuser / рабочий стол / test2 / {} {} \; Rick Sanchez 6 лет назад 0
chmod: не удалось получить атрибуты '/ home / myubuntuuser / Desktop / test2 // home / myubuntuuser / Desktop / test1': нет такого файла или каталога chmod: не удалось получить атрибуты '/ home / myubuntuuser / Desktop / test2 // home / myubuntuuser / Desktop / test1 / 111.txt ': нет такого файла или каталога chmod: не удалось получить атрибуты' /home/myubuntuuser/Desktop/test2//home/myubuntuuser/Desktop/test1/222.txt ': нет такой файл или каталог chmod: не удалось получить атрибуты '/home/myubuntuuser/Desktop/test2//home/myubuntuuser/Desktop/test1/333.txt': такого файла или каталога нет Rick Sanchez 6 лет назад 0
Хорошо, я сделал ошибку. Мне нужны относительные пути. yarl 6 лет назад 0
(Я отредактировал свой пост) yarl 6 лет назад 0
странно, тестирование на рабочем столе с двумя папками, которые я создал - это работает. но с / www он не `Операция не разрешена`, поэтому я использовал` sudo find. -path ______ ect`, и я получаю много «Нет такого файла или каталога» Rick Sanchez 6 лет назад 0
Это работает для файлов, которые существуют в обоих каталогах? yarl 6 лет назад 0
Да, работает в обоих направлениях, но не работает в моей директории / www с обоими ошибками. Я попробовал это снова после входа в систему как `sudo su` .. все тот же результат Rick Sanchez 6 лет назад 0
Извините, мой плохой, это работает. Я просто посмотрел и владельцев папок / файлов и не заметил разрешений. Я попробовал ту же команду с `chown`, и я тоже получил право владения. большое спасибо Rick Sanchez 6 лет назад 0

Похожие вопросы