У меня Ubuntu GNOME 15.10 на одном компьютере и OS X 10.11.2 на другом. Я хочу перенести файлы из установки Ubuntu в установку OS X, но с сохранением разрешений.
В настоящее время я стараюсь экспортировать мой домашний каталог через NFS, смонтировать его с Mac и cp -a
файлы с монтирования. Я знаю, что в OS X UID и GID назначаются иначе, чем в Linux. В Linux мой UID / GID равен 1000/1000, а в OS X мой UID / GID - 501/20.
Из того, что я могу собрать, имея это в моем /etc/exports
должно быть достаточно, чтобы мои файлы Linux отображались как 501/20 на Mac:
/home/pietro/ <Mac's IP>(rw,sync,all_squash,no_subtree_check,insecure,anonuid=501,anongid=20)
и установка на Mac с
mkdir /tmp/q
sudo mount -t nfs <Linux's IP>:/home/pietro /tmp/q
Однако, когда я сажусь так, ls -l
на Mac говорит мне, что права доступа к файлам все еще 1000/1000.
Я также пробовал:
no_root_squash
anonuid=1000,anongid=1000
no_subtree_check
sync
echo N | sudo tee /sys/module/nfs/parameters/nfs4_disable_idmapping
с последующим sudo nfsidmap -c
NEED_IDMAPD=yes
в /etc/default/nfs-common
-o resvport
на Macвсе без толку.
Итак, мой вопрос: как мне настроить NFS, чтобы, когда я ls -l
на стороне Mac я получаю 501/20 как владелец / группа, поэтому я могу безопасно cp -a
?
Или я использую неправильный инструмент для работы и есть ли лучший способ? Мне нужно сохранить другие разрешения Unix, поэтому SMB не подходит. Я также не хочу рисковать изменением UID / GID учетной записи OS X.
Спасибо.
Я решил просто использовать rsync, который с версии 3.1.0 есть возможности делать то, что я хочу. Мне нужно было получить последнюю версию rsync, поскольку Apple по-прежнему поставляет старую версию с OS X, но после этого нужно было просто сделать
rsync3 --usermap 1000:501 --groupmap 1000:20 -a -v pietro@<Linux's IP>:/home/pietro/<path> <dest>
Спасибо, в любом случае!
ОБНОВИТЬ (на благо гуглеров) Наоборот тоже работает, тоже с Mac!
rsync3 --usermap 501:1000 --groupmap 20:1000 -a -v <src> pietro@<Linux's IP>:/home/pietro/<path>
<path>
мне не нравились пробелы, но, возможно, я делаю что-то не так ...