Montar pontos e opções nodev

0

Estou estudando arquivos de dispositivos e vi que alguns pontos de montagem não podem aceitar a criação do arquivo de dispositivo (se a opção nodev estiver definida). Considerando minha mount output:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
.....
debugfs on /sys/kernel/debug type debugfs (rw,relatime)

Eu tentei criar um arquivo de dispositivo em /sys/kernel/debug (o diretório foi escolhido apenas porque não tem a opção nodev ), mas a operação não é permitida. Eu não entendo a lógica por trás disso: por que a operação não é possível?

    
por andrew 27.10.2018 / 18:02

1 resposta

0

Você não pode escrever para /sys/kernel/debug porque não é um sistema de arquivos de uso geral; é o debugfs do kernel, que existe para permitir que o kernel exporte informações de depuração para o espaço do usuário .

As diferenças nas opções de montagem são causadas pelo que montou os sistemas de arquivos. No seu caso, suponho que eles foram montados pelo systemd. Os sistemas de arquivos "core" ( /sys , /proc , /dev etc.) são montados no início em src/core/mount-setup.c (consulte mount_table para obter detalhes), com nodev etc. /sys/kernel/debug montado por uma unidade separada, sys-kernel-debug.mount , que não especifica nenhuma opção de montagem. Não tenho certeza se há algum motivo específico por trás da diferença nas opções de montagem.

Quanto ao porquê nodev é importante, veja Por que o "nodev" em / etc / fstab é tão importante? Como dispositivos de caracteres podem ser usados para hackers?

    
por 27.10.2018 / 18:28

Tags