Linuxiarze.pl Forum

Dystrybucje Linux => Inne dystrybucje Linux => Wątek zaczęty przez: gorus1 w Styczeń 09, 2019, 09:02:34 PM

Tytuł: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 09, 2019, 09:02:34 PM
Dzień Dobry,
nie jestem zbyt doświadczonym użytkownikiem linux w związku z tym chciałbym prosić o pomoc w napisaniu (dla niektórych zapewne prostego) skryptu.
Otóż posiadam serwer NAS zyxela nsa310 i chciałbym na niego wysyłać automatycznie kopie poprzez ssh.
Na tym zyxelu jest dystrubucja Linux nas 2.6.31.8 i obsługuje komenda adduser itp., ale niestety po restarcie jakiekolwiek zmiany są usuwane.
W związku z tym potrzebuję stworzyć skrypt autostartu, który automatycznie zakładałby użytkownika i definiowałby mu dostęp ssh tylko do jednego wybranego katalogu.
Chodzi o to, że podając dane do mojego prywatnego NAS komuś z zewnątrz, kto wysyłałby po SSH backupy chcę mieć pewność, że ten ktoś nie będzie miał nieuprawnionego dostępu do innych katalogów.
Czy mógłbym liczyć na pomoc?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gosc w Styczeń 10, 2019, 08:00:50 PM
Lepiej się zastanowić dlaczego te konta się kasują.
Odpowiedź zapewne znajdziesz w dokumentacji.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 11, 2019, 02:01:45 AM
Kasuje się ponieważ system jest tak skompilowany, że domyślnie katalog domowy użytkownika "root" jest ustawiony na /home , który znajduje się w wewnętrznej pamięci flash. Ta pamięć jest usuwana przy każdym ponownym uruchomieniu urządzenia. Jednak udało mi się poradzić z tym problemem dzięki tym http://dp.nonoo.hu/installing-ffp-on-zyxel-nsa325/ tutkom.
Natomiast dzięki metodzie autoryzacji SSH kluczem publicznym rozwiązał się mój problem z obawą udostępnienia hasła root gdyż rsync działa dwukierunkowo i mogłem go skonfigurować na swoim domowym NAS, który pobiera pliki ze zdalnego VPS.
Ponadto dzięki drugiej metodzie z powyższego linku dotyczącą crontaba mogę zaplanować te zadania.
W zasadzie to by było wszystko ale chciałbym Was podpytać jak użyć rsync w taki sposób, aby jedną komendą pobrał wszystkie katalogi o nazwie "public_html" z katalogu /home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
?
pomoże ktoś?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: lesio w Styczeń 11, 2019, 04:59:29 PM
Ja używam rsync w takiej postaci:
rsync -arvtHAX --delete -e "ssh -p 1234" root@NAZWA_HOSTA:/home/user/domena/public_html .

Oczywiście zarówno port (tutaj 1234) jak i opcje polecenia rsync można dobrać stosownie do potrzeb.
W poleceniu katalogiem docelowym jest katlog bieżący "." - może być oczywiście dowolny inny.
Dla portu standardowego dla ssh nie trzeba żadnej opcji dla portu, czyli po prostu stosuje się samo "ssh".
Jest tylko jeden katalog public_html - nie rozumiem, co oznacza "wszystkie katalogi o nazwie public_html"?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 14, 2019, 02:30:33 AM
Ja chcę pobierać z innego serwera więc rsync powinienem użyć w takiej postaci
rsync -chavzP --stats -e "ssh -p 1111 -i /sciezka/do/kluczaSSH" root@111.22.33.44:/home/domains/public_html/ /katalog/z/backupem
jednak to polecenie kopiuje tylko jeden wybrany katalog, a ja chciałbym kopiować wszystkie katalogi o nazwie public_html - każdy z użytkowników taki posiada, a ścieżka do niego wygląda tak:
/home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
chciałbym jedną komendą rsync robić backup tj. pobierać katalogi "public_html z wszystkich domen każdego użytkownika.
Ponadto chciałbym, aby kopie były archiwizowane oraz wykonywane codziennie, a każda następna nadpisuje ostatnią tak aby było dostępnych 7 ostatnich dni.
Jest to możliwe do wykonania?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 14, 2019, 08:28:37 AM
Cytat: gorus1 w Styczeń 14, 2019, 02:30:33 AM
Jest to możliwe do wykonania?

Spróbuj z tym algorytmem (oczywiście, "źródło" i "cel" odpowiednio dopasować):



ZRODLO=/home/domains/public_*

CEL=/katalog/z/backupem

rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H "${ZRODLO}" "${CEL}"

Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 14, 2019, 10:24:57 AM
Coś jest nie tak - pojawia się komunikat o złej składni a używam dokładnie takiej:
rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H -e "ssh -p 11223 -i /ffp/home/root/.ssh/keypair" root@111.22.33.44 "${/home/domains/public_*}" "${/i-data/beadda5d/backupy}"
natomiast u ścieżka źródła wygląda zawsze tak:
/home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
czyli zmiennymi w ścieżkach są zawsze nazwa użytkownika i nazwa domeny.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 14, 2019, 11:03:53 AM
No oczywiście, że musisz to odpowiednio rozbudować...
- ja podałem Ci tylko sposób stworzenia takiego skryptu, bo samym rsync raczej tego nie wykonasz...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 15, 2019, 02:20:45 PM
Czy jest tu na forum, aby jakaś sekcja "zlecenia", albo "praca", bo nie widzę, a zleciłbym komuś napisanie takiego skryptu jak powyżej.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 15, 2019, 02:54:48 PM
Cytat: gorus1 w Styczeń 09, 2019, 09:02:34 PM
Otóż posiadam serwer NAS zyxela nsa310 i chciałbym na niego wysyłać automatycznie kopie poprzez ssh.
Na tym zyxelu jest dystrubucja Linux nas 2.6.31.8 i obsługuje komenda adduser itp., ale niestety po restarcie jakiekolwiek zmiany są usuwane.

Kolego, nawet, gdyby człowiek chciał Ci pomóc, to określasz zadania i cele mało precyzyjnie...

"Posiadasz zyxela" i chciałbyś "wysyłać"...
-ale CO na CO ?
Czy chcesz regularnie przesyłać dane z różnych stacji(komputerów) na NASa ?

A jeśli tak, to w sieci lokalnej, czy z poza niej (z zewnątrz)?

Poza tym, co tutaj ma do rzeczy jaki system jest na NASie?, po co Ci tworzenie usera, czy jakichś skryptów ?

Cytat: gorus1 w Styczeń 09, 2019, 09:02:34 PM
Chodzi o to, że podając dane do mojego prywatnego NAS komuś z zewnątrz, kto wysyłałby po SSH backupy chcę mieć pewność, że ten ktoś nie będzie miał nieuprawnionego dostępu do innych katalogów.

Tego to już zupełnie nie rozumiem ?
- Kolego, określ precyzyjnie i po kolei CO CHCESZ OSIąGNąć (ROBIć), to dopiero wówczas możemy Ci pomóc...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 15, 2019, 04:54:13 PM
Kolego, doczytaj do końca wszystkie posty w tym temacie, bo mam wrażenie, że przecztałeś dwa pierwsze wersy pierwszego postu i dwa ostatnie ostatniego i nic dziwnego, że nie rozumiesz.
Jakbyś doczytał do końca to byś zauważył, że sam sobie poradziłem z problemem z pierwszego postu dając odpowiedź w drugim (zacytuję sam siebie)
CytatKasuje się ponieważ system jest tak skompilowany, że domyślnie katalog domowy użytkownika "root" jest ustawiony na /home , który znajduje się w wewnętrznej pamięci flash. Ta pamięć jest usuwana przy każdym ponownym uruchomieniu urządzenia. Jednak udało mi się poradzić z tym problemem dzięki tym
Natomiast z czego na co chciałbym wysłać jak wół napisane jest również w drugim moim poście
Cytat...rsync działa dwukierunkowo i mogłem go skonfigurować na swoim domowym NAS, który pobiera pliki ze zdalnego VPS
a to czy w sieci lokalnej czy nie to nie ma żadnego znaczenia dla skryptu choć jakbyś uważnie czytał to byś zapewne zauważył to co zacytowałem powyżej tj. "ze zdalnego VPS" i nie błaźniłbyś się pytaniem czy w sieci lokalnej.
A to jaki system jest na NAS ma do rzeczy tyle, że takie dystrybucje są zazwyczaj okrojone i chciałem z góry to wyszczególnić gdyż mogą nie mieć jakiegoś pakietu, który mógłby być zasugerowany jako rozwiązanie.
Kolego, jak chcesz pomóc to przeczytaj uważnie wszystkie posty, bo mam wrażenie, że Twoje odpowiedzi służą jedynie do nabijania żółtego potencjometru przy Twoim nickname.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 15, 2019, 09:55:28 PM
Cytat: gorus1 w Styczeń 15, 2019, 04:54:13 PM
Kolego, doczytaj do końca wszystkie posty w tym temacie

Kolego, abstrachując od inwektyw, którymi mnie obsypujesz, powiem Ci jedno, tak, czytałem...
- i zrozumiałem na tyle, że mogę powiedzieć, że gadasz farmazony !
Możliwe, że coś Ci się tam udało zmajstrować na tym Twoim NASie, ale w sumie to chyba nawet dokładnie nie wiesz, jak to działa...

Co wkońcu chcesz na tego NASa przesyłać (a jakim sposobem, to mało istotne), jakieś "kopie" ? i skąd ?
- za chwilę piszesz, że udostępniasz NASa na zewnątz ?

"Chodzi o to, że podając dane do mojego prywatnego NAS komuś z zewnątrz, kto wysyłałby po SSH backupy chcę mieć pewność, że ten ktoś nie będzie miał nieuprawnionego dostępu do innych katalogów."

- przecież to Twoje słowa !

Oczywiście, wisi mi to, co Ty tam kombinujesz, jednak z moich mglistych domysłów wnioskuję, że próbujesz publicznie udostępniać NASa, jako czegoś w rodzaju "chmurki"...
Jeśli faktycznie jest tak, jak się domyślam, to dlaczego nie zrobisz np serwera FTP z prawdziwego zdarzenia?

I właśnie o to mi chodziło...
- sprecyzuj dokładnie zadania NASa, to wówczas można coś doradzić...

Ty jednak postępujesz, jakbyś był płacącym "PANEM" w jakiejś podrzędnej knajpce...
- no nic, życzę powodzenia w rozwoju...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 15, 2019, 11:31:47 PM
CytatChodzi o to, że podając dane do mojego prywatnego NAS komuś z zewnątrz, kto wysyłałby po SSH backupy chcę mieć pewność, że ten ktoś nie będzie miał nieuprawnionego dostępu do innych katalogów.
tak to moje słowa gdyż pierwotnie chciałem wysyłać rsync-iem kopie ze Z D A L N E G O VPS do mojego domowego NAS zyxel i szukałem metody (skryptu) która z tego powodu:
Cytatdomyślnie katalog domowy użytkownika "root" jest ustawiony na /home , który znajduje się w wewnętrznej pamięci flash. Ta pamięć jest usuwana przy każdym ponownym uruchomieniu urządzenia
będzie przy każdym restarcie mojego domowego NAS zakładał użytkownika z dostępem SSH, ale tylko do jednego katalogu przeznaczonego na backupy gdyż jak wynika z pierwszego cytatu - dostęp do zdalnego VPS posiadam nie tylko ja i nie chciałbym, aby ktoś miał dostęp do innych danych na moim prywatnym NAS.
Jednak w międzyczasie odkryłem (o czym już pisałem) to:
http://dp.nonoo.hu/installing-ffp-on-zyxel-nsa325/
dzięki czemu mogłem zainstalować na moim NAS FFPstick co z kolei umożliwiło mi skonfigurowanie SSH pubkey authentication oraz Crontab w taki sposób, aby "wyjąć" te pakiety z pamięci flash.
Mając możliwość autoryzacji kluczem na NAS dalej doczytałem, że mogę właśnie na NAS zainstalować rsync i automatycznie pobierać kopie zamiast wysyłać z VPSa, natomiast crontab umożliwia, że harmonogram z ewentualnymi skryptami mogę skonfigurować w NAS zyxel.
Reasumując
doszedłem do momentu w którym takie polecenie:
rsync -chavzP --stats -e "ssh -p 1111 -i /sciezka/do/kluczaSSH" root@111.22.33.44:/home/user/domains/nazwa_domeny/public_html/ /katalog/z/backupem
pobiera ze Z D A L N E G O VPSa taki katalog /home/user/domains/nazwa_domeny/public_html/
natomiast na tym VPS ie jest więcej użytkowników, którzy mają domeny, a w każdej z tych domen jest katalog "public_html"
Interesuje mnie zawartość wyłącznie katalogów "public_html" wszystkich domen każdego użytkownika i dlatego potrzebuję skryptu.
Czy to takie ciężkie było do zrozumienia? Przecież to wynikało z następnych postów.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 16, 2019, 11:58:12 AM
Piszesz
Cytat: gorus1 w Styczeń 15, 2019, 11:31:47 PM
tak to moje słowa gdyż pierwotnie chciałem wysyłać rsync-iem kopie ze Z D A L N E G O VPS do mojego domowego NAS zyxel i szukałem metody (skryptu)

W innym miejscu, że chcesz "pobierać z VPS", jeszcze w innym, "że znalazłeś rozwiązanie problemu" (dzięki http://dp.nonoo.hu/installing-ffp-on-zyxel-nsa325/ - czy myślisz, że ktoś z nas będzie to również "studiować" ?)  itp...
Raz tak, raz owak, totalny "misz-masz" i "groch z kapustą" (w każdym bądź razie, ja to tak odebrałem)...

Teraz wreszcie zrozumiałem o co Ci dokładnie chodzi....
- ty chciałbyś użyć rsynca do:

--------------------------------------------------------------------
zdalnyVPS(/home/..itd/public_html/)----backup---->(rsync)ZYXEL
--------------------------------------------------------------------

Zauważ, że w początkowej wersji miało być tak:

zdalnyVPS(/home/..itd/public_html/)(rsync)----backup---->ZYXEL

a są to dwie różne konstelacje!

I dopiero w tym punkcie planowania powinno się zastanowić, jak spreparować ZYXELA do tego zadania...

Na pewno nie trzeba tutaj nic manipulować z userami, rootami, czy samym OSem (zobacz moje: "Poza tym, co tutaj ma do rzeczy jaki system jest na NASie?, po co Ci tworzenie usera, czy jakichś (dodatkowych) skryptów ?)

A co do samego skryptu, to OK, widzę, że podpowiedziałem do zupełnie innej konstelacji.
Oczywiście, można to określić w jednej linii, ja osobiście jednak wolę wpierw określać zmienne, a dopiero potem prawidłowy algorytm (posłużyłem się już Twoim, działającym algorytmem), np.:


ZRODLO=root@111.22.33.44:/home/user/domains/nazwa_domeny/public_html/
CEL=/katalog/z/backupem

rsync -chavzP --stats -e "ssh -p 1111 -i /sciezka/do/kluczaSSH" "${ZRODLO}" "${CEL}"



Funkcjonujący "rdzeń" już masz, teraz wszystko zależy od NASa, t.j. co można na nim zrobić.
Przypuszczam, że niewiele więcej, jak spreparować tak crontaba, że uruchamiać będzie po kolei kolejne "skrypty-rdzenie" do każdej domeny z osobna.

Ale do tego, jak widzę sam doszedłeś, więc o jakie "skrypty", czy "pomoc" Ci chodzi ?

Twoja wypowiedź do której się odniosłem:
"Czy jest tu na forum, aby jakaś sekcja "zlecenia", albo "praca", bo nie widzę, a zleciłbym komuś napisanie takiego skryptu jak powyżej."
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 16, 2019, 04:04:18 PM
Cytatczy myślisz, że ktoś z nas będzie to również "studiować
dziękuję Ci, że w przeciwieństwie do innych akurat Tobie zechciało się to studiować.
Natomiast zauważ, że zmiana moich oczekiwać i definicja problemu nastąpiła dlatego, że w międzyczasie znalazłem w sieci pewne rozwiązanie, które uświadomiło mi, że zamiast konfigurować skrypty backupu na zdalnym VPS (udostępniając jednocześnie dane dostępowe do mojego domowego NAS) - mogę zrobić odwrotnie tj. wygenerować klucz SSH na domowym NAS, zaimplementować go na VPS i "pobierać" backup ze zdalnego VPSa.
Teraz, kiedy to NAS zyxel (do którego mam dostęp wyłącznie ja) pobiera dane/backup, a nie zdany VPS (do którego mają dostęp również inni) wysyła poprzez rsync to faktycznie nie jest potrzebne zakładanie żadnych użytkowników z okrojonym dostępem itp.
Jednak gdyby było odwrotnie to w jaki inny sposób można by było zablokować dostęp do innych zasobów na NAS zyxel niż poprzez stworzenie użytkownika z "okrojonym" dostępem?
Cieszę się jednak, że udało się to jakoś przedstawić i jak już pisałem - doszedłem do takiej działającej konfiguracji:
rsync -chavzP --stats -e "ssh -p 1111 -i /sciezka/do/kluczaSSH" root@111.22.33.44:/home/user/domains/nazwa_domeny/public_html/ /katalog/z/backupem

do tego momentu wszystko zdaje się dobrze udało mi się opisać jednak jedno muszę doprecyzować tj. napisałeś:
Cytat... uruchamiać będzie po kolei kolejne "skrypty-rdzenie" do każdej domeny z osobna.
otóż gdyby ilość domen i użytkowników była niezmienna to zapewne próbowałbym sam napisać taki skrypt, albo najprawdopodobniej kilka skryptów.
Jednak użytkownicy  dodają domeny i je usuwają jak również sami użytkownicy są dodawani i usuwani w związku z tym liczba tych katalogów "public_html" w poszczególnych domenach będzie się zmieniać i dlatego potrzebuję takiego skryptu, który to wszystko uwzględni.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 16, 2019, 04:43:38 PM
Cytat: gorus1 w Styczeń 16, 2019, 04:04:18 PM
otóż gdyby ilość domen i użytkowników była niezmienna to zapewne próbowałbym sam napisać taki skrypt, albo najprawdopodobniej kilka skryptów.
Jednak użytkownicy  dodają domeny i je usuwają jak również sami użytkownicy są dodawani i usuwani w związku z tym liczba tych katalogów "public_html" w poszczególnych domenach będzie się zmieniać i dlatego potrzebuję takiego skryptu, który to wszystko uwzględni.

Teraz określiłeś to bardzo precyzyjnie i rozumiem w czym problem. Spróbujemy to jakoś rozgryźć.

Potrzebnych jest jednak kilka dodatkowych informycji, ale w pierwszym rzędzie istotna jest jedna, t.j.
- na czym (fizycznie) tworzone są wymienione przez Ciebie "zmieniające się domeny" i jaki Ty masz dostęp (jako root?) do serwera(ów) (bo przypuszczam, że jest to co najmniej jeden serwer )?

Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 16, 2019, 08:32:30 PM
Te domeny (a właściwie katalogi domen) są tworzone tylko i wyłącznie na jednym jedynym VPS, a ich struktura (ścieżka do public_html) wygląda następująco:
/home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
Oczywiście mam dostęp root po kluczu SSH do tego zdalnego VPS co wynika z wklejonego przeze mnie działającego polecenia.
Jednak to polecenie kopiuje tylko jeden wybrany katalog public_html , a ja chciałbym jakimś skryptem wylistować wszystkie katalogi i je pobrać rsync - iem.

Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 17, 2019, 08:37:14 AM
Cytat: gorus1 w Styczeń 16, 2019, 08:32:30 PM
Jednak to polecenie kopiuje tylko jeden wybrany katalog public_html , a ja chciałbym jakimś skryptem wylistować wszystkie katalogi i je pobrać rsync - iem.

To zrozumiałem, ale chodziło mi o to, czy jesteś adminem pojedyńczej, wirtualnej maszyny VPS, czy administrujesz całego Hypervisora.
OK, coś przygotujemy. Powiedz mi teraz co jest "podstawą" VPSów, jakiś typ linuksa, któryś z uniksów ?
- jest to istotne, bo zamierzony przez Ciebie backup prawdopodobnie trzeba będzie zrobić "dwuczłonowo", tzn. na VPSie musi również lecieć odpowiedni skrypt...
- by go przygotować muszę wiedzieć, jaki OS jest tam emulowany...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 17, 2019, 10:55:42 AM
Nie no, mam dostęp tylko do pojedynczej maszyny VPS z Debian 8.3 na pokładzie.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 17, 2019, 04:21:34 PM
Cytat: gorus1 w Styczeń 17, 2019, 10:55:42 AM
Nie no, mam dostęp tylko do pojedynczej maszyny VPS z Debian 8.3 na pokładzie.

No to polecimy..
- załóż katalog i stwórz tekstowy plik np. pod /opt/BackupVPS/ExcludeVPS.list

- do pliku ExcludeVPS.list zapisz:


#
#--napiane przez TataPingu z forum linuxiarze.pl
#
- **/@eaDir
- /lost+found
#--tutaj możesz wyłączyć  dowolną domenę
#- /domenadowyłączenia
#--tutaj możesz wyłączyć  dowolną domenę
+ **/
+ **/public_html/**
- *


Teraz stwórz skrypt, który sterowany będzie crontabem np. pod /opt/BackupVPS/SciaganieVPS

Do pliku-skryptu SciaganieVPS zapisz:


#!/bin/bash
#
#--napiane przez TataPingu z forum linuxiarze.pl
#
#
# CONFIG
#
LOGFILE=/var/log/BackupVPS.log
#
ZRODLO=root@111.22.33.44:/home/
KLUCZ="ssh -p 1111 -i /sciezka/do/kluczaSSH"
CEL=/katalog/z/backupem
EXCLUDEFILE=/opt/BackupVPS/ExcludeVPS.list
#
# END CONFIG

#---- ALGORYTM
#
echo "Dnia $(date) backup domen rozpoczęty" >> "${LOGFILE}"
sleep 1s
#
# i teraz możesz użyć mojego algorytmu (przetestowany lokalnie działa poprawnie
# jak będzie z "kluczem" tego nie wiem)
#
#### rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H --exclude-from="${EXCLUDEFILE}" "${KLUCZ}" "${ZRODLO}" "${CEL}"
#
# albo Twojego (odpowiednio dopasowałem)
#
rsync -chavzP --stats -e "ssh -p 1111 -i /sciezka/do/kluczaSSH" --exclude-from="${EXCLUDEFILE}" "${ZRODLO}" "${CEL}"
#
#---- ALGORYTM
#
echo "Dnia $(date) backup domen zakończony pomyślnie" >> "${LOGFILE}"
sleep 1s
#
exit


Resztę musisz sam dopasować
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 18, 2019, 02:00:59 PM
SUPER!!!
Skrypt zadziałał świetnie i w związku z tym pytanie (na PW) jak mogę się odwdzięczyć?

Na razie skrypt testuję ręcznie i zastanawia mnie jedna sprawa tj. przy uruchomieniu go wyskakuje mi komunikat związany z kluczem SSH
Are you sure you want to continue connecting (yes/no)? ECDSA key fingerprint is
Are you sure you want to continue connecting (yes/no)?
Please type 'yes' or 'no':

czy da się jakoś sprawić aby nie było tego pytania gdyż jak cron uruchomi skrypt to niby kto miałby wpisać "yes"
Wracając do skryptu to in + zaskoczyły mnie dwie rzeczy to, że obydwa pliki można ustawić na serwerze docelowym (w moim przypadku na zyxelu) oraz, że można zastosować wyłączenia domen.
Jednak niestety, ale te wyłączenia nie działają, a kombinowałem używając różnych ścieżek i nie wiem gdzie leży błąd?
Przyznam, że ta opcja jest bardzo przydatna i chciałbym wykluczyć np. jedną ścieżką wszystkie domeny danego użytkownika np. /home/user/* jak też jakiś katalog już w samym w public_html np.
/home/user/domains/domena.pl/public_html/przykladowykatalog
Da się coś takiego ustawić?
Ponadto to wszystkie te dane miały nieco powyżej 42 GB, ale strasznie długo to trwało tj. blisko 7 godzin, a niby obydwa serwery są pod internetem 100/100 Mbps, ale to już sprawa raczej nie do Ciebie.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 18, 2019, 03:11:29 PM
Cytat: gorus1 w Styczeń 18, 2019, 02:00:59 PM
SUPER!!!
Skrypt zadziałał świetnie i w związku z tym pytanie (na PW) jak mogę się odwdzięczyć?

Należy mi się "duża piana" (w wysokim kuflu) ;)
- a tak na poważnie, to nauczyć się powściągliwości (najpierw myśleć, a potem formuować zdania)
Ale OK, ja też kiedyś byłem młody...

Cytat: gorus1 w Styczeń 18, 2019, 02:00:59 PM
Na razie skrypt testuję ręcznie i zastanawia mnie jedna sprawa tj. przy uruchomieniu go wyskakuje mi komunikat związany z kluczem SSH
czy da się jakoś sprawić aby nie było tego pytania gdyż jak cron uruchomi skrypt to niby kto miałby wpisać "yes"

Prawdopodobnie tak i na pewno jest to związane z syntaxem:


"ssh -p 1111 -i /sciezka/do/kluczaSSH"

Jeśli Twój zapis działał prawidłowo, to nie używaj zmiennej "KLUCZ", tylko wstaw w to miejsce Twój syntax.
Ew. zmanipuluj odpowiednio $HOME/.ssh/config.

Cytat: gorus1 w Styczeń 18, 2019, 02:00:59 PM
Jednak niestety, ale te wyłączenia nie działają, a kombinowałem używając różnych ścieżek i nie wiem gdzie leży błąd?

W tym miejscu wpisujesz po prostu zarejstrowanego usera (każda domena jest userem), np. jeśli jest jakiś "firmax" (w rzeczywistości na VPSie /home/firmax) to piszesz:

- /firmax

Cytat: gorus1 w Styczeń 18, 2019, 02:00:59 PM
jak też jakiś katalog już w samym w public_html ...
Da się coś takiego ustawić?

Nie, tego już się nie da...

Cytat: gorus1 w Styczeń 18, 2019, 02:00:59 PM
Ponadto to wszystkie te dane miały nieco powyżej 42 GB, ale strasznie długo to trwało tj. blisko 7 godzin

Jeśli używasz mojego algorytmu (rsync -r -t -p -o -g -v --progress --delete --modify-window=1 -l -H), to było to za pierwszym ściąganiem, teraz dane będą tylko aktualizowane
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 18, 2019, 04:11:16 PM
Kufel piwa poszedł na PW  :)
Odnośnie tego syntaxa to ten sam monit występuje zarówno z użyciem zmiennej "KLUCZ" jak i bez niej.
Natomiast
CytatEw. zmanipuluj odpowiednio $HOME/.ssh/config.
czy mógłbyś mi podpowiedzieć jak to zrobić, bo przyznam szczerze, że nie rozumiem o co chodzi?

Ponadto
CytatW tym miejscu wpisujesz po prostu zarejstrowanego usera (każda domena jest userem), np. jeśli jest jakiś "firmax" (w rzeczywistości na VPSie /home/firmax)
każda domena nie jest userem, a katalogiem w katalogu domains tego usera.
Jak już wcześniej pisałem - struktura katalogów jest taka:
/home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
więc wg. Twojej instrukcji musiałbym wpisać:
- /NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY.PL
i tak też wpisuje, ale to nie działa (kopiuje się zawartość public_html tej domeny i nie wiem dlaczego?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 18, 2019, 06:39:07 PM
Zle mnie zrozumiałeś...
- pisałem USERA, a to to samo co wg. Ciebie NAZWAUŻYTKOWNIKA (wszystkie bezpośrednie katalogi pod /home/ to USERZY

Powinieneś to tak wyłączyć:

- /NAZWAUŻYTKOWNIKA

i tylko to !

A co do klucza, to musisz to sam "rozgryźć". Na pewno jest możliwe "zautomatyzowanie" procesu meldowania się na VPS. W sieci znajdziesz sporo na ten temat. Chętnie bym doradził, tylko nie znam OSa na ZYXELU, jego struktury itd. Musiałbym mieć bezpośredni dostęp do niego.


Ps - acha, i jeszcze jedno...
Gdy teraz zamkniesz którąś domenę, to już raz ściągnięte dane na ZYXELA musisz po prostu ręcznie zlikwidować...
- przy następnej aktualizacji nie będą ściągane...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 18, 2019, 07:25:59 PM
Duże dzięki za pomoc - sporo mi pomogłeś.
Co do tego klucza to w międzyczasie rozgryzłem gdzie leży problem a mianowicie
Cytatdomyślnie katalog domowy użytkownika "root" jest ustawiony na /home , który znajduje się w wewnętrznej pamięci flash. Ta pamięć jest usuwana przy każdym ponownym uruchomieniu urządzenia
ale z tym to sobie sam jakoś poradzę, bo pewnie tu chodzi o hosty znane hosty, które też po restarcie są usuwane.
Dodam, że jeżeli nie ma restartu to ta prośba o potwierdzenie pojawia się tylko raz - potem już nie.
Co do samych komend rsync (kopie przyrostowe, różnicowe) to również jest sporo w sieci i sobie spróbuję z tym poradzić.
Jednak cały czas mam problem z tymi wyłączeniami tj. robię dokładnie tak jak piszesz tj.
- /NAZWAUŻYTKOWNIKA
ale niestety wszystkie public_html tego użytkownika i tak się kopiują.
P.S.
oczywiście usuwam # sprzed polecenia
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 18, 2019, 08:32:21 PM
Cytat: gorus1 w Styczeń 18, 2019, 07:25:59 PM
Jednak cały czas mam problem z tymi wyłączeniami

Chmmm..., sam nie wiem...
- przy testach, które naprędce zrobiłem, wszystko było OK
Z tym, że testy robiłem lokalnie...

Spróbuj może tak:

- **/NAZWAUŻYTKOWNIKA

A co do ssh, to masz prawdopodobnie rację, to "znikający" root...
- ale to jest do ogarnięcia...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 19, 2019, 11:15:36 AM
CytatSpróbuj może tak:

- **/NAZWAUŻYTKOWNIKA
bingo - właśnie i to chodziło.
Natomiast wyżej pytałem, czy można wyłączyć jakiś katalog już w samym public_html jakiejś domeny i napisałeś:
CytatNie, tego już się nie da...
muszę zaprzeczyć, bo właśnie to przetestowałem i da się wyłączyć taki katalog - wystarczy go dopisać do ścieżki np.:
- **/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html/wp-admin
Jeszcze raz duże dzięki za pomoc. Teraz pozostało mi już tylko pobawić się ustawieniami samego rsync gdyż docelowo chcę ustawić go w taki sposób, aby robił kopie różnicowe trzymane przez 7 dni wstecz.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 19, 2019, 03:30:26 PM
Cytat: gorus1 w Styczeń 19, 2019, 11:15:36 AM
muszę zaprzeczyć, bo właśnie to przetestowałem i da się wyłączyć taki katalog - wystarczy go dopisać do ścieżki np.:
- **/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html/wp-admin

No to nauczyłem się również czegoś nowego..

A tak gwoli informacji, jedna gwiazdka (*) oznacza "jeden pozim/katalog poniżej" (jeden katalog), dwie gwiazdki (**) "cała gałąź poniżej"
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 20, 2019, 11:56:13 AM
Duże dzięki za wszelkie pomoce - praktycznie dobrnąłem do końca poradziłem sobie również komunikatem o potwierdzeniu (syntax), ale utknąłem na ostatnim etapie całego przedsięwzięcia tj. na crontabie.
Gdybyś zechciał mi pomóc...
wpisuję takie przykładowe polecenie do crontaba:
48 11 * * * sh /i-data/beadda5d/root/.ssh/public_htmlbackup.sh > /dev/null 2>&1

i niby Twój log rejestruje jakieś ruchy
Dnia Sun Jan 20 11:48:01 CET 2019 backup domen rozpoczęty
Dnia Sun Jan 20 11:48:01 CET 2019 backup domen zakończony pomyślnie

ale w tym samy momencie co rozpoczęcie - następuje również zakończenie backupu i nic się nie kopiuje.
Oczywiście jak ręcznie uruchamiam skrypt to wszystko jest ok.
Nie wiem czy chodzi o jakieś prawa czy o coś innego stąd moja prośba o pomoc.
Dodam, że ustawiłem skrypt, aby  był wykonywalny komendą
chmod +x /sciezka/do/skrypt.sh
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 20, 2019, 12:54:39 PM
Cytat: gorus1 w Styczeń 20, 2019, 11:56:13 AM
......................

Skrypt uruchamiany musi być z roota, np. poniższy syntax regularnie bootuje PCta o godz. 4:00


##------------REGULARNY REBOOT-----------------
5 4 * * * root /sbin/reboot
## Restart o godz 4:00
##------------REGULARNY REBOOT-----------------


Czy np. poniższy, regularnie, co 7 minut uruchamia skrypt poversaver.sh


*/7 * * * * root /usr/local/bin/powersaver.sh
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 20, 2019, 01:06:03 PM
Dzięki
zalogowałem wykonanie skryptu do pliku jeszcze sprzed Twoich sugestii - oto rezultat:
sleep: invalid number '1s'
ssh: error while loading shared libraries: libcrypto.so.0.9.7: cannot open shared object file: No such file or directory
rsync: safe_write failed to write 4 bytes to socket [Receiver]: Broken pipe (32)
rsync error: remote command not found (code 127) at io.c(320) [Receiver=3.1.1]
sleep: invalid number '1s'

co Ty na to?
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 20, 2019, 02:05:47 PM
Cytat: gorus1 w Styczeń 20, 2019, 01:06:03 PM
co Ty na to?

Jeśli nie ma, to spróbuj nanieść do crontab, (jako pierwsze) poniższe:


SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 21, 2019, 02:30:31 PM
Dodałem to i niestety nic to nie daje.
Nie będę Ci już zawracał głowy (i tak dużo pomogłeś) i spróbuję poszukać gdzieś rozwiązania na to, choć dziwne jest, że skrypt działa bez problemu ręcznie, a z crontaba ne...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: TataPingu w Styczeń 21, 2019, 03:47:34 PM
Cytat: gorus1 w Styczeń 21, 2019, 02:30:31 PM
choć dziwne jest, że skrypt działa bez problemu ręcznie, a z crontaba ne...

Teraz to Ty miałeś rację, wymieniając typ OSa (na początku)...
- w tym punkcie trzebaby dokładnie przyjrzeć się systemowi.

Na pewno jest to trochę zmanipulowany (przerobiony ze "standardu") i przystosowany do sprzętu system. Nawet gdybyśmy chcieli pomóc, to prawdopodobnie będzie to problematyczne bez dostępu do samego OSa.
Widzę, że masz na tyle rozeznanie, że na pewno znajdziesz rozwiązanie...
Daj znać dla ciekawości...
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Styczeń 21, 2019, 04:46:01 PM
A Ty miałeś rację z tym
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
tyle, że to taka kompilacja, że musiałem zmienić ścieżki gdyż domyślnie nie ma tu openssal i trzeba było doinstalować pewien pakiet na tego zyxela.
Oczywiście miałem zainstalowany ten pakiet, ale z moim pojęcie dopiero teraz wpadłem, żeby zmienić ścieżki do powyższych zmiennych.
W międzyczasie też doczytałem, że trzeba co nieco dodać do skryptu, aby cron go odpalał i teraz działający skrypt wygląda tak:
#!/ffp/bin/bash
#
#--napiane przez TataPingu z forum linuxiarze.pl
#
#
# CONFIG
#

#
#--napiane przez TataPingu z forum linuxiarze.pl
#
#
# CONFIG
#
HOME=/i-data/beadda5d/root
LOGNAME=root
PATH=/ffp/usr/local/sbin:/ffp/usr/local/bin:/ffp/sbin:/ffp/bin:/ffp/usr/sbin:/ffp/usr/bin
LANG=en_US.UTF-8
SHELL=/bin/sh
PWD=/i-data/beadda5d/root

swoją drogą to mógłbyś na koniec podpowiedzieć co oznaczają te zmienne, bo ja to tylko wiem, że ścieżki do bibliotek openssl były złe a także, że katalog root był gdzie indziej, bo go sam zmieniałem ze względu właśnie na to, że po restarcie wszystko znikało.
Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: sebekoo w Maj 24, 2019, 10:48:16 AM
Cytat: gorus1 w Styczeń 11, 2019, 02:01:45 AM
Kasuje się ponieważ system jest tak skompilowany, że domyślnie katalog domowy użytkownika "root" jest ustawiony na /home , który znajduje się w wewnętrznej pamięci flash. Ta pamięć jest usuwana przy każdym ponownym uruchomieniu urządzenia. Jednak udało mi się poradzić z tym problemem dzięki tym http://dp.nonoo.hu/installing-ffp-on-zyxel-nsa325/ tutkom.
Natomiast dzięki metodzie autoryzacji SSH kluczem publicznym rozwiązał się mój problem z obawą udostępnienia hasła root gdyż rsync działa dwukierunkowo i mogłem go skonfigurować na swoim domowym NAS, który pobiera pliki ze zdalnego VPS.
Ponadto dzięki drugiej metodzie z powyższego linku dotyczącą crontaba mogę zaplanować te zadania.
W zasadzie to by było wszystko ale chciałbym Was podpytać jak użyć rsync w taki sposób, aby jedną komendą pobrał wszystkie katalogi o nazwie "public_html" z katalogu /home/NAZWAUŻYTKOWNIKA/domains/NAZWADOMENY/public_html
?
pomoże ktoś?
Mam NAS325 v2 - on jest bliźniakiem twojego NAS310 z jedyną różnicą że mój posiada miejsce na dwa dyski a twój na jeden dysk.
Jak wyczytałem z treści całego tematu łączysz się poprzez SSH kluczem publicznym. Chciałbym informacji w jaki sposób to zrobiłeś - bo ja nie mogę sobie z tym poradzić. A dokładniej łącze się przez SSH ale musze podawać hasło.


Tytuł: Odp: Skrypt tworzący nowego użytkownika linux
Wiadomość wysłana przez: gorus1 w Maj 28, 2019, 09:22:01 AM
Najpierw zwiększyłem możliwości NAS-a poprzez to repozytorium https://geek.net.pl/poradniki/zwiekszenie-mozliwosci-serwera-nas-zyxel-dodajemy-dodatkowe-pakiety/
a potem z np. z tego poradnika https://www.dobreprogramy.pl/parranoya/SSH-przez-PuTTY-bez-uzycia-hasla,39225.html
z tym, że ja łączę się po kluczu z NAS-a na inny serwer, a nie odwrotnie.