Назад | Перейти на главную страницу

Создать ссылку с правильным владельцем / группой

У меня есть 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:

Разрешения файловой системы символьной ссылки обычно имеют отношение только к операциям переименования или удаления самой ссылки, а не к режимам доступа целевого файла, которые контролируются собственными разрешениями целевого файла.