Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> LINUX - tworzenie konta uzytkownika z poziomu PHP
grohu
post 26.08.2003, 11:26:11
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


czy mozna utworzyc konto uzytkownika z poziomu php questionmark.gif?

polecenia linuxowe mozna wywolywac przez funkcje system().

polecenia typu system("ls /home") dzialaja prawidlo,
jednak system("adduser nowy_uzytkownik") nie dziala jak
powinno.
na pewno chodzi o uprawnienia do tworzenia nowych kont.

czy istnieje jakis inny sposob zeby przez skrypt php
utworzyc konto uzytkownika pod linuxem (bedac rootem)

questionmark.gif?
Go to the top of the page
+Quote Post
adwol
post 26.08.2003, 12:46:33
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
czy istnieje jakis inny sposob zeby przez skrypt php
utworzyc konto uzytkownika pod linuxem (bedac rootem)

questionmark.gif?

Po pierwsze zobacz w shellu czy napewno uruchomienie polecenia adduser nowy_uzytkownik zadziała prawidłowo. Nie na każdym linuksie musi być akurat taka komenda i w takiej składni (mogą być np. wymaganae jakieś parametry).
Po drugie sprawdź z prawami jakiego użytkownika uruchamiane są skrypty php. Najczęściej serwer www nie jest uruchamiany z prawami roota. Wtedy musisz użyć jakiegoś wrappera, chociaż odradzałbym takie rozwiązanie na rzecz umieszczania przez php zleceń w bazie i asynchronicznego wykonywania ich przez jakiś skrypt.
Go to the top of the page
+Quote Post
grohu
post 26.08.2003, 12:55:03
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


adduser nazwa_uzytkownika dziala prawidlowo na moim linuxie.

ale nie mam pojecia o wrapperach,wiec jesli mozesz to napisz mi jak ty bys to rozwiazal...
Go to the top of the page
+Quote Post
g0blin
post 26.08.2003, 13:11:42
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 2.03.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Innym rozwiazaniem jest to aby trzymac cala zawartosc o uzytkownikach systemu w bazie sql zamaist w pliku /etc/passwd. Widzialem gdzies jzu chwile temu opisy konfiguracji takiego systemu wiec musial bys sobie poszukac o tym na google


--------------------
Pozdrawiam
Piotr P. 'g0blin'
Go to the top of the page
+Quote Post
Koshin
post 26.08.2003, 13:20:22
Post #5





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

Ostrzeżenie: (0%)
-----


jeszcze innym rozwiazaniem jest tworzenie pliku txt, w ktorym sa zawarte informacje o nowych kontach, a cron wykonuje polecenia zalozenia konta

skrypt php, pobiera dane, sprawdza bezpieczenstwo (konta juz istnieja, znaki w nazwie, itp, itd) tworzy plik txt i tyle.


--------------------
My czuwamy.eu abyś mógł spać spokojnie
zapasowakopia.pl - myśl zanim będzie za późno.
Go to the top of the page
+Quote Post
adwol
post 26.08.2003, 13:26:08
Post #6





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
adduser nazwa_uzytkownika dziala prawidlowo na moim linuxie.

ale nie mam pojecia o wrapperach,wiec jesli mozesz to napisz mi jak ty bys to rozwiazal...

Ja bym założył bazę do której bym wrzucał w phpie żądania założenia konta, a w jakimś asynchornicznym skrypcie odpalanym np. z crona co minute wyciągał je i rezlizował. Format bazy mógłby być np. taki:
[sql:1:b7099ddeaf]create table users (nazwa char(20), haslo char(50), opis char(100))[/sql:1:b7099ddeaf]
Ten skrypt zakładający musiałby pracować z prawmi roota oczywiście.
Go to the top of the page
+Quote Post
grohu
post 26.08.2003, 19:52:33
Post #7





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


z cronem to dobry pomysl.

dzieki !
Go to the top of the page
+Quote Post
grohu
post 26.08.2003, 21:20:06
Post #8





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


ale jest jeszcze problem z haslem.

w takim skrypcie ktory odpala sie z crona byloby
na przyklad:

adduser nazwa_uzytkownika;
passwd nazwa_uzytkownika;
...

ale nie moge ustawic hasla.

echo "haslo"|passwd nazwa_uzytkownika;

nie dziala,haslo ma byc wpisywane z klawiatury wiec
jak to obejsc i zautomatyzowac dzialanie skryptu questionmark.gif?
Go to the top of the page
+Quote Post
adwol
post 26.08.2003, 22:06:29
Post #9





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
adduser nazwa_uzytkownika;
passwd nazwa_uzytkownika;
...

ale nie moge ustawic hasla.

echo "haslo"|passwd nazwa_uzytkownika;

Zgadza się. passwd zawsze pobiera hasło z terminala.
Cytat
nie dziala,haslo ma byc wpisywane z klawiatury wiec
jak to obejsc i zautomatyzowac dzialanie skryptu questionmark.gif?

Zainteresuj się programem chpasswd. Powinien być w jednej paczce z passwdem. On przyjmuje uzytkownika i hasło ze stdina.
Go to the top of the page
+Quote Post
grohu
post 27.08.2003, 11:17:11
Post #10





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


chpasswd to dobry pomysl.

ale jest jeszcze taka sprawa ze:

po zapisaniu hasla do pliku ,z ktorego skrypt odpalany co godzine bedzie pobieral dane do zakladania nowego konta bedzie odkodowane.i kazdy bedzie mogl sobie przejrzec ten plik.

czy dalo by sie przed zapisaniem do pliku haslo kodowac ,a przez chmod zmieniac nowemu uzytkownikowi haslo podajac te juz zakodowane (z pliku).
to bylaby juz o wiele bezpieczniejsza wersja...
Go to the top of the page
+Quote Post
adwol
post 27.08.2003, 12:23:08
Post #11





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
chpasswd to dobry pomysl.

ale jest jeszcze taka sprawa ze:

po zapisaniu hasla do pliku ,z ktorego skrypt odpalany co godzine bedzie pobieral dane do zakladania nowego konta bedzie odkodowane.i kazdy bedzie mogl sobie przejrzec ten plik.

czy dalo by sie przed zapisaniem do pliku haslo kodowac ,a przez chmod zmieniac nowemu uzytkownikowi haslo podajac te juz zakodowane (z pliku).
to bylaby juz o wiele bezpieczniejsza wersja...

A musisz to robić na plikach? W bazie byłoby to o wiele prostsze. Zakładasz dwóch użytkowników, jeden ma prawo tylko do wkładania danych do bazy (bez możliwości wyciągania i kasowania) i jego używa skrypt php, a drugi ma prawo do wyciągania i kasowania (ew. zmieniania) i jego używa skrypt z crona.
Jeśli chcesz koniecznie robić to na plikach (co odradzam) to możesz zapisywać od razu zaszyfrowane crypt()'em hasła bo chpasswd potrafi je przyjąć w takiej postaci.
Go to the top of the page
+Quote Post
grohu
post 27.08.2003, 12:47:58
Post #12





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


taka komenta dziala poprawnie i zmienia haslo,dla podanego
uzytkownika.

echo "nazwa_uzytkownika:nowe_haslo"|chpasswd

wedlug manuala zeby podac zakodowane haslo nalezaloby wykonac
operacje:

echo "nazwa_uzytkownika:zakodowane_haslo"|chpasswd -e


zakodowane haslo w systemie wyglada taK:

$1$Jd6.FfMf$.aB8Ge.8RpQBu3DNGTI9I0 ,wiec sa to chasla zakodowne
w trybie MD5.

php: funkcja crypt() koduje hasla i tez w tym trybie,wiec to jest
ok,ale po wykonaniu

echo "nazwa_uzytkownika:zakodowane_haslo"|chpasswd -e

haslo sie nie zgadza,a jak sprawdzam w pliku shadow to po
uzyciu chpasswd -e jest szyfrowane jeszcze raz.

i tu juz sie dzieja krzaki.

co z tym kodowaniem zrobic questionmark.gif?




ps. w jakim jezyku z poziomu skryptow w shellu moglbym korzystac zeby obslugiwac baze mySQL questionmark.gif?
Go to the top of the page
+Quote Post
uboottd
post 27.08.2003, 12:51:02
Post #13





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

Ostrzeżenie: (0%)
-----


$1$Jd6.FfMf$.aB8Ge.8RpQBu3DNGTI9I0 dla shela nie oznacza $1$Jd6.FfMf$.aB8Ge.8RpQBu3DNGTI9I0 tylko ciag zmiennych. musisz zaescapowac wszystkie znaki specjalne.
Go to the top of the page
+Quote Post
kris_
post 27.08.2003, 14:30:32
Post #14





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.02.2003

Ostrzeżenie: (0%)
-----


Cytat
echo "nazwa_uzytkownika:nowe_haslo"|chpasswd

Wszystko pieknie ale to oznacza ze:
- masz suida na chpasswd
- kazdy uzytkownik systemu moze odpalic suidowane pliki
To naprawde dosyc powazne zagrozenie dla bezpieczenstwa systemu.
Wystarczy jakis bug w twoim skrypcie php, apachu albo chpasswd aby narobic strasznej kaszany w systemie lub zdobyc uprawnienia root'a.
Aby to mialo rece i nogi zrobil bym miedzy php a chpasswd jakiegos wrappera ktory mial by suida na jakiegos uzytkownika i dopiero ten uzytkownik moglby odpalac chpasswd z suidem jako jedyny w systemie.
Skompilowal bym tez skrypt php aby utrudnic analize kodu osobie ktorej udalo by sie wylistowac zawartosc twoich skryptow php byc chociaz troche utrudnic jej wlamanie.
Go to the top of the page
+Quote Post
Koshin
post 27.08.2003, 15:33:39
Post #15





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 29.04.2002
Skąd: jesteś?

Ostrzeżenie: (0%)
-----


adduser wymaga z klawiatury, ale useradd juz chyba nie?

ja wiem ze na swoim systemie mialem to zrobione tak, ze calosc robilo sie z lini polecen. i nie trzeba bylo hasla wpisywac z konsoli (terminala)

dodatkowo mozna rowniez haslo i dane usera zapisac w bazie, co jest dobre, gdy chcesz mu pomoc w odzyskaniu zapomnianego hasla (ale to sie wiaze dodatkowo z lepszymi zabezpieczeniami, aby nikt niepowolany nie "przypomnial" sobie obcego hasla.


--------------------
My czuwamy.eu abyś mógł spać spokojnie
zapasowakopia.pl - myśl zanim będzie za późno.
Go to the top of the page
+Quote Post
adwol
post 27.08.2003, 20:39:18
Post #16





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
Wszystko pieknie ale to oznacza ze:
- masz suida na chpasswd
- kazdy uzytkownik systemu moze odpalic suidowane pliki
To naprawde dosyc powazne zagrozenie dla bezpieczenstwa systemu.

Wcale tego nie oznacza. Właśnie o tym była mowa, że chpasswd jest uruchamiany ze skryptu puszczanego z rootowego crona, który czyta zlecenia z bazy. Skrypt w php wszada do tej bazy tylko zlecenia. Nikt tu nie mówi o odpalaniu chpasswda bezpośrdenio z phpa, a tym bardziej o zakładaniu na nim suida.
Go to the top of the page
+Quote Post
grohu
post 27.08.2003, 22:22:15
Post #17





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


oka, to jest dobry pomysl.

tylko w jakim jezyku napisac skrypt shellowy,ktory te dane z bazy pobierze.
jak dotad mySQL uzywalem tylko z php...
wiem ze C ma takie mozliwosci,ale czy jakis inny jezyk tez questionmark.gif?

a jesli tak to czy ktos wie gdzie w necie jest opis obslugi mySQL przez ten jezyk/jezyki ...

?
Go to the top of the page
+Quote Post
adwol
post 27.08.2003, 23:24:25
Post #18





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
tylko w jakim jezyku napisac skrypt shellowy,

Skrypt shellowy to chyba w shellu, nie? winksmiley.jpg winksmiley.jpg
Cytat
jak dotad mySQL uzywalem tylko z php...
wiem ze C ma takie mozliwosci,ale czy jakis inny jezyk tez questionmark.gif?

a jesli tak to czy ktos wie gdzie w necie jest opis obslugi mySQL przez ten jezyk/jezyki ...

Ale możesz go napisać w phpie. Generalnie lepiej napisać w języku który się zna nawet jeśli będzie to skrypt niż w C, którego się nie zna, bo można tylko głupich błędów narobić. Zrób go jako normalny skrypt phpowy tylko uruchamiany z interpretera w postaci binarki a nie z modułu w serwerze www.
Go to the top of the page
+Quote Post
grohu
post 28.08.2003, 06:00:26
Post #19





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


faktycznie ,uzycie php w skrypcie shellowym to dobry pomysl.

niestety mam jakiegos wybrakowanek linuksa (mandrake 9.1) ,bo jak wpisuje 'php' to wyskakuje ze zle polecenie...
i w ogole po insalacji linuksa nie moglem sie laczyc z mysql'em ani uzywac funckji do obslugi pop3 bo nie bylo pliku php.ini ,musialem go sobie sam recznie przekopiowac i skonfigurowac.

musze skompilowac sobie od nowa php questionmark.gif?

jak tak to czeka tez to mnie na serwerze ktory bede robil, bo na nim tez nie mozna uzywac 'php' .

prosze o jakies rady co do tego bo pomysl uzywania php do pisania skryptow w shellu jest dobry i...jakos mi to wczesniej do glowy nie przyszlo sad.gif
Go to the top of the page
+Quote Post
grohu
post 28.08.2003, 07:12:58
Post #20





Grupa: Zarejestrowani
Postów: 118
Pomógł: 0
Dołączył: 29.07.2003
Skąd: skąd-inąd.

Ostrzeżenie: (0%)
-----


POWYZSZE PYTANIE JEST JUZ NIEAKTUALNE,ale nie caly temat...

sciagnelem sobie php-4.3.3 ,bisona,flexa i zainstalowalo sie bez wiekszych problemow.

skrypty mozna juz odpalac z powloki.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.05.2024 - 17:08