Как копировать права доступа c одного файла в другой на Linux
Мне нужно скопировать или клонировать владельца файла и права доступа одного файла для другого файла на Linux. Есть ли bash команда для клонирования пользователя, группы владельца и права доступа на файл из одного файла для другого на операционной системе Linux?
Для того, чтобы установить владельца файла и группу используйте команду chown. Чтобы изменить режим доступа к файлу, биты (права доступа) используйте команду chmod. Обе команды принимают возможность использовать другой файл в качестве источника информации, для этого используется параметр PFILE.
Синтаксис для клонирования прав другого файла или каталога на Linux
Синтаксис выглядит следующим образом режим использования PFILE вместо значений MODE:
1 2 |
chmod --reference= RRFILE FILE chmod [options] --reference= RRFILE FILE |
Пример: Копирование разрешения файла, но не самого файла
Просмотрим права обоих файлов:
1 |
ls -l install.iso xenial-server-amd.iso |
Результат
1 2 |
-rw-rw-rw- 1 libvirt-qemu kvm 230762848 Aug 15 2015 install.iso -rw-r--r-- 1 libvirt kvm 783432000 Mar 15 02:01 xenial-server-amd.iso |
Для копирования разрешения файла install.iso для xenial-server-amd.iso, введите следующую команду:
1 |
chmod --reference=install.iso xenial-server-amd.iso |
Проверяем
1 |
ls -l install.iso xenial-server-amd.iso |
Результат
1 2 |
-rw-rw-rw- 1 libvirt-qemu kvm 230762848 Aug 15 2015 install.iso -rw-rw-rw- 1 libvirt kvm 783432000 Mar 15 02:01 xenial-server-amd.iso |
Можно указать несколько файлов
1 |
chmod --reference=file.txt dest3.txt dest2.txt dest1.conf |
Вы можете комбинировать и использовать find и xargs следующим образом
1 |
find /path/to/dest/ -type f -print0 | xargs -O -I {} chmod --reference=/path/to/rfile.txt {} |
Синтаксис для клонирования владельца другого файла или каталога на Linux
Синтаксис выглядит следующим образом использовать владельца и группу RRFILE, без указания группы и владельца
1 2 |
chown --reference= RRFILE FILE chown [options] --reference= RRFILE FILE |
Пример: Копировать владельца файла, но не файл
Чтобы скопировать пользователя файла и группу install.iso на xenial-server-amd.iso , введите следующую команду:
1 2 |
chown --reference= install.iso xenial-server-amd.iso ls -l |
Пример результата:
1 2 |
-rw-rw-rw- 1 libvirt-qemu kvm 230762848 Aug 15 2015 install.iso -rw-rw-rw- 1 libvirt-qemu kvm 783432000 Mar 15 02:01 xenial-server-amd.iso |
У нас Вы можете заказать услугу поддержки сервера