Monte um bucket do OSS em uma instância ECS como usuário não root para permitir que serviços sem privilégios leiam e gravem objetos do OSS pelo sistema de arquivos local.
Visão geral
Este tópico descreve como montar um bucket em uma instância ECS com o usuário www via ossfs e como desmontá-lo depois.
Procedimento
Os passos abaixo usam o usuário www como exemplo. Caso www não exista no sistema, crie-o antes com o comando useradd.
Instale o ossfs e crie o arquivo de credenciais
/etc/passwd-ossfs. Para mais detalhes, consulte Instalação rápida.-
Restrinja as permissões do arquivo de credenciais com o comando:
chmod 640 /etc/passwd-ossfs -
Obtenha o caminho de instalação do ossfs executando:
which ossfs -
Consulte o UID e o GID do usuário
wwwcom o comando:NotaEste exemplo usa o usuário
www. Sewwwnão existir, crie-o com o comandouseradd.id www -
Altere o proprietário do arquivo de credenciais para o usuário
www. Este comando exige permissões de root.chown www:root /etc/passwd-ossfs -
Mude para o usuário
wwwe crie o diretório do ponto de montagem.NotaNeste exemplo,
test1é o diretório do ponto de montagem.su - www mkdir test1 -
Como usuário
www, monte o bucket com o comando:/usr/local/bin/ossfs $Bucket test1 -ourl=$URL -ouid=$(id -u www) -ogid=$(id -g www) -o passwd_file=/etc/passwd-ossfsNotaSubstitua os espaços reservados pelos valores reais:
$Bucket— nome do bucket do OSS.$URL— endpoint do bucket, por exemplo,oss-cn-hangzhou.aliyuncs.com.$(id -u www)e$(id -g www)— substituições de shell que resolvem o UID e o GID do usuáriowwwem tempo de execução.
-
Verifique a montagem com o comando:
ls -l test1 -
Para desmontar o bucket, utilize um dos comandos abaixo:
-
Como root:
umount /home/www/test1 -
Como usuário
www(ou qualquer usuário não root):fusermount -u /home/www/test1Se o ponto de montagem estiver ocupado, adicione a flag
-z:fusermount -uz /home/www/test1.
-
Referências
Para uma visão geral do ossfs, consulte Visão geral.
Para perguntas frequentes sobre o ossfs, consulte FAQ.