У меня есть git-daemon, доступный через ssh. Все репозитории находятся в / srv / git.
У меня есть несколько других проектов, сохраненных на диске exfat, поэтому я хочу создать символическую ссылку с этого диска на / srv / git.
Например, у меня есть /mnt/Medias/Projects/Defi\ H.git
поэтому я просто делаю:
cd /srv/git
sudo ln -s /mnt/Medias/Projects/Defi\ H.git
Но файл создается как root: root, 777.
Чтобы ограничить доступ к репозиториям, я хочу изменить права posix этого файла. Если попробуете сначала:
sudo chmod 755 Defi\ H.git
chmod: changing permissions of `Defi H.git': Function not implemented
Я обнаружил, что это связано с тем, что ссылка указывает на папку, хранящуюся на диске exfat. Точно так же это не удается:
sudo chown git:defih Defi\ H.git
chown: changing ownership of `Defi H.git': Function not implemented
Поэтому я хочу создать ссылку напрямую от имени нужного пользователя:
sudo -u git -g defih ln -s /mnt/Medias/Projects/Defi\ H.git
Sorry, user geoffroy is not allowed to execute '/bin/ln -s /mnt/Medias/Projects/Defi H.git' as git:defih on Aethelflaed.
Я часть группы wheel
и sudo
Конфигурация показывает:
%wheel ALL=(ALL) ALL
Я не понимаю, почему эта последняя команда не работает? Любой совет?
Или я должен сделать копию файла в другой файловой системе? / srv / git - это btrfs, если это имеет значение.
Разрешение ссылки не влияет на цель, то, что вы пытаетесь сделать, вообще не ограничивает разрешение для цели.
Только разрешение цели имеет эффект.
Цитирование http://en.wikipedia.org/wiki/Symbolic_link:
Разрешения файловой системы символьной ссылки обычно имеют отношение только к операциям переименования или удаления самой ссылки, а не к режимам доступа целевого файла, которые контролируются собственными разрешениями целевого файла.