A opção nodev
diz ao sistema para não permitir a criação e o acesso de nós de dispositivos - o tipo de arquivos especiais que você tem em /dev
.
Por exemplo, /dev/disk0
lhe dá acesso direto a todos os dados armazenados no primeiro disco sem ter que passar pelos níveis mais altos, como o sistema de arquivos ou o código de verificação de permissão - a permissão somente Verificado é se você tem permissão para abrir esse nó de dispositivo específico para leitura ou gravação.
Isso significa que se /dev/disk0
fosse legível por todos, qualquer usuário poderia facilmente ler os arquivos de outros usuários no mesmo disco (se não fossem criptografados), basta ler /dev/sda
.
Dependendo do SO, /dev
normalmente terá muitos outros tipos de nós de dispositivos, incluindo /dev/mem
, que dá acesso a toda a memória (física e / ou virtual) do sistema - embora não com sistemas executando um kernel compilado com CONFIG_STRICT_DEVMEM
(a menos que raiz ).
Por esse motivo, somente root geralmente é permitido criar nós de dispositivo (para outros usuários, mknod
retornará "Operação não permitida") e todos os nós de dispositivos existentes serão mantidos em um único nó local ( /dev
) com permissões de arquivo restritas que não fornecem acesso de leitura ou gravação aos usuários normais. (com algumas exceções.)
No entanto, nos dias de hoje, qualquer pessoa poderia facilmente ignorar a restrição de root acessando outro computador ao qual já tem acesso root, usando-o para criar alguns nós de dispositivos em uma unidade USB, definindo permissões muito abertas e conectando essa unidade a < em> seu computador.
Isto é o que a opção nodev
evita - mesmo que alguém crie um nó de dispositivo gravável no mundo inteiro e legível em sua própria unidade, o sistema operacional se recusará a fazer nada devido à opção nodev
usada quando montagem.
As mesmas razões se aplicam à opção nosuid
, que diz ao SO para ignorar o bit setuid que normalmente faria com que um programa fosse executado com privilégios diferentes daqueles do usuário. Por exemplo, /usr/bin/sudo
tem o bit setuid e é de propriedade de root, então ele sempre terá os mesmos privilégios que root.