Como ativar um symlink neste caso

1

Eu não posso categorizar essa questão no Ubuntu porque não tem nada a ver com isso. Mas eu sei que as pessoas aqui definitivamente podem responder isso. Eu faço o login em uma das minhas caixas de implantação usando o SSH (sem ubuntu aqui).

Estou trabalhando em uma ferramenta chamada TeamCity, que usa uma pasta chamada ".BuildServer" no diretório home do usuário. Essa pasta pode crescer em tamanho à medida que o aplicativo é executado, mas o usuário atual recebe apenas uma quantidade limitada de espaço. Mas a coisa boa que eu tenho uma pasta de acesso fora / home / implantar (implantar sendo o usuário aqui) pasta. Agora quero vincular esse .BuildServer dentro do diretório / home / deploy à outra pasta para a qual obtive permissão (ou seja, todos os arquivos devem ser reencaminhados para esse diretório)

Espero que minha pergunta esteja clara, por favor ajude.

    
por bragboy 13.01.2011 / 21:11

1 resposta

2

Você tem várias opções se quiser apontar /home/deploy/.BuildServer para outro diretório, /under_root/somefolder/ .

1) Crie um symlink

ln -s /under_root/somefolder/ /home/deploy/.BuildServer

Você deve remover o diretório .BuildServer primeiro. Como alternativa, você pode mover o diretório .BuildServer para o novo local:

mv /home/deploy/.BuildServer/ /under_root/somefolder/

Agora, execute o comando ln (veja acima). Nota: o usuário acessando /under_root/somefolder/ deve ter acesso a essa pasta. Digamos que o usuário seja deploy , somefolder seja de propriedade de deploy , mas /under_root seja de propriedade de outro usuário. Agora você tem duas possibilidades: deixar deploy ser um membro do grupo, usado para /under_root e dar o bit de execução ao grupo. (%código%). O outro caso é que a implementação não pode ter o grupo sobre chmod g+x /under_root . Nesse caso, certifique-se de que qualquer um possa mergulhar no diretório: /under_root ). Isso tem que ser feito para cada pasta "acima" chmod o+x /under_root .

2) Montagem de ligação

Isso só pode ser feito por um usuário com permissões de root (pergunte ao seu sysadmin).

mount --bind /under_root/somefolder /home/deploy/.BuildServer

Usando este método, não há necessidade de mexer com as permissões de /under_root/somefolder . Outra vantagem sobre links simbólicos é que este método funciona mesmo se o ssh chroots for /under_root .

    
por Lekensteyn 13.01.2011 / 21:58