O ZFS permite criar conjuntos de dados com o setuid desativado, o que (AFAIK) significa que o bit setuid não pode ser definido em arquivos armazenados nesses conjuntos de dados.
Suponha agora que há dois conjuntos de dados, um para os diretórios /root
e um para os /home
. Faz algum sentido permitir o bit setuid em qualquer um desses dois conjuntos de dados?
Meu entendimento é que NÃO, porque:
Certamente, o root pode executar qualquer binário com privilégios de root. Então, setuid em /root
não parece fornecer muito.
No entanto, se um arquivo pertencer a outro usuário e o sinalizador setuid estiver definido, quando o root executar esse arquivo, ele será executado como se pertencesse àquele usuário, não ao root. Portanto, definir setuid em binários armazenados / instalados em /home
pode fazer sentido do ponto de vista da raiz, mas os usuários se incomodariam? E existem técnicas melhores para executar um binário como outro usuário que o root pode usar de qualquer maneira.
O único uso para setuid na pasta inicial de um usuário que eu imagino é se esse usuário tiver que ser capaz de executar um binário com privilégios de root que não puderam ser instalados em todo o sistema e cujo acesso seria restrito, por exemplo. em uma pasta que não pode ser procurada por outros usuários. Mas parece um pouco extenso.
Tags zfs zfsonlinux freebsd setgid setuid