Isso pode ser feito com Listas de controle de acesso . Dessa forma, mesmo que os arquivos sejam alterados, novos ou permissões nos arquivos alterados, você ainda poderá acessá-los com o usuário do Node.js. Basta fazer o seguinte no diretório pai dos certificados:
setfacl -Rm u:nodeJSUser:rX,d:u:nodeJSUser:rX /path/to/certificates
Substitua nodeJSUser
pelo usuário real. A primeira parte da opção -m
definirá as ACLs atuais e tudo após a vírgula definirá o padrão para novos arquivos. -R
torna recursivo.
Observe que, se os certificados forem armazenados em um diretório de propriedade da raiz sem acesso de execução (por exemplo, chmod 700
), isso não funcionará. Por exemplo, se os certs estiverem armazenados em /root/certs
, como /root
é chmod 700
, nenhum outro usuário poderá acessar qualquer item dentro desse diretório, mesmo se tiver permissão no próprio arquivo. Para isso, você pode vincular a montagem deste diretório para outro diretório e acessá-lo de lá.
mkdir /certs
mount --bind /certs /root/certs
setfacl -Rm u:nodeJSUser:rX,d:u:nodeJSUser:rX /certs