A configuração:
~$ ls -l /etc/sudoers
-r--r----- 1 root root 614 2017-09-10 20:29 /etc/sudoers
~$ ls -l /etc/shadow
-rw-r----- 1 root shadow 794 2011-04-18 11:49 /etc/shadow
$ ls -l $(which ht)
-rwsr-sr-x 1 root root 2072344 2011-04-16 07:26 /usr/local/bin/ht
ht é um editor hexadecimal ncurses.
A pergunta:
Por que o programa ht pode editar /etc/sudoers
(incluindo salvar as alterações), mas não consegue ler /etc/shadow
? Parece que o executável ht deve poder acessar os dois arquivos com base em seu bit setuid e na propriedade do usuário root. Além disso, parece que se as edições puderem ser salvas em qualquer arquivo, seria /etc/shadow
com base no bit de gravação para raiz. No entanto, o bit setgid está chegando inesperadamente para jogar. Se eu alterar a propriedade /etc/shadow
grupo para raiz (em vez de sombra), eu posso acessá-la com o programa ht.