[FreeBSD] OFFTOPIC: megint a biztonsagrol...

Zelenak.Gabor at ans.lri.hu Zelenak.Gabor at ans.lri.hu
2001. Május. 11., P, 09:59:00 CEST


T. ZGabor amennyiben figyelmesen elolvasod a
setuid manualt, akkor feltunik az exec hivassal
kapcsolatos kitetel - melynek a magyarazgatasaba
- tekintettel a felkeszultsegedre - most nem ternek ki.

(en a kiemelkedo felkeszultsegedre utaltam, szolj, ha
maskepp ertetted!)

aztan ime az egyik furfang (csh alatt):
% env TERM='`cp /bin/sh /tmp/sh;\
chown root /tmp/sh;\
chmod 4755/tmp/sh`' suid-shell-script

altalaban a parancssorbol inditott processzek -
valami "rejtett" okbol kifolyolag - szorosan kotodnek
az oket szulo shell-ekhez. tehat ha a SETUID-s scriptedet
eleve 0-as szintrol inditod, akkor talan megfoghato
a setuid(2) jelentosege - de szolj, ha tevednek!

aztan itt egy idezet:
while it's not normally possible for a process to alter its 
four ownership credentials, there is a special situation
in which its effective UID and group ID may be changed.
A process that wishes to start executing a different 
programfile calls one of the "exec" family system calls.
When this occurs, the eUID and GID of the process
may be set to the UID and GID of the file conatining the
new program image IF THE FILE HAS ITS "setuid" OR
"setgid" PERMISSION BITS SET. exec is the mechanism
used programs such as /bin/passwd to temporarly gain
superuser privileges (passwd needs these privileges in 
order to modify /etc/passwd [UAH 1995])

es itt egy masik...
the UID and GID for a process are inherited from its parent.
when user (e.g.) logs in, the login program sets the UID
and GIDs before doing the exec system call to run the
user's login shell; thus, all subsequent processes will
inherit the appropriate identifiers.[D&I 4.4BSD OS 1996]

eddig az idezet.
	> lasd: man 2 setuid

	Kosz, ezen a szinten mar kb egy tucat eve tul vagyok. :-)  Szoval
nem kene
	osszekeverni a setuid(2) System Call-t a Set_User_ID jogosultsagi
bittel.

ezt te irtad... nem en! valoban szerencsesebb lett volna az exec-et is irni
hivatkozasul.

	su root -c zzz, akkor erdekes modon minden shell eseten rootnak
mondja magat

ezek utan azert ilyet nem irtam volna - vagy csak vicceltel?
ilyenkor nem ervenyesek talan az altalam leirtak?

aztan az utolso kerdesem - vajon hogyan valtozik meg
egy process privilegizalasi szintje az exec altal - netan magatol???

utoirat: gondoltam arra, hogy ki kellett volna emelnem,
hogy a Perl szinten egy script nyelv - ha hiszed, ha nem
egy pillanatra visszahokoltem a leirtakon - de gondoltam
ha valaki eszreveszi majd szol. en meg eliserem, hogy
nem irtam oda, hogy valoban egy script nyelvrol van szo.

NOS, ELISMEREM, HOGY NEM IRTAM ODA A TELJES
NEVET A PERL-HOZ VALAHOGY IGY, HOGY A PERL IS 
EGY SCRIPT NYELV!

----------------------------------------------------------
--                 Zelenak Gabor			
--             system programmer			
----------------------------------------------------------
--   MATIAS Air Traffic Control Center, Hungary
--   HUNGAROCONTROL
--  (36)1-296-9106{FAX}
--  (36)1 296-9107
----------------------------------------------------------
--  mailto:zelenak.gabor at ans.lri.hu
----------------------------------------------------------
With Ada.Text_IO;
  Use Ada.Text_IO;

Procedure Hello_World Is
Begin	
	Put ("Hello World!");
	New_Line;
End Hello_World;
-----------------------------------------------------------------
-- The propeller on the aircraft performs just 
-- air-conditioning for pilots, when you switch off,
-- the pilot will be dripping with sweat immediately!
-----------------------------------------------------------------




További információk a(z) BSD levelezőlistáról