Witam wszystkich.
Piszę prosty komunikator oparty o architekturę klient-serwer. Klienta pisze w javie, aby działał na dowolnej maszynie, a serwer w C/C++ pod system linux. Chciałbym, aby użytkownicy logujący się z poziomu klienta komunikatora, byli identyfikowani i autoryzowani przez serwer za pomocą pliku /etc/passwd. Chodzi mi głównie, jeśli jest taka możliwość, o wykorzystanie już gotowych programów np: login, lub bibliotek/funkcji systemowych (jeśli takie są), ewentualnie jak to napisać od początku.
Chciałbym np: wykonać zewnętrzny program, któremu serwer będzie przekazywał nazwę użytkownika i podane przez niego hasło, i żeby program ten zwracał czy para użytkownik-hasło pasuje do siebie czy nie. Nie potrzebuje niczego wyszukanego, tak jak pisałem wcześniej ma być to prosty komunikator. Moim celem jest po prostu wykorzystanie jednej nazwy użytkownika i przypisanego mu hasła do różnych usług oferowanych przez linux-a.
Po długich poszukiwaniach znalazłem wreszcie rozwiązanie, o które mi mniej więcej chodziło:
http://4programmers.net/C/Artykuły/Czytanie_shadow,_passwd_i_group_w_C, wnioskuję z tego, że nie ma w linux-e jakiegoś standardowego polecenia za pomocą, którego można to sprawdzić np:
sprawdzLogin -u uzytkownik -p haslo ale rozwiązanie, które znalazłem jest dla mnie równie dobre, a może nawet i lepsze.
Przepraszam za zaśmiecanie forum, ale może ktoś kiedyś też będzie miał podobny problem.