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 nosuid
noch noexec
festgelegt.
Kann jemand erklären, warum es unter Ubuntu 16.04 LTS nicht funktioniert?
sudo
? Es gibt einen Fehler oder einen Tippfehler, dem chmod
jedoch ein Dateiname fehlt.