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 nosuidnem está noexecdefinido.
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, chmodestá faltando um nome de arquivo.