Ich nehme an, dass eine ausführbare Datei mit gesetztem SetUID-Bit als Eigentümer ausgeführt werden sollte, aber ich kann sie nicht wirklich reproduzieren. Ich habe folgendes versucht.
$ cat prepare.sh cp / bin / bash. chown root.root bash chmod 4770 bash # Verifiziert $ 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 ());
return 0;
}}
$ gcc -o test test.c
$ chmod 4770 test # Verifiziert
$ sudo chown root.root test
$ ./test
1000,1000
$ # Warum ???
jedoch
$ su # ./bash # id -u 0 # ./Prüfung 0,0 # Ausfahrt # Ausfahrt $
Hinweis: Der Einhängepunkt ist weder festgelegt nosuidnoch noexecfestgelegt.
Kann jemand erklären, warum es unter Ubuntu 16.04 LTS nicht funktioniert?
sudo? Es gibt einen Fehler oder einen Tippfehler, dem chmodjedoch ein Dateiname fehlt.