BlackBoard (http://www.black-board.net/index.php)
- Computerecke (http://www.black-board.net/board.php?boardid=30)
-- Betriebssysteme (http://www.black-board.net/board.php?boardid=11)
--- Linux "Permission denied" trotz setuid (http://www.black-board.net/thread.php?threadid=21956)


Geschrieben von Misel am 06.03.2006 um 17:41:

  "Permission denied" trotz setuid

Edit: Das Problem ist dank Black-Star im IRC-Channel gelöst. Das setuid-Bit wird bei Scripten einfach ignoriert, da es zu viele Risikofaktoren gibt, die man ausnützen könnte um eine root-Shell zu bekommen.

------------------------------

hab ein Problem bei einem Script:

Und zwar habe ich über chmod u+s TEST_SCRIPT_OTHER das setuid-Bit gesetzt, damit es als root ausgeführt wird.

Allerdings macht er es nicht.

code:
1:
2:
3:
4:
5:
-rw-r----- 1 root  users   68 Mar  6 16:15 TEST_FILE
-rwsr-xr-x 1 root  users  168 Mar  6 16:15 TEST_SCRIPT_OTHER
-rwxr-x--x 1 root  users  168 Mar  6 16:15 TEST_SCRIPT_OWNER


Die beiden Scripte sind identisch. Sie unterscheiden sich nur über des setuid-Bit:

code:
1:
2:
3:
4:
5:
6:
7:
8:
#!/bin/sh
FILENAME=TEST_FILE
echo "Your effective userid is `id -u`"
echo "Please enter some text to be appended to "${FILENAME}
read TEXT
echo ${TEXT} >> ${FILENAME}


Wenn ich also das Script *OTHER ausführe müsste ich Zugriff auf TEST_FILE haben und er müsste mir 0 als effektive UID ausgeben. Macht er aber nicht.

code:
1:
2:
3:
4:
5:
6:
7:
8:
misel@smile:[0]:$ ./TEST_SCRIPT_OTHER
Your effective userid is 1000
Please enter some text to be appended to TEST_FILE
ballaballa
./TEST_SCRIPT_OTHER: line 6: TEST_FILE: Permission denied
misel@smile:[1]:


Laut meinem Prof muss es genauso gemacht werden, aber es passiert nix. Er selbst weiß auch nicht woran es liegt. Vermutlich ist es irgend ein kleines Detail, in dem sich Linux und Unix unterscheiden, dass wir jetzt übersehen haben.

Bei `/usr/bin/passwd` klappt es ja auch.

Kann mir jemand den Trick verraten?


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH