Symlink um diretório para outro diretório que existe com acesso de gravação

1

Desculpe pelo título vago.
Eu tenho uma pasta /opt/A/B/ e, idealmente, eu quero link simbólico ~/B to /opt/A/ tal que ~/B e /opt/A/B estão em sincronia.
A resposta óbvia seria:

sudo rm -r /opt/A/B
sudo ln -s ~/B /opt/A/B

No entanto, considere este cenário:
A é de propriedade de root, mas B é de minha propriedade, e eu não quero usar sudo (esta operação é um script python que é executado por uma coisa muito grande que não tem sudo).

Esta é outra abordagem (lembre-se, eu tenho a propriedade de /opt/A/B/ ):

ln -s ~/B/* /opt/A/B/

Mas ficará fora de sincronia se novos diretórios / arquivos forem gravados em /opt/A/B ou ~/B .

Então, minha pergunta é a seguinte:

Existe alguma maneira sem sudo para fazer isso?

Eu posso usar sudo para qualquer operação única que não vá no script. Se isso importa, o objetivo é girar o symlink dependendo de certas configurações, então eu tenho uma quantidade finita (especificamente 3). Nota: também pode ser

    
por C. Sano 14.08.2017 / 21:13

1 resposta

1

Uma vez a operação sudo :

sudo ln -s ~/Z /opt/A/B

Mas agora o truque para girar as configurações. Seja ~/Z um link simbólico também:

ln -s ~/B ~/Z  # it points to B
rm ~/Z
ln -s ~/C ~/Z  # now it points to C

Suas diferentes configurações estariam em B , C etc.

    
por 14.08.2017 / 21:23