A opção noexec mount implica em nosuid?

5

Muitos guias na Internet recomendam definir as opções nosuid e noexec, por exemplo, no ponto de montagem / tmp. Mas não implica no nosuid? O que não pode ser executado não pode usar o bit suid, certo?

    
por kunfoo 08.06.2017 / 16:16

1 resposta

2

Obrigado pelo link LJKims, isso me ajuda a responder minha própria pergunta. Esqueci que o bit suid / sgid também pode ser configurado para diretórios.

De acordo com os arquivos e diretórios da documentação GNU coreutils que são criados em um diretório suid herdam o proprietário do diretório (diretórios sgid herdam o grupo obviamente). Portanto, se você quiser evitar esse comportamento, definir noexec e nosuid em um ponto de montagem faz sentido .

Para completar: nos meus testes em um Debian atual, o bit suid nos diretórios não tem efeito, mas somente o bit sgid faz com que os arquivos / diretórios herdam o grupo do diretório.

# mkdir /test
# chmod 6777 /test
# ls -ld /test
drwsrwsrwx 2 root root 4096 Jun 10 18:50 /test
$ mkdir /test/foo; touch /test/bar
$ ls -l /test
-rw-r--r-- 1 user root    0 Jun 10 18:51 bar
drwxr-sr-x 2 user root 4096 Jun 10 18:51 foo

Editar: Para completar: A opção de montagem nosuid não afeta os diretórios sgid (pelo menos no Debian 8).

# mount -o loop,nosuid test.img /test
# mkdir /test/foo
# chmod 2777 /test/foo
$ touch /test/foo/bar; mkdir /test/foo/baz
$ ls -l /test/foo
-rw-r--r-- 1 user root    0 Jun 12 09:46 bar
drwxr-sr-x 2 user root 4096 Jun 12 09:46 baz
    
por 10.06.2017 / 18:53