Contanto que você permaneça em um kernel atual (é um recurso do kernel em vez de um dos sistemas de arquivos), não há praticamente nenhuma maneira de contornar essas limitações.
% bl0ck_qu0te%As especificações da base de grupo aberto, edição 7 (excerto)
... Vincular a um diretório é restrito ao superusuário na maioria das implementações históricas porque esse recurso pode produzir loops na hierarquia de arquivos ou corromper o sistema de arquivos. Este volume de POSIX.1-2008 continua essa filosofia ao proibir que link () e unlink () façam isso . Outras funções poderiam fazê-lo se o implementador projetasse tal extensão ...
Como não há mais uma chamada de sistema como link()
, que não verifica se o oldpath é um arquivo regular, a única saída pode ser criar uma função semelhante a linkat () fazendo do seu jeito desejado.