Criar link com o proprietário / grupo direito

1

Eu tenho um daemon git acessado através do ssh. Todos os repositórios estão em / srv / git.

Eu tenho alguns outros projetos salvos em um disco exfat, então eu quero criar um link simbólico desse disco para / srv / git.

Por exemplo, eu tenho /mnt/Medias/Projects/Defi\ H.git , então simplesmente:

cd /srv/git
sudo ln -s /mnt/Medias/Projects/Defi\ H.git

Mas o arquivo é criado como root: root, 777.

Para restringir o acesso aos repositórios, quero alterar os direitos de posix desse arquivo. Se primeiro tentar:

sudo chmod 755 Defi\ H.git
chmod: changing permissions of 'Defi H.git': Function not implemented

Descobri que isso acontece porque o link aponta para uma pasta armazenada em um disco exfat. Da mesma forma, isso falha:

sudo chown git:defih Defi\ H.git
chown: changing ownership of 'Defi H.git': Function not implemented

Então, quero criar o link como o usuário certo diretamente:

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.

Eu faço parte da configuração do grupo wheel e sudo :

%wheel ALL=(ALL) ALL

Eu não entendo porque este último comando falha? Algum conselho?

Ou eu deveria fazer uma cópia do arquivo em outro sistema de arquivos? / srv / git é btrfs, se isso tiver alguma importância.

    
por Geoffroy 21.01.2012 / 22:50

1 resposta

3

A permissão do link não tem efeito para o alvo, o que você está tentando fazer não é restringir a permissão no alvo.
Apenas a permissão do alvo é o que tem efeito.

Citando o link :

The file system permissions of a symbolic link usually have relevance only to rename or removal operations of the link itself, not to the access modes of the target file which are controlled by the target file's own permissions.

    
por 22.01.2012 / 00:56