mount ramfs para todos os usuários

1

Estou tentando criar um ponto de montagem ramfs em /tmp/ram usando:

  1. Criamos uma entrada em /etc/fstab com a seguinte linha:

    ramfs /tmp/ram ramfs rw,nodev,noexec,nosuid,async,user,noauto 0 0

    (Eu também tentei substituir user com users . Também tentei usar x-mount.mkdir=0770 )

  2. Criado um diretório com permissões 0775 em /tmp/ram usando usuário normal ( não root ).

  3. Montado o sistema de arquivos ramfs usando o comando mount /tmp/ram usando o usuário normal.

Mas após a montagem - o diretório está sempre com a propriedade user = root , group = me ( me é o nome de usuário / groupname do meu usuário normal) e as permissões 0755 , que não permita-me criar um arquivo no diretório.

Alguma ideia de como proceder? Eu gostaria de montar esse sistema de arquivos usando o usuário normal - não root ... Eu não quero usar privilégios de root para essa montagem, é por isso que há uma linha em /etc/fstab .

    
por Dor 18.02.2017 / 11:29

1 resposta

1

Isso acontece porque o diretório raiz de um ponto de montagem já é fornecido pelo driver do sistema de arquivos montado. Assim, os parâmetros do inode (incl. Configurações de permissão) são provenientes dele, e eles se sobrepõem às configurações originais do / tmp / ram.

Alguns sistemas de arquivos fornecem um recurso para corrigir ou alterar suas permissões de um parâmetro de montagem, embora tenha um motivo diferente: se um fs não tiver informações de permissão adequadas (vfat) ou for alienado demais da segurança do unix (cifs), é uma maneira de fornecer um quente pelo sysadm. O Ramfs não tem esse recurso.

O parâmetro "user" só permite a montagem ou desmontagem dos fs pelos usuários, mas não altera seus parâmetros de segurança. Provavelmente não é sua intenção (acho que você quer produzir um tmp muito rápido acessível por todos os usuários simultaneamente).

Nota, otimização simples: Em vez de ramfs, você poderia usar também tmpfs. O conteúdo do Tmpfs também está principalmente no RAM, mas pode ser trocado se não for usado. O conteúdo de Ramfs está sempre na memória física. Tmpfs pode ser parametrizado como você deseja, por exemplo, um mode = 1777 faria com que ele se comportasse como / tmp (todos podem criar / deletar arquivos, mas apenas os deles).

Você tem que executar os comandos chmod / chown depois que a montagem acontecer. As ferramentas de montagem do Linux não oferecem facilidade para isso com facilidade.

Eu sugiro fazer um initscript para isso em /etc/init.d (outros scripts de init fornecem a sintaxe, como isso pode ser feito facilmente) e fazer o mount / chmod em reinicializações.

    
por 18.02.2017 / 11:43