Suponho que um arquivo executável com o conjunto de bits SetUID esteja em execução como proprietário, mas não consigo reproduzi-lo. Eu tentei o seguinte.
$ cat prepare.sh cp / bin / bash. chown root.root bash chmod 4770 bash # Verificado $ sudo sh prepare.sh $ ./bash $ id -u 1000 $ exit $
$ cat test.c #include <stdio.h> #include <unistd.h> int main () { printf ("% d,% d \ n", getuid (), geteuid ()); retornar 0; } $ gcc -o test test.c $ chmod 4770 test # Verificado Teste de root.root do $ sudo chown $ ./test 1000.1000 $ # Por que ???
Contudo
$ su # ./bash # id -u 0 0 # ./teste 0,0 # Saída # Saída $
Nota: O ponto de montagem não tem nosuid
nem está noexec
definido.
Alguém pode explicar por que não está funcionando no Ubuntu 16.04 LTS?
sudo
? Há um erro ou erro de digitação, no entanto, chmod
está faltando um nome de arquivo.