Zdalne tworzenie użytkowkników, grup i udziałów sieciowych

Belisarius

Nowy użytkownik
Noobie
21 Kwiecień 2010
5
0
1
Witam,
Na początku się przywitam, gdyż to mój pierwszy post tutaj;

Posiadam serwer plików QNAP TS-509, cały czas działa w porządku, poprzez aplikację webową QNap Turbo Nas idzie tworzyć wymagane przeze mnie rzeczy czyli:
- użytkowników
- grupy użytkowników
- udziały sieciowe.

Piszę teraz aplikację w PHP, której jednym z zadań ma być utworzenie tych właśnie rzeczy na QNap. Aplikacja będzie stacjonować na innym serwerze w sieci z QNAP-em.

Czy jest jakaś możliwość, jak mam to zrobić?
Może ktoś już takie coś robił?
Może informacje o userach i udziałach znajdują się w jakiejś bazie danych na qnapie?
Jeśli tak, to czy mogę jakoś uzyskać do niej dostęp?
Czy aplikacja PHP postawiona na Qnapie może mieć taką możliwość??

Pozdrawiam
 
Możesz napisać własny system dodawania użytkowników(nie korzystającego z panelu). Który sam musiałby dodać danego użytkownika osobno do ftpa, samby itd.(każdy ma swój plik). chyba że dokładnie zanalizujesz panel(potrzebna wiedza dodatkowo AJAXa), i korzystając z curla dodawać tych użytkowników poprzez ten panel.
 
Witam,
Możesz też przy użyciu ssh wykonywać odpowiednie polecenia bezpośrednio w QNAP'ie - gdzieś kiedyś widziałem takie rozwiązanie (ale nie na QNAPie), więc na 100% się da... ssh jest więc powinno dać rade. Można jeszcze kilkoma prostszymi sposobami, ale nie są one zbyt bezpieczne (np "buforowanie" poleceń w pliku i wykonywanie ich ze skryptu na QNAP). No i ewentualnie napisanie własnego skryptu PHP z niezbędnymi funkcjami, nadanie stosownych praw i wtedy obsługa za pomocą url... , ale jak już wspomniałem dwa ostatnie niezbyt bezpieczne...
 
jarlath napisał:
Witam, Możesz też przy użyciu ssh wykonywać odpowiednie polecenia bezpośrednio w QNAP'ie - gdzieś kiedyś widziałem takie rozwiązanie (ale nie na QNAPie), więc na 100% się da... ssh jest więc powinno dać rade.

W php idzie obsłużyć ssh, tylko, czy bezpieczne jest przesyłanie haseł admina po łączu? Można by użyć https, ale czy to wystarczające?
Jeśli bym założył, że taka możliwość istnieje, to jakimi poleceniami mogę tworzyć to co chce? Jest jakiś manual z poleceniami w powłoce QNap?

jarlath napisał:
(np "buforowanie" poleceń w pliku i wykonywanie ich ze skryptu na QNAP)

Jak wysłać taki plik?
Aplikacja ma działać na innym serwerze w sieci, można by stworzyć drugą aplikację php na qnapie która by odbierała plik? Dobrze rozumiem?
Tylko jak wtedy uruchomić lokalnie skrypt z pliku. Czy aplikacja php, która jest zainstalowana na QNap ma dostęp do powłoki?

jarlath napisał:
No i ewentualnie napisanie własnego skryptu PHP z niezbędnymi funkcjami, nadanie stosownych praw i wtedy obsługa za pomocą url...
Czyli coś podobnego jak wyżej?

jarlath napisał:
ale jak już wspomniałem dwa ostatnie niezbyt bezpieczne...
Gdybym wykorzystał https do przesyłu informacji?
 
hypnosiss napisał:
Możesz napisać własny system dodawania użytkowników(nie korzystającego z panelu).
Czy php ma możliwość dostępu do powłoki?

hypnosiss napisał:
Który sam musiałby dodać danego użytkownika osobno do ftpa, samby itd.(każdy ma swój plik).
Czy jest jakaś dokumentacja mówiąca o strukturze tych plików?? Gdzie te pliki się znajdują??

hypnosiss napisał:
chyba że dokładnie zanalizujesz panel(potrzebna wiedza dodatkowo AJAXa)
z tym ciężko bo:
1. Trza by być expertem w AJAX,
2. Funkcje tam działające działają lokalnie, a nie zdalnie, więc samo pobranie ich nic by nie dało.
 
Widze że jesteś mocno początkującym w php.
Zbyt dużo pytań xD
Belisarius napisał:
hypnosiss napisał(a):
Możesz napisać własny system dodawania użytkowników(nie korzystającego z panelu).
Miałem na myśli kod w php, który miałby za zadanie min:
1. Połaczyć się z qnapem przez ssh2.
Żadna powłoka... ? Przecież jak chcesz połączyć się z innego serwera, to nie wywołasz komend z poziomu lokalnego php (exec()) ...
SSH2 jest bezpieczne w równym stopniu co shttp bo wykorzystywane są prawie te same zabezpieczenia.
2. Wywołać odpowiednie komendy.
Jaka dokumentacja? to jest linux !
Tak jak na zwykłym linuxie, jest zainstalowany ftp,samba, struktura jest niemal że identyczna !
W internecie jest pełno "tutoriali" xD

Jeśli chodzi o przesyłanie plików, to przecież przez ssh2 można - scp, w php również zaimpletowane(prosisz o dokumentacje z struktury plików w QNAPie, a nawet z dokumentacji php nie korzystasz).

Pytanie, którą drogę wybrać ?
Żeby być pewnym, lepiej samemu przeanalizować system, strukture folderów, panel, komendy a może jednak QNAP przewidział to i zostawił dla nas miła niespodziankę gdzieś w strukturze systemu ? xD
może usprawnili jakąś podstawową komende, typu adduser? sprawdź ;)

P.S Co do ajaxa , bym się nie zgodził(pkt 2) ;P
 
hypnosiss napisał:
Widze że jesteś mocno początkującym w php.
To akurat źle widzisz :p W php siedzę już wystarczająco długo, ale za to można powiedzieć że jestem początkującym w linuksie.

hypnosiss napisał:
Zbyt dużo pytań xD
Pamiętaj! że kluczem do sukcesu jest poznanie problemu od różnych stron = zadawanie wielu pytań.

Belisarius napisał:
hypnosiss napisał(a): Możesz napisać własny system dodawania użytkowników(nie korzystającego z panelu).
Wiem i to właśnie chcę zrobić. Przechodzenie przez panel w moim przypadku jest nie do przyjęcia.

Belisarius napisał:
Przecież jak chcesz połączyć się z innego serwera, to nie wywołasz komend z poziomu lokalnego php
Oczywiście że wywołam.

Belisarius napisał:
Miałem na myśli kod w php, który miałby za zadanie min:
1. Połaczyć się z qnapem przez ssh2.
Żadna powłoka... ? Przecież jak chcesz połączyć się z innego serwera, to nie wywołasz komend z poziomu lokalnego php (exec()) ...
SSH2 jest bezpieczne w równym stopniu co shttp bo wykorzystywane są prawie te same zabezpieczenia.
To jest jedno z wyjść i doskonale go rozumiem. To że szukam innych rozwiązań nie oznacza że tego nie kumam.

Belisarius napisał:
2. Wywołać odpowiednie komendy.
Jaka dokumentacja? to jest linux !
Tak jak na zwykłym linuxie, jest zainstalowany ftp,samba, struktura jest niemal że identyczna !
I TU MNIE MASZ. Z linuksa jestem totalny laik.
Rozumiem, z tego co piszesz, że wszystko to mogę zrobić normalnie z konsoli? I że to są podstawowe polecenia?

Belisarius napisał:
Jeśli chodzi o przesyłanie plików, to przecież przez ssh2 można - scp, w php również zaimpletowane(prosisz o dokumentacje z struktury plików w QNAPie, a nawet z dokumentacji php nie korzystasz).
O tym wiedziałem.
 
Belisarius napisał:
Belisarius napisał(a):
Przecież jak chcesz połączyć się z innego serwera, to nie wywołasz komend z poziomu lokalnego php(exec())

Oczywiście że wywołam.

Nie da rady ! exec wydaje polecenia na lokalnym serwerze, na którym jest wywoływany skrypt php !
Więc funkcją exec() lub shell_exec() nie wywołasz komend w wierszu polecenia zdalnie na innym serwerze(chyba że wykonasz drugi taki skrypt na nim, który będzie odbierał innym sposobem polecenia i je wywoływał poprzez exec() ale to droga na około)
Ale jak mówiłem można to obejść korzystając z ssh2 ...

Pewnie, kto pyta nie błądzi, ale czasami wystarczy chęci by samemu wpaść na pomysł.
Jakby tak każdy pytał np: jak wysłać plik na serwer, byłby ogromny spam na forach(i tak jest xD), a wystarczy wyszukać np: w google ?
Lub właśnie to co sprawia największy problem - korzystać z dokumentacji i własnego intelektu :)
tak więc nie zgodziłbym się do końca z twoimi założeniami(druga część zdania :)).
Jeśli chodzi o programistów, to jeśli jeden ma z czymś problem, inny stara się go nakierować.
Ale jeśli na forum o serwerach QNAP pytasz jak w php przesłać plik ? to coś świadczy o twoich umiejętnościach ...
wybacz, widocznie zbyt pochopnie oceniłem ciebie.
 
hypnosiss napisał:
Nie da rady ! exec wydaje polecenia na lokalnym serwerze, na którym jest wywoływany skrypt php !
Więc funkcją exec() lub shell_exec() nie wywołasz komend w wierszu polecenia zdalnie na innym serwerze(chyba że wykonasz drugi taki skrypt na nim, który będzie odbierał innym sposobem polecenia i je wywoływał poprzez exec() ale to droga na około)
...
O tym właśnie na początku myślałem. Z drugiej strony nie zgodzę się z Tobą, że tak całkiem na około.
Bo tak:
1. Czy mogę połączyć się przez ssh2 na innym użytkowniku niż admin? Z tego co wiem to nie.
2. Czy bezpieczniejszym będzie przesłanie loginu(admin) i hasła(*****) admina między serwerami, czy wysłanie pliku z komendami i lokalnie na qnap wywołać go z admina?
3. Zastanawiałem się, czy php postawiony na serwerze qnap ma jakąś inną "furtkę" niż ssh? (więc wiesz już po co moje pytanie o przesłanie pliku php - qnap)

hypnosiss napisał:
Jeśli chodzi o programistów, to jeśli jeden ma z czymś problem, inny stara się go nakierować.
No to teraz możesz mnie nakierować :D
Aby w ogóle ssh miało sens, muszę wiedzieć jak na tym linuksie przejść przez wszystkie potrzebne mi kroki z założenia tematu.
1. Połączyłem się się z serwerem.
2. Utworzyłem użytkownika. (jest widoczny w Webowej aplikacji qnap)
3. Utworzyłem grupę. (też jest widoczna w WEB)
4. Utworzyłem katalog w /share/MD0_DATA/Users/ (tam tworzą się katalogi gdy zakładam udział sieciowy przez WEB)
5. Ustawiłem uprawnienia na takie jakie są gdy utworzę go przez WEB
6. Utworzyłem dowiązanie symboliczne w /share/ do katalogu z pkt 4 (też takie się tworzy przez WEB)
7. Uprawnienia są OK.

Po tych czynnościach dalej w WEB nie widzę tego katalogu w 'Shared Folders' (Udziały sieciowe). Czy gdzieś jeszcze coś muszę dodać? (czy może ma jakąś bazę z tymi folderami? może jakiś plik podobny do pliku z userami linuxa czy grupami)

edit.
Może jest jakaś usługa, którą należy zrestartować aby katalog był widoczny:>??
 
Belisarius napisał:
1. Czy mogę połączyć się przez ssh2 na innym użytkowniku niż admin? Z tego co wiem to nie.
po co ?
Belisarius napisał:
. Czy bezpieczniejszym będzie przesłanie loginu(admin) i hasła(*****) admina między serwerami, czy wysłanie pliku z komendami i lokalnie na qnap wywołać go z admina?
Tak czy owak, parametry te będziesz musiał jakoś wysłać, tak więc może to być ssh2, a może być zwykły GET ze skryptem-serwerem w php. Co w przypadku drugim będziesz musiał dodatkowo dodać własne zabezpieczenia. Nie widzisz tego ? Metodą ssh będzie efektywniej, bezpieczniej a przede wszystkim bez dużego nakładu pracy i nie potrzebnego kombinowania ...

Belisarius napisał:
3. Zastanawiałem się, czy php postawiony na serwerze qnap ma jakąś inną "furtkę" niż ssh?

SSH to nie php. Na qnapie jest zainstalowany normalny php(może nieco okrojony). Nie rozumie ?
Tak jak mówiłem ssh jest jedną z metod "łączenia się".
Sam jestem w trakcie pisania rozbudowanego systemu hostingu serwerów gier i do komunikacji z serwerami korzystam właśnie z ssh2.

Belisarius napisał:
Po tych czynnościach dalej w WEB nie widzę tego katalogu w 'Shared Folders' (Udziały sieciowe)
Niestety możliwe że nie pojawiają się te informacje w panelu(ma swój system sprawdzania, może ma wlasna baze, tego nie wiemy), bo tak naprawde po co ci potrzebne to że ich widać w panelu ? Ale lepiej dążyć do perfekcji, więc może nie dodałeś wszystkich folderów z nazwą lub informacji do usług, które są związane z udziałem sieciowym(między innymi samba). Bądź nie zrestartowałeś tych usług. Może gdzieś jest plik konfiguracyjny z "bazą" spróbuj poszukać ;)
 
  • Lubię to
Reakcje: Silas Mariusz