Mihai Maties wrote: >On Monday 25 April 2005 08:51, Emil Sirbu wrote: > > >>Emil Sirbu wrote: >> >> >>>Trebuie sa fac un script ce va fi executat de un user cu sudo (de fapt >>>va fi apelat dintr-o interfata web). >>>Scriptul ia ca prim argument username-ul si trebuie sa-l adauge in sistem >>>(+setat parola si adaugat in samba dar nu am ajuns acolo). >>> >>>Problema este cu parametrul deoarece in script folosesc ceva de genul: >>> useradd -g users -s /bin/false -d /home/$1 -m $1 >>>si un parametru de forma "vasile -s /bin/bash" ar putea strica jucaria, >>>nu? >>> >>> >>Imi cer scuze, cred ca de la "duminica" mi se trage. Varianta _corecta_ >> >>useradd -g users -s /bin/false -d /home/"$1" -m "$1" >> ^ ^ ^ ^ >>(acum, banuiesc, ca nu se mai poate "injecta" cod) >> >> > >Ba dimpotriva, se poate. Daca iti dau ca parametru: "$(rm -rf / & echo >xcyborg)" ai sa adaugi frumos user-ul xcyborg fara nici o eroare, iar in >background incepi sa faci loc pe hard disk... > > > Si totusi nu functioneaza schema de sus. Intr-adevar se executa codul _rm -rf /_ dar nu in scriptul meu ci inainte si rezultatul este transmis scriptului. [EMAIL PROTECTED] sudo /smbadmin/.bin/adduser.sh "$(whoami >/tmp/cine & echo vasile)" alabala Start adduser useradd -g users -s /bin/false -d /date/files/users/vasile vasile [OK] vasile added in system [EMAIL PROTECTED] cat /tmp/cine _nobody_
Pe mine ma intereseaza sa evit posibilitatea injectarii de cod in scriptul meu (care ruleaza ca _root_) Multumesc oricum, daca mai zaresti ceva (am dat codul intr-un mail anterior) as fi bucuros sa aflu. Emil --- Detalii despre listele noastre de mail: http://www.lug.ro/
