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/


Raspunde prin e-mail lui