🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.sys.pc-unix
9 messages
9 total messages Started by al... Janusz A.Urbanowicz Wed, 20 Dec 1995 00:00
suid scripts ?
#131
Author: al... Janusz A.Urbanowicz
Date: Wed, 20 Dec 1995 00:00
19 lines
1153 bytes
V-Tam !

Dzieki za pomoc z poczta, teraz mam nastepny problem... :-))

Podstawa problemu jest taka - chce udostepnic uzytkownikom mozliwosc
montowania i odmountyowywania dyskietek (/dev/fd0) jak podkatalogu w ich ~.
Poniewaz jak wiadomo mountowac moze tylko root, napisalem sobie dwa skrypty
mountujace i unmountujace dyskietki. Skrypty te maja w zamierzeniu chodzic
jako suid root. Niestety przy atrybutach -rws--x--x nie daja sie uruchomic
z konta uzytkownika, a przy -rwsr-xr-x nie robia suid (komunikat Only root
can use mount albo jakos tak). CO robic ?

Aha, RTFM dostepne mi FM, wiem ze kwestia jest trywailna ale po dwoch
tygodniach uzerania sie z administratorem sieci o adres, X-ami, sendmailem,
screenem mam dosyc..

ALex

 
Re: suid scripts ?
#132
Author: mar... Marek Michalkiewicz
Date: Wed, 20 Dec 1995 00:00
25 lines
1715 bytes
Janusz A.Urbanowicz (al...@eris.phys.uni.torun.pl) wrote:
: Podstawa problemu jest taka - chce udostepnic uzytkownikom mozliwosc
: montowania i odmountyowywania dyskietek (/dev/fd0) jak podkatalogu w ich ~.
: Poniewaz jak wiadomo mountowac moze tylko root, napisalem sobie dwa skrypty
: mountujace i unmountujace dyskietki. Skrypty te maja w zamierzeniu chodzic
: jako suid root. Niestety przy atrybutach -rws--x--x nie daja sie uruchomic
: z konta uzytkownika, a przy -rwsr-xr-x nie robia suid (komunikat Only root
: can use mount albo jakos tak). CO robic ?

Napisac program w C ktory zrobi co trzeba.  Skrypty shella nie moga byc
suid root ze wzgledow bezpieczenstwa, widzialem cos kiedys na ten temat
w jakims FAQ do Linuxa (bylo tam wyjasnione dlaczego).

Piszac takie programy trzeba jednak bardzo uwazac - niewinny z pozoru blad
moze byc wykorzystany do uzyskania przez uzytkownika uprawnien root-a...

Inne mozliwe rozwiazanie to dodac opcje "user" w /etc/fstab, ktora pozwoli
montowac dyskietke zwyklym uzytkownikom (ale nie jak podkatalogu w ich ~).
Konieczna jest wtedy rowniez opcja "noauto" tak ze system nie probuje
montowac dyskietki przy starcie systemu.  Opcja user automatycznie wlacza
nosuid, nodev (ze zrozumialych wzgledow).

Pozdrawiam

Marek
Re: suid scripts ?
#133
Author: klo... Tomasz Kloczko
Date: Wed, 20 Dec 1995 00:00
71 lines
4469 bytes
Marek Michalkiewicz (mar...@i17linuxb.ists.pwr.wroc.pl) wrote:
: Janusz A.Urbanowicz (al...@eris.phys.uni.torun.pl) wrote:
: : Podstawa problemu jest taka - chce udostepnic uzytkownikom mozliwosc
: : montowania i odmountyowywania dyskietek (/dev/fd0) jak podkatalogu w ich ~.
: : Poniewaz jak wiadomo mountowac moze tylko root, napisalem sobie dwa skrypty
: : mountujace i unmountujace dyskietki. Skrypty te maja w zamierzeniu chodzic
: : jako suid root. Niestety przy atrybutach -rws--x--x nie daja sie uruchomic
: : z konta uzytkownika, a przy -rwsr-xr-x nie robia suid (komunikat Only root
: : can use mount albo jakos tak). CO robic ?

: Napisac program w C ktory zrobi co trzeba.  Skrypty shella nie moga byc
: suid root ze wzgledow bezpieczenstwa, widzialem cos kiedys na ten temat
: w jakims FAQ do Linuxa (bylo tam wyjasnione dlaczego).

: Piszac takie programy trzeba jednak bardzo uwazac - niewinny z pozoru blad
: moze byc wykorzystany do uzyskania przez uzytkownika uprawnien root-a...

: Inne mozliwe rozwiazanie to dodac opcje "user" w /etc/fstab, ktora pozwoli
: montowac dyskietke zwyklym uzytkownikom (ale nie jak podkatalogu w ich ~).
: Konieczna jest wtedy rowniez opcja "noauto" tak ze system nie probuje
: montowac dyskietki przy starcie systemu.  Opcja user automatycznie wlacza
: nosuid, nodev (ze zrozumialych wzgledow).

To ja podrzuce fragment z jednego z uzywanych przezemnie fstab-ow:
/dev/fd0 /mnt/fda msdos async,noexec,noauto,nodev,rw,user,conv=binary,umask=022     1       2
/dev/fd1 /mnt/fdb msdos async,noexec,noauto,nodev,rw,user,conv=binary,umask=022     1       2
/dev/fd0 /mnt/fdax minix async,noexec,noauto,nodev,rw,user,conv=binary,umask=022     1       2
/dev/fd1 /mnt/fdbx minix async,noexec,noauto,nodev,rw,user,conv=binary,umask=022     1       2

z czego widac, ze proba podmontowania katalogu /mnt/fd0 przez dowolnego
uzytkownika, spowoduje podmontowanie dyskietki w formacie dos-owym, itd.
Pojedyncze entry w fstab-ie nie moze byc lamane np. znakiem \, wiec te "1 2"
konczace opis pozycji,tez musza sie znalezc w jednej linii.

Jezeli ktos chce miec wejscie z katalogu ~ do dyskietek, zawsze moze sobie
zrobic symbolicznego linka do wybranego katalogu i montowac bezposrednio
linka. Ja u siebie mam zrobione dla ludzi dwa linki /A: na /mnt/fda i /B: na
/mnt/fdb (to tak zeby sie kojazylo ludziom przywyklym do Dos-a :-).

Z wlasnego (administratorskiego) doswiadczenia wiem, ze sa z tym montowaniem
problemy, bo nie kazdy pamieta ze trzeba dysk odmontowac. Co prawda  inna
osoba wkladajac swoja dyskietke, moze ja najpierw odmontowac (bo juz
wczesniej byla podmontowana), a potem ja ponownie podmontowac.

Ostatnio pojawilo sie pewne rozwiazanie o nazwie supermount. Jednak nie ma
rozy bez kolcow. Funkcjonuje to na prawach patcha do jadra i nie da sie tego
w obecnej chwili pozenic z quota (w zwiazku z tym ze quota weszlo juz
oficjalnie do jadra, mozna sie spodziewac w najblizszym czasie w
nowszej-poprawionej wersji sm). Sm organizuje niebuforowany dostep do
dyskietek i przy wymianie medium w napedzie sam dokonuje remunta.

Ciekawszym rozwiazaniem mogloby byc pozenienie z tym wszystkim
automountera. Teoretycznie  powinno funkcjonowac to tak, ze wejscie do
pewnego katalogu powinno spowodowac automatyczne podmontowanie urzadzenia, a
po pewnym czasie (ustawialnym oczewiscie) jego odmontowanie. Teoretycznie,
gdyz sam jeszcze na powaznie sie do tego nie zabieralem.
Moze ktos ma przyklad pliku konfiguracyjnego do automoutera  realizujacego
ww. funkcje ? :-)

Wesolych Swiat, Pozdrawiam

kloczek

--
------------------------------------------------------------------------
"Ludzie nie maja problemow, tylko sobie sami je stwarzaja"
------------------------------------------------------------------------
Tomasz K/loczko, student
Politechnika Gdanska, wydzial Fizyki Technicznej i Matematyki Stosowanej
e-mail  : klo...@rudy.mif.pg.gda.pl
------------------------------------------------------------------------
Re: suid scripts ?
#134
Author: Jacek Rafal Radzikowski (B.Frele...
Date: Thu, 21 Dec 1995 00:00
24 lines
2021 bytes
Janusz A.Urbanowicz (al...@eris.phys.uni.torun.pl) wrote:
:>Podstawa problemu jest taka - chce udostepnic uzytkownikom mozliwosc
:>montowania i odmountyowywania dyskietek (/dev/fd0) jak podkatalogu w ich ~.
:>Poniewaz jak wiadomo mountowac moze tylko root, napisalem sobie dwa skrypty
:>mountujace i unmountujace dyskietki. Skrypty te maja w zamierzeniu chodzic
:>jako suid root. Niestety przy atrybutach -rws--x--x nie daja sie uruchomic
:>z konta uzytkownika, a przy -rwsr-xr-x nie robia suid (komunikat Only root
:>can use mount albo jakos tak). CO robic ?
:>ALex
Nie mozna tego zrobic ze wzgledow bezpieczenstwa. Uruchamianie jakiegolokwiek
programu z suid-skryptu jest otwarciem szerokiej bramy (nie furtki) do uzyskania
praw roota przez kogokolwiek, kto wie jak to wykorzystac. Mozna w fstab-ie
zezwolic na montowanie dyskietek przez uzytkownikow, ale wtedy beda one musialy
byc montowane w jednym katalogu, uzytkownik moze zrobic sobie link-a. 
Nie pamietam szczegolow, ale wszystko mozna znalezc np. w doc-ach do mc. 
Mozna takze sprobowac pakiet usermount pozwalajacy na montowanie przez 
uzytkownika (jak mount-em), ale nie sprawdzalem, jak jest z security.
						Jacek

+--------------------------------+--------------------------------------------+
| Jacek Rafal Radzikowski        | If you make people think they're thinking, |
|   s13...@ia.pw.edu.pl         | they'll love you. But if you really make   |
|  jrad...@elka.pw.edu.pl       | them think - they'll hate you.             |
+--------------------------------+--------------------------------------------+
Re: suid scripts ?
#135
Author: ba... Bartosz Maruszewski
Date: Thu, 21 Dec 1995 00:00
19 lines
1473 bytes
Jacek Rafal Radzikowski (B.Frelek) (s133926@csd1) wrote:
: Janusz A.Urbanowicz (al...@eris.phys.uni.torun.pl) wrote:
: Nie mozna tego zrobic ze wzgledow bezpieczenstwa. Uruchamianie jakiegolokwiek
: programu z suid-skryptu jest otwarciem szerokiej bramy (nie furtki) do uzyskania
: praw roota przez kogokolwiek, kto wie jak to wykorzystac.

Nie rozumiem czemu to jest dziura...
Przeciez jezeli ktos zalozy skrypt z bit'em set-uid to wlascicielem tego
skryptu nie jest przeciez automatycznie root (tylko w przypadku gdy root
zakladal ten skrypt) no i jeszcze jezeli wlascicielem skryptu jest root
i jego flagi to: rwsr-xr-x to niby jak zwykly uzytkownik ma to wykorzystac
jako dziure ??? przciez nie wpisze tam nic swojego a root juz sie zatroszczy
o to zeby nie bylo w tym skrypcie niczego niebezpiecznego.

Bartek
-- 
E-mail ba...@loiv.torun.pl            "... and remember ... 
       ba...@mat.uni.torun.pl <-- preferable
Admin in the loiv.torun.pl domain    the system is for admins, not for users"
Re: suid scripts ?
#136
Author: mar... Marek Michalkiewicz
Date: Thu, 21 Dec 1995 00:00
28 lines
1922 bytes
Bartosz Maruszewski (ba...@mat.uni.torun.pl) wrote:
: Przeciez jezeli ktos zalozy skrypt z bit'em set-uid to wlascicielem tego
: skryptu nie jest przeciez automatycznie root (tylko w przypadku gdy root
: zakladal ten skrypt) no i jeszcze jezeli wlascicielem skryptu jest root
: i jego flagi to: rwsr-xr-x to niby jak zwykly uzytkownik ma to wykorzystac
: jako dziure ??? przciez nie wpisze tam nic swojego a root juz sie zatroszczy

Nie wpisze nic swojego, ale...

Skrypty zaczynaja sie od #!/bin/sh co oznacza ze przy uruchamia sie tak
naprawde /bin/sh z nazwa skryptu jako parametrem.  Uzytkownik tworzy sobie
link do tego skryptu o nazwie "-i" i uruchamia sie "/bin/sh -i" (czyli
zwykly shell).  Dlatego wlasnie (aby nieswiadomy administrator sam sobie
nie narobil balaganu) bit "s" w skryptach zostal zablokowany.

Mozna na poczatku skryptu umiescic "#!/bin/sh --" co oznacza ze nie beda
przyjmowane zadne opcje (czyli powyzsza sztuczka nie zadziala).  Ale teraz
mozna inaczej: utworzyc do tego skryptu link, uruchomic go, a potem szybko
(po uruchomieniu "/bin/sh -- nazwa", ale zanim shell zdazy otworzyc plik
o podanej nazwie) podlozyc wlasny skrypt o tej samej nazwie.

Sa jeszcze inne mozliwosci, np. ustawienie zmiennej IFS...
Nie jest to wiec az takie proste jak by sie moglo poczatkowo wydawac.
Podobno Perl ma mozliwosc bezpiecznego uruchamiania takich skryptow.

Wesolych Swiat

Marek
Re: suid scripts ?
#138
Author: j... Jan Rychter
Date: Thu, 21 Dec 1995 00:00
18 lines
1515 bytes
Bartosz Maruszewski (ba...@mat.uni.torun.pl) napisal:
: Nie rozumiem czemu to jest dziura...
: Przeciez jezeli ktos zalozy skrypt z bit'em set-uid to wlascicielem tego
: skryptu nie jest przeciez automatycznie root (tylko w przypadku gdy root
: zakladal ten skrypt) no i jeszcze jezeli wlascicielem skryptu jest root
: i jego flagi to: rwsr-xr-x to niby jak zwykly uzytkownik ma to wykorzystac
: jako dziure ??? przciez nie wpisze tam nic swojego a root juz sie zatroszczy
: o to zeby nie bylo w tym skrypcie niczego niebezpiecznego.

  Problem w tym ze bardzo trudno o to zadbac. Jest mnostwo sposobow na
oglupienie takiego skryptu suid i przerobienie go na grozne narzedzie
dla wlamywacza. Wystarczy przeoczyc ustawienie IFS czy PATH w
skrypcie, miedzy innymi.

jwr
_______________________________________________________________________
Jan Rychter                                           j...@itc.pw.edu.pl
http://www.itc.pw.edu.pl/~jwr                            j...@icm.edu.pl
Re: suid scripts ?
#139
Author: Jacek Rafal Radzikowski (B.Frele...
Date: Thu, 21 Dec 1995 00:00
24 lines
1993 bytes
Bartosz Maruszewski (ba...@mat.uni.torun.pl) wrote:
:>Jacek Rafal Radzikowski (B.Frelek) (s133926@csd1) wrote:
:>: Janusz A.Urbanowicz (al...@eris.phys.uni.torun.pl) wrote:
:>: Nie mozna tego zrobic ze wzgledow bezpieczenstwa. Uruchamianie jakiegolokwiek
:>: programu z suid-skryptu jest otwarciem szerokiej bramy (nie furtki) do uzyskania
:>: praw roota przez kogokolwiek, kto wie jak to wykorzystac.

:>Nie rozumiem czemu to jest dziura...
:>Przeciez jezeli ktos zalozy skrypt z bit'em set-uid to wlascicielem tego
:>skryptu nie jest przeciez automatycznie root (tylko w przypadku gdy root
:>zakladal ten skrypt) no i jeszcze jezeli wlascicielem skryptu jest root
:>i jego flagi to: rwsr-xr-x to niby jak zwykly uzytkownik ma to wykorzystac
:>jako dziure ??? przciez nie wpisze tam nic swojego a root juz sie zatroszczy
:>o to zeby nie bylo w tym skrypcie niczego niebezpiecznego.
Jesli bedzie to skrypt zwyklego uzytkownika, to naraza sie tylko on.
natomiast jest to bedzie skrypt root-a (a recz byla o montowaniu dyskietki),
to juz goze. A jak wykorzystac ? RTM
							Jacek

+--------------------------------+--------------------------------------------+
| Jacek Rafal Radzikowski        | If you make people think they're thinking, |
|   s13...@ia.pw.edu.pl         | they'll love you. But if you really make   |
|  jrad...@elka.pw.edu.pl       | them think - they'll hate you.             |
+--------------------------------+--------------------------------------------+
Re: suid scripts ?
#137
Author: j... Jan Rychter
Date: Fri, 22 Dec 1995 00:00
11 lines
1070 bytes
Krzysztof Halasa (k...@hq.pm.waw.pl) napisal:
: Tak, ale ten perl (perl-suid ?) sam jest suid=root, i tylko sprawdza
: odpowiednie atrybuty pliku zrodlowego.

  Ale do tego dosc dokladnie sprawdza same skrypty (taint-checks). Nie
pozwoli popelnic prostszych bledow.

jwr
_______________________________________________________________________
Jan Rychter                                           j...@itc.pw.edu.pl
http://www.itc.pw.edu.pl/~jwr                            j...@icm.edu.pl
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads