Como posso criar um link simbólico para um diretório de propriedade de root legível por qualquer coisa?

1

Estou tentando configurar um certificado seguro independente usando o CertBot e criar um link simbólico ( ./public/certbot ) do meu servidor para que eu possa incluir os certificados sem que eles estejam realmente sob a árvore de diretórios do servidor. um Linode que eu uso para testes e desenvolvimento, então vou usar uma variedade de softwares de servidor). Os certificados foram instalados com sucesso em /etc/letsencrypt/ e, conforme instruído na documentação do CertBot , a instalação foi feita usando sudo , então todos os arquivos são de propriedade do root. Eu tentei tudo que eu poderia pensar para criar um link simbólico que o servidor pode ler, mas continuo recebendo um erro de permissão. Atualmente, o arquivo de link simbólico, /etc/letsencrypt/live , a pasta do domínio e todos os arquivos dentro da pasta do domínio foram sudo chmod ded 777 , e tentei criar o arquivo de link simbólico sem sudo , mas não mim. Como usuário normal, posso cd no arquivo de link simbólico e ls a pasta de domínio sem sudo , para que eu possa ver tudo lá, mas quando eu inicio meu servidor (atualmente webpack-dev-server ), não tem permissão. A mensagem de erro do servidor indica que o caminho está sendo resolvido corretamente (já que está me dando um erro de acesso, não ENOENT ).

Eu também tentei criar uma pasta public/certbot real e links simbólicos individuais para os arquivos de certificado, com os mesmos erros.

Deve haver alguma lacuna no meu conhecimento sobre as permissões do Linux. Existe uma maneira de contornar isso? Obrigado.

    
por Holland Wilson 10.01.2018 / 05:37

1 resposta

0

so that I can include the certificates without them actually being under the directory tree of the server

A maioria dos softwares não tem este requisito em primeiro lugar, e pode acessar certificados diretamente de '/ etc / letsencrypt / live.

Se o seu problema atual é causado por permissões de arquivo ou chrooting, este link simbólico não ajudará em nada . Se você tem permissões suficientes para seguir um link simbólico para / etc / letsencrypt / live / foo /privkey.pem, então você também tem permissões suficientes para acessar o mesmo arquivo diretamente.

Currently, the symlink file, …

Permissões de "arquivos simbólicos" são irrelevantes e você não pode alterá-las no Linux. Eles são sempre relatados como "lrwxrwxrwx", mas é apenas o próprio arquivo de destino que importa, não o link simbólico para ele.

… /etc/letsencrypt/live, the domain folder, and all files inside the domain folder, …

Veja esses arquivos em /etc/letsencrypt/live ; observe que eles próprios são links simbólicos para outro diretório, archive . Esse diretório também não é legível por padrão.

Use namei -l ./public/certbot/example.com/privkey.pem para ver rapidamente todos os componentes no caminho (incluindo resolução de links simbólicos) e suas permissões.

… have been sudo chmodded to 777.

Não tente "resolver" problemas de permissão com uma marreta. Dar a todos as permissões escrever para essas pastas era completamente desnecessário.

    
por 10.01.2018 / 06:51