ramfs montado através do fstab é automaticamente de propriedade do root

1

ramfs foi escolhido especificamente porque não há chance de os arquivos serem gravados no disco (o espaço de troca é usado com tmpfs ). tmpfs está fora do escopo desta pergunta.

Aqui está minha entrada fstab para o ponto de montagem:

ramfs /path/to/mount ramfs  defaults,nofail   0 0

Após a montagem, posso definir as permissões muito bem:

chown -R myuser:myuser /path/to/mount

O problema vem depois de uma reinicialização . O proprietário torna-se root após a reinicialização e ele precisa mudar manualmente para o meu usuário. Tudo o que preciso fazer é ter o ID do usuário definido no momento da montagem (ou persistir durante as reinicializações).

    
por emmdee 30.01.2018 / 18:11

1 resposta

3

O ramfs não tem absolutamente nenhuma opção de montagem, então não é possível configurar um mount uid / gid como é com o tmpfs.

Da página do manual:

Ramfs is a memory based filesystem. Mount it and you have it. Unmount it and it is gone. Present since Linux 2.3.99pre4. There are no mount options.

Obviamente, você está ciente do perigo do seu sistema ficando sem memória e travamento porque seu usuário acidentalmente transbordou os ramfs e você aceitou esse risco. Portanto, não vamos mencionar que o tmpfs resolve esse problema, e é por isso que o ramfs não tem recebido muita atenção do desenvolvedor e é raramente usado. Para citar os desenvolvedores do kernel:

One downside of ramfs is you can keep writing data into it until you fill up all memory, and the VM can't free it because the VM thinks that files should get written to backing store (rather than swap space), but ramfs hasn't got any backing store. Because of this, only root (or a trusted user) should be allowed write access to a ramfs mount.

A ramfs derivative called tmpfs was created to add size limits, and the ability to write the data to swap space. Normal users can be allowed write access to tmpfs mounts. See Documentation/filesystems/tmpfs.txt for more information.

A única maneira de fazer isso, portanto, é continuar definindo a propriedade após o sistema de arquivos ser montado, por exemplo, em rc.local .

    
por 30.01.2018 / 19:23