18:01 <%ktos> byly juz dwa wyklady dotyczace basha, mam na celu napisac o rzeczach, ktore nie byly dotychczas poruszane
18:01 <%ktos> temat - bash w praktyce na serwerze produkcyjnym
18:01 <%meal> Eee kurwa nie pozwalaj sie ok?
18:01 <%meal> *se
18:02 <%meal> Nie pozwalaj sobie!
18:02 <@MrocznA> meal: wyklad jest!
18:02 <%Robol> ;]
18:02 <%ktos> hmm, moze ja poczekam
18:02 <%ktos> :]
18:02 <%meal> Aahaa
18:02 <%meal> Dobra
18:02 <%meal> Mówi
18:02 <%ktos> noo
18:02 <@MrocznA> ...
18:03 <%ktos> wiec zagadnienie nr 1 - skrypt startowe
18:04 <%ktos> czesto mozna stanac przed sytuacja w ktorej a) oferowane wraz z dystrybucja skrypty startowe sa niedoskonale, lub b) przydalby sie wlasny skrypt start/stop do uslugi, ktora uruchamiamy sami, a ktora nie nalezy do uslug oferowanych przez system
18:04 <%ktos> przypadek pierwszy omowie na przykladzie apachectl, ktory oferowany jest do zatrzymywania/uruchamiania/restartu apache
18:05 <%ktos> kiedys jest uruchomionych kilka czy kilkanascie procesow httpd na malym serwerze, apachectl zachowuje sie poprawnie
18:05 <%ktos> natomiast przy kilkudziesieciu lub wiecej procesach httpd apachectl czesto nei daje sobie rady
18:05 <%ktos> rozwiazanie proponuje tutaj:
18:06 <%ktos> http://www.ktos.klej.net/bash/01/rc.httpd_poprawiony.txt
18:07 <%ktos> skrypt dziala na tej zasadzie, ze dla kazdego znalezionego PID-u procesu httpd wykonuje kill -9 PID, przez co ubija Apache "skutecznie"
18:07 <%DJ_cool_> niedoskonałe.
18:07 <%DJ_cool_> bo może ubić proces co ma w nazwie httpd, a apaczem nie jest.
18:08 <%DJ_cool_> aw.
18:08 <%ktos> DJ_cool_: coz, nie uswiadczylem, abym uruchomil proces o nazwie httpd, ktory nei jest Apache, nie wiem po co uruchamiac, cos pod taka nazwa
18:09 <%ktos> zawsze mozna znalezc dziure w calym
18:09 <%ktos> przy okazji chcialbym powiedziec o praktycznej instrukcji, ktora pozwala utrzymac skrypt przejrzystym
18:09 <%DJ_cool_> no ja mam odpalony taki proces, więc mówię o tym.
18:09 <%ktos> DJ_cool_: mysle, ze masz wystarczajace umiejetnosci, aby sobie z tym poradzic, przecietny uzytkownik/root tego nie potrzebuje
18:10 <%ktos> hm, wiec function, mala wklejka:
18:10 <%ktos> function apache_stop {
18:10 <%ktos> for apache_pids in `ps axu|grep httpd|grep -v grep|awk {'print $2'}`
18:10 <%ktos> do kill -9 $apache_pids
18:10 <%ktos> done
18:10 <%ktos> }
18:10 <%ktos> tego rodzaju zapis, o budowie "function nazwafunkcji {skladnia}
18:10 <%DJ_cool_> ktos: tak, tylko taka mala dygresja ;d
18:10 <%ktos> :d
18:10 <%DJ_cool_> juz sie nie wtracam.
18:10 <%ktos> pozwala zachowac porzadek w skrypcie, co ma znaczenie dla skryptow bardziej rozbudowanych
18:11 <%ktos> oraz moze miec tez inna role, tj. moze byc praktyczne, jesli dany element kodu powtarza sie
18:11 <%ktos> wtedy umieszczamy go raz jako funkcje i powtarzamy dalej w skrypcie jedynie nazwe funkcji, ktora raz zdefiniowana w skrypcie
18:12 <%ktos> nie smieci w kodzie
18:12 <%ktos> tyle na temat punktu 1a
18:12 <%ktos> zagadnienie b - wlasny prosty skrypt startowy omowie z przykladem serwisu ntpd
18:13 <%ktos> jakie korzysci daje skrypt startowy? ja widze co najmniej dwie - uruchomienie procesu nastepuje tam gdzie zwykle zarzadza sie zatrzymywaniem/uruchamianiem uslug, moze byc /etc/rc.d, /etc/initd. roznie w roznych OS
18:14 <%ktos> druga korzysc to taka, ze usluga moze zostac zatrzymana jedna komenda, bez wysilania wzroku po ps axu w celu wyszukania PID procesu do unicestwienia
18:14 <%ktos> przyklad skryptu (dosc trywialny, ale chcialem przedstawic sama zasade) :
18:15 <%ktos> http://www.ktos.klej.net/bash/01/rc.ntpd
18:15 <%ktos> i tutaj jescze jedna korzysc odrebnego skryptu
18:16 <%ktos> mamy w roznych dystrybucjach rozne pliki odpowiedzialne za start wlasnych skryptow, na przyklad /etc/rc.d/rc.local
18:16 <%ktos> mozna tam dopisac skrypt, ktorego przyklad podalem w linku przed chwila i usluga uruchamia sie przy starcie systemu
18:16 <%ktos> i tutaj mozna zastosowac pewien trick, tzn
18:17 <%ktos> jesli zostosujemy w rc.local wpis, w rodzaju:
18:17 <%ktos> if test -x /etc/rc.d/rc.ntpd
18:17 <%ktos> then
18:17 <%ktos> fi
18:18 <%ktos> umknela mi linia ze slashem, przepraszam :]
18:18 <%ktos> wiec ponownie
18:18 <%ktos> if test -x /etc/rc.d/rc.ntpd
18:18 <%ktos> then
18:18 <%ktos> . /etc/rc.d/rc.ntpd
18:18 <%ktos> fi
18:19 <%ktos> tego rodzaju zapis w pliku, ktory uruchamiaa nasze wlasne wpisy umozliwia latwa kontrole nad uslugami uruchamianymi przy starcie
18:19 <%ktos> wystarczy chmod +x / chmod -x skrypt
18:20 <%ktos> aby wlaczyc lub wlaczyc uruchamianie uslugi wraz ze startem systemu
18:20 <%ktos> czy sa jakies pytanie dot. punktu pierwszego?
18:20 < felix> sorka ze sie wtrąca ale ile mnie mineło
18:20 < felix> bo troche sie spozniłem
18:21 <%ktos> felix: minelo Cie 10 procent
18:21 < udevd> hmm...
18:21 < siano> o, wyklad jest
18:21 < siano> ;)
18:21 < felix> ;)
18:21 < udevd> czmeu w kodzie jest ". /etc/rc.d/rc.ntpd" a nie "/etc/rc.d/rc.ntpd"
18:21 <%ktos> udevd: poniewaz wiersz ze slashem nie wkleil mi sie
18:22 < udevd> a.
18:22 < udevd> przepraszam za lamerstwo ;]
18:22 <%ktos> :]
18:22 <%ktos> skoro brak pytan, to punkt nr 2
18:23 <%ktos> po przesiadce z Linuksa na inny system uniksopodobny moze 'brakowac' pewnych polecen
18:24 <%ktos> podam dwa przyklady osiagniecia tego samego co daja polecenia killall oraz skill (na przykladzie skill -9 user), kiedy polecen tych w systemie nie ma
18:24 <%ktos> jeden z tych przykladow (killall) jest nieco trywialny, ale za to dobrze w nim widac zastosowanie petli 'for'
18:25 <%ktos> http://www.ktos.klej.net/bash/02/killall.txt
18:25 <%ktos> jako PROCES deklarujemy $1 - czyli pierwszy parametr skryptu, ktorym ma byc nazwa procesu do zabicia
18:25 <%ktos> wiec ./killall.txt nazwa_procesu
18:26 <%ktos> udevd: skrypt zabija przez kill -nazwasygnalu PID
18:27 <@MrocznA> ktos: sry powtorz
18:27 <%ktos> MrocznA: od ktorego momentu
18:27 <@MrocznA> jzu nic
18:27 <%meal> MrocznA: Do kąta i siedź w ciszy!
18:28 <%ktos> podsumowujac, jesli efekt ma byc jak killall mozna sygnal wysylany do procesu o okreslonym pidzie zmienic
18:28 <%ktos> ja dalem -9
18:28 <%ktos> drugi skrypt stosuje do ubicia usera, jesli nie wystepuje w systemie skill
18:29 <%ktos> podam link, a skrypt jest opatrzony komentarzami, wiec nie bede go drobiazgowo omawial
18:29 <%ktos> http://www.ktos.klej.net/bash/02/skill.txt
18:30 <%ktos> czy sa pytania?
18:30 < udevd> nope
18:30 <%ktos> ok, wiec punkt 3
18:30 <%ktos> punkt trzeci polacze z czwartym
18:31 <%ktos> mialy to byc zagadnienia: skrypt i konfig skryptu
18:31 <%ktos> oraz skrypt i pliki tymczasowe
18:31 <%ktos> dla tych dwoch zagadnien prosilbym o zapoznanie sie z trescia skryptu:
18:32 <%ktos> http://www.ktos.klej.net/bash/03_i_04/kod.txt
18:32 <%ktos> skrypt ten dziala jak warnquota dla systemow plikow, w ktorych zrealizowanie quoty jest klopotliwe
18:32 <%ktos> lecz temat ten przeznaczony jest na oddzielny (osmy punkt)
18:33 <%ktos> moze najpierw konfig
18:33 <%ktos> dostepny jest pod adresem:
18:34 <%ktos> http://www.ktos.klej.net/bash/03_i_04/konfig.txt
18:34 <%ktos> widac tam wpisy "user:liczba"
18:34 <%ktos> w ten sposob nie ma koniecznosci modyfikowania skryptu, ktory ma pilnowac 'quoty' dla okreslonego usera
18:35 <%ktos> dane user - quota modyfikujemy w konfigu, a skrypt pozostaje niezmieniony, nie ma koniecznosci grzebania w nim
18:36 <%ktos> przy okazji konfigu do skryptu chcialbym poryuszyc krotko zagadnienie delimiter
18:36 <%ktos> wpisy user:bajty oddzielone sa przez dwukropek
18:37 <%ktos> w ten sposob mozna zczytywac okreslone dane z pliku konfiguracyjnego, a polecenie na przyklad 'cut' c zaparaemtrem '--delimiter'
18:37 <%ktos> forma krotka : 'cut -d', pozwala latwo pobierac dane z okreslonych pol
18:38 <%ktos> tyle o konfigu, dodam, ze slowo konfig stosuje tutaj umownie w znaczeniu pliku z danymi z ktorych skrypt korzyta
18:38 <%ktos> mozna rowniez w pliku umiescic zmienne, na przyklad ' ZMIENNA="5" '
18:38 <%ktos> to jest wlasciwy konfig
18:39 <%ktos> i wtedy tego rodzaju plik ze zminnymi zalaczamy do skryptu (na jego poczatku)
18:39 <%ktos> poprzez:
18:40 <%ktos> . /sciezka/konfig.conf
18:40 <%ktos> poniewaz punkt trzeci i czwarty polaczylem, oba sa omawiane na przykladzie jedengo skryptu
18:40 <%ktos> przejde teraz do zagadnienia pliku tymczasowego
18:41 <%ktos> plik tymczasowy przydaje sie na przyklad wtedy, kiedy potrzebujemy umiescic w nim jakas tresc, a nastepnie tresc ta wyslac na przyklad za pomoca 'mail'
18:41 <%ktos> inne zastosowanie, to kiedy tworzymy skryptowo konfig
18:41 <%ktos> bezpieczniej jest zapisac dane do pliku tymczasowego, a dopiero pozniej zamienic plik tymczasowy z konfigiem
18:42 <%ktos> w skrypcie, na przykladzie ktorego odnosze sie do zagadnienia pliku tymczasowego
18:42 <%ktos> zastosowaniem tym jest stworzenie wiadomosci mail
18:44 <%ktos> podam przykladowy kod:
18:44 <%ktos> TMP="/tmp/$user-mail.tmp"
18:44 <%ktos> echo "Przekroczyles przyznana Ci przestrzen dyskowa" >> $TMP
18:44 <%ktos> echo "Przyznano Ci: $PRZESTRZ_PRZYZN bajtow" >> $TMP
18:44 <%ktos> echo "Zajmujesz: $PRZESTRZ_ZAJMOW bajtow" >> $TMP
18:44 <%ktos> cat $TMP|mail -s "Over Quota" "$user@localhost"
18:44 <%ktos> rm -f $TMP
18:44 <%ktos> dobrze pamietac, aby plik tymczasowy usunac, jaka sama nazwa jego wskazuje jest tymczasowy i po wykorzystaniu jest tyklo smieciem
18:44 <%ktos> *tylko
18:44 <%ktos> tyl nt. punktow 3 i 4 - konfigi i pliki tymczasowe
18:44 <%ktos> czy sa pytania?
18:45 < udevd> co następne?
18:45 < udevd> :]
18:45 <%ktos> :]
18:45 <%ktos> 5) przelaczanie konfigow na przykladzie /etc/ftpusers
18:45 <%ktos> mozna zaczynac?
18:45 < udevd> mhm
18:45 < udevd> raczej +m ;]
18:45 <%ktos> zdarza sie, ze potrzebujemy dwoch lub nawet wiecej odmiennych konfiguracji tego samego serwisu
18:45 < udevd> heh.
18:46 <%ktos> no, nie trafilem w plusa
18:46 <%ktos> a o czym to ja mowilem
18:46 <%ktos> aha, wiec zalozmy, ze chcemy miec w nocy otwarty FTP anonimowy
18:46 <%ktos> a w dzien nie
18:47 <%ktos> w najpopularniejszym demonie ftp decyduje o tym /etv/ftpusers
18:47 <%ktos> przepraszam: /etc/ftpusers
18:48 <%ktos> jesli w tym pliku jest user ftp, anonimowe uslugi sa zablokowane, jesli nie ma - otwarte
18:48 <%ktos> mozna wiec przygotowac dwa konfigi
18:48 <%ktos> dla przykladu /etc/ftpusers.dzien oraz /etc/ftpusers.noc
18:49 <%ktos> przelaczanie tych konfigow mozna realizowac o okreslonych godzinach codziennie rano i wieczorem za pomoca crona
18:49 <%ktos> http://www.ktos.klej.net/bash/05/poranek.txt http://www.ktos.klej.net/bash/05/zmierzch.txt
18:49 <%ktos> dwa proste, ale mysle, ze dosc praktyczne skrypty
18:49 <%ktos> koniec punktu piatego
18:50 < beom> hmn
18:50 < beom> proste
18:50 < beom> :D
18:50 < udevd> właśnie
18:50 < udevd> każdy to zna
18:50 < zygfryd> ja osobiscie wole sciezki bezwzgledne :)
18:50 <%ktos> mowilem, ze proste
18:51 <%ktos> zygfryd: to przyklad
18:51 < zygfryd> do kill-a
18:51 <%ktos> chcialem wyposrodkowac z poziomem
18:51 < zygfryd> lub proftpd
18:51 < szyjacy_pamperek> zygfryd: cicho! :D
18:51 <%ktos> w sh tak w bash nie zawsze trzeba
18:51 <%ktos> mozna tez wyeksportowac PATH na poczatku skryptu
18:51 < zygfryd> tzn. taka moja obsesja, mam wtedy pewnosc ze dziala :)
18:51 < cauchy> ten tego, male ogloszenie: grupa HTB poszukuje textow do zinka, tematyka: cracking/reversing/crypto/math(adv ;P)
18:52 < udevd> er...
18:52 <%ktos> zygfryd: ja do skryptow wykonywanych przez crona daje zmienna PATH lub sciezki bezwzgledne
18:52 < ved> coding tez :P
18:52 <%ktos> reszta w bash raczej dziala
18:52 <%ktos> z wzglednymi
18:52 < cauchy> o ta
18:52 < cauchy> coding tez ;]
18:52 <%ktos> ok, wiec moze punkt nastepny
18:53 <%ktos> 6) logi - wlasna rotacja
18:53 <%ktos> jesli kogos nie zadowala logrotate i logi z cyframi 1,2,3,4 itd
18:53 <%ktos> proponuje rozwiazanie rotacji dobowej logow
18:54 <%ktos> http://www.ktos.klej.net/bash/06/pokolei.txt
18:54 <%ktos> tutaj jest przyklad jak z polecenia date
18:54 <%ktos> za pomoca sed oraz cut, zamienic niepozdane dla nazwy pliku z logiem znaki
18:55 <%ktos> oraz jak wyciac to co nie jest potrzebne np dzien tygodnia
18:55 <%ktos> przyklad jest pokolei, wiec mysle, ze komentarza nie trzeba
18:56 <%ktos> ttp://www.ktos.klej.net/bash/06/rotacja.txt
18:56 <%ktos> tu jest przykladowy skrypt, naprawde podstawowy
18:57 <%ktos> tylko jedno male ostrzezenie, Apache nie przepada za rotacja logow definiowych dla vhostow
18:58 <%ktos> pozostale logi systemowe mozna spokojnie dzielic uruchamiajac tego typtu skrypt na przyklad o godzinei 23:50
18:58 <%ktos> i uzyskuje sie loga z kazdego dnia z nazwa typu
18:58 <%ktos> przykladowy_log.lip_18_2006
18:59 <%ktos> nastepne zagadnienie - sposob rozwiazania backupu MySQL za pomoca skryptu bash
18:59 <%ktos> mozna zaczynac z kolejnym?
19:00 < The404ax> dawaj ;)
19:00 <%ktos> ok
19:01 <%ktos> znacie na pewno komende mysqldump
19:01 <%ktos> oraz klienta ncftp
19:02 <%ktos> mysqldump daje mozliwosc zrzutu jednej lub wiecej baz danych
19:03 <%ktos> do pliku, a z opcja --all-databases, zapisuje cala zawartosc MySQL
19:03 <%ktos> man mysqldump
19:03 <%ktos> to pierwsza czesc skryptu
19:03 <%ktos> druga ncftpput
19:03 <%ktos> jesli znacie ncftp, to jest to rozszerzenie do tego klienta ftp
19:03 <%ktos> ktore umozliwia operowanie ftp skryptowo
19:04 <%ktos> tego typu polaczenie ncftput oraz mysqldump wykorzystac mozna do backupu bazy
19:04 <%ktos> skrypt wraz z komentarzem dostepny jest tu:
19:04 <%ktos> http://www.ktos.klej.net/bash/07/backup-mysql.txt
19:04 <%ktos> sa 2 uwagi:
19:05 <%ktos> 1) uwaga bezpieczenstwa w pliku tym definiuje sie jako zmienne haslo i login admina bazy, oraz login i haslo ftp dla zdalnego serwera, na ktroy wysylamy backup
19:05 <%ktos> wiec albo przechowywanie skryptu w ktorejs ze sciezek /sbin
19:05 <%ktos> oraz chmod 700 na skrypt
19:06 <%ktos> albo lepiej zamienic deklarowanie zmiennych na read ZMIENNA
19:06 <%ktos> i wykonywanie reczne skryptu
19:06 <%ktos> jesli skrypt ma byc wywolywany przez crona
19:06 <%ktos> to druga uwaga
19:06 <%ktos> jak mowil zygfryd, lepiej dac sciezki bezwzgledne do polecen, bo wtedy jest gwarancja dzialania
19:07 <%ktos> jesli chodzi o basha, zwykle nie trzeba, wystarczaja sciezki wzgledne
19:07 <%ktos> jesli skrypt ma byc wykonywany przez crona, dobrze jest na poczatku skryptu wyeksportowac sciezki, z ktorych korzystaja polecenia:
19:07 <%ktos> PATH=/bin:/usr/bin
19:08 <%ktos> wtedy nie trzeba za kazdym razem pisac sciezek bezwzglednych do polecen
19:09 < SiergiejPl> SIemka
19:09 < zygfryd> lub pisac : ECHO=`which echo` i programy jako zmienne traktowac ?
19:09 <%ktos> mozna rowniez tak, ale ja stosuje zmienna PATH - jeden wiersz zalatwia sprawe
19:10 <%ktos> jesli polecen jest wiecej, PATH jest prostszym rozwiazaniem
19:10 <%ktos> zygfryd: ok widze
19:11 <%ktos> wiec zauwazono pomylke
19:11 <%ktos> juz koryguje
19:11 <%ktos> mysqldump -u${MYSQL_ROOT_LOGIN} -p${MYSQL_ROOT_LOGIN} --all-databases > $DUMP_FILE
19:11 <%ktos> jest blad, poniewaz dwa razy jest MYSQL_ROOT_LOGIN
19:12 <%ktos> przy -p, powinno byc: -p${MYSQL_ROOT_PASS}
19:12 <%ktos> przy kopiowaniu skryptu prosilbym o poprawienie tego
19:12 <%ktos> zygfryd: dzieki za korekte
19:13 <%ktos> mozna punkt 8?
19:13 < The404ax> smialo
19:14 <%ktos> o ile mamy ext2, ext3 z quota nie ma wiekszego problemu
19:14 <%ktos> nowszy kernel + reiserfs robi na tym tle problemy
19:14 <%ktos> http://www.ktos.klej.net/bash/03_i_04/dzialanie.txt
19:14 <%ktos> pod tym adresem jest pokazane dzialanie skryptu ktory zachowuje sie jak warnquota
19:14 <%ktos> kod skryptu wraz ze szczegolowymi komentarzami, dostepny jest pod adresem:
19:15 <%ktos> http://www.ktos.klej.net/bash/03_i_04/kod.txt
19:15 <%ktos> link ten juz byl, teraz chcialbym sie przy nim nieco zatrzymac
19:16 <%ktos> moze skill i killal nie byly zaawansowanymi czy bardzo praktycznymi przykladami zastosowan basha dla realizacji tego, co na systemie niestandardowym, czy typowo linuksowym jest latwo dostepne
19:17 <%ktos> a tutaj chcialbym zwrocic uwage, z z bashem naprawde wiele mozna
19:17 <%ktos> o samym skrypcie nie bede duzo mowil, bo zawiera komentarze
19:18 <%ktos> dodalbym, ze wyklad ten ma raczej na celu pokazanie przykladow
19:19 <%ktos> nic nie zastapi mana, gdzie wszystkie opcje, parametry sa szczegolowo opisane
19:19 <%ktos> a co skrypt, to inne potrzeby wiec z manami trzeba sie zaprzyjaznic chcac pisac bardziej zaawansowane skrypty
19:21 <%ktos> juz blizej konca czesci praktycznej, zagadnienie sprawdzania katalogow domowych uzytkownikow
19:21 < The404ax> ciekawe, co wymysliles ;)
19:21 <%ktos> :)
19:21 <%ktos> przyklad pierwszy:
19:21 <%ktos> http://www.ktos.klej.net/bash/09/liczhome.txt
19:21 < beom> co to sie stao?
19:21 < beom> dsl paduo
19:21 < beom> ?
19:21 < beom> ;d
19:22 <%ktos> # liczhome
19:22 <%ktos> Uzytkownik ada zajal 16M .
19:22 <%ktos> Uzytkownik admin zajal 85M .
19:23 <%ktos> przydac sie moze na reiserfs, a nawet jesli jest quota, to daje bardziej przejrzysty wynik niz quota, czy quota -v
19:23 <%ktos> drugi przyklad - nie chcemy miec klopotow, nie chcemy zeby uzytkownicy mieli mp3 w public_html
19:24 <%ktos> http://www.ktos.klej.net/bash/09/mp3finder.txt
19:25 <%ktos> jest to skrypt uruchamiany recznie, ale mozna go rowniez wykorzystac do blokowania konta www, jesli dany uzytkownik posiada pliki o niepozadanych rozszerzeniach w swoim public_html
19:25 < szyjacy_pamperek> dajesz dajesz nie przestajesz :D
19:25 <%ktos> :D
19:25 < The404ax> ;)
19:26 <%ktos> oczywiscie nalezy pamietac, ze ktos sobie moze rozszerzene zmienic
19:26 <%ktos> skrypt ten jest jedynie przykladem
19:26 <%ktos> zagadnienie ostatnie, kombinacje z kontami uzytkownikow bedzie juz bez przykladu skryptowego
19:27 <%ktos> podam tu tylko wskazowki
19:27 <%ktos> aby zablokowac powloke uzytkownikowi - zachecam do czytania mana polecenia chsh
19:27 <%ktos> i mozna skryptowo wywolac, np skrypt o nazwie lockshell jasio
19:28 <%ktos> jako parametr pierwszy $1 podac nazwe uzytkownika i zmieniamy shell na /bin/false
19:28 <%ktos> shell /bin/false musi sie oczywiscie znajdowac w /etc/shells
19:29 <%ktos> aby zablokowac www, mozna napisac skrypt, ktory zmienia wlasciciela danego public_html na root:root
19:29 <%ktos> a wiec jesli mamy usera jasio
19:29 <%ktos> uruchimy skrypt lockshell jasio
19:29 <%ktos> a w skrypcie chown root:root * /home/$1/public_html
19:30 <%ktos> ogolnie mozliwosci jest bardzo duzo
19:30 <%ktos> skrypty bash umozliwiaja wykonanywanie wielu polecen naraz
19:30 < The404ax> ja bym nie blokowal public_html tylko ustawilbym .htaccess
19:30 <%ktos> w sposob szybki i wygodny, albo nawet jedyny umozliwiajacy dzialanie, kiedy jest duzo kont, duzo uslug na serwerze
19:30 <%ktos> i nalezy tym sprawnie zarzadzac
19:31 <%ktos> The404ax: jakbys mial 500 kont to bys sie nei bawil w .htaccess
19:31 <%ktos> chyba, ze skryptowo
19:31 <%ktos> to zwracam honor, metoda moze byc dowolna, ja jedynie podawalem jeden z przykladow
19:31 <%ktos> byl to punkt 10ty, ostatni
19:31 < The404ax> jasne
19:31 < The404ax> :)
19:31 <%ktos> :)
19:31 < zygfryd> The404ax: w programowaniu czegokolwiek jest zawsze X mozliwosci na rozwiazanie tego samoge problemu, kazdy inna droga ;)
19:32 <%ktos> jesli kogos z was interesuja zagadnienia:
19:32 < The404ax> zygfryd: metoda ktosia bloguje calkiem public_html, user nie ma mozliwosci poprawienia bledu (usuniecia mp3 itd)
19:32 <%ktos> prawa dla skryptow shell, to prosilbym jeszcze o chwile uwagi
19:33 < The404ax> ale co kto potrzebuje oczywiscie.
19:33 < zygfryd> The404ax: zycie :), a zarazem dowod ze to zrobil, masz w plikach daty :)
19:33 < The404ax> ktos, dawaj :)
19:33 <%ktos> bedzie to kilka zagadnien i krotko
19:33 <%ktos> mamy w systemie plik /etc/profile
19:33 <%ktos> i mamy tam rozne sciezki w PATH
19:33 <%ktos> rozdzielone sa one dwukropkami
19:34 <%ktos> dobrze jest dodac po kolejnym dwukropku, wpis :$HOME/bin
19:34 <%ktos> oraz dodac do /etc/skell katalog bin
19:35 <%ktos> w ten sposob userzy maja swoj katalog bin dla siebie wylaczny i skrypty ktora sie tam znajda uruchamiaja sie bez sciezki wzglednej i bash dopelnia ich nazwy - jak polecenia
19:35 <%ktos> druga sprawa - skrypty pisane dla uzytkownikow, globalnie
19:35 <%ktos> najlepsza lokalizacja - /usr/local/bin
19:35 <%ktos> prawa 755
19:35 <%ktos> czyli rwx rw- rw-
19:35 < zygfryd> rwx r-x r-x
19:36 <%ktos> a skrypty roota - w ktorejs ze sciezek sbin, ja mam dla porzadku w /usr/local/sbin
19:36 < DJ_cool_> 766 to rwxrw-rw-
19:36 <%ktos> zygfryd: masz racje, zmeczylem sie troche pisaniem i mi sie miesza ;)
19:36 < DJ_cool_> ;d
19:36 <%ktos> no dobra wiem wiem
19:36 <%ktos> czeski blad :]
19:36 < zygfryd> poprostu trema :0
19:36 <%ktos> hehe, trema to byla o 18, teraz jest zmeczenie :]]]]
19:36 < The404ax> dobrze jest i tak wiadomo, o co chodzi.
19:36 <%ktos> a dla roota /usr/local/sbin
19:37 <%ktos> na /usr/local/sbin - prawa 700
19:37 <%ktos> i na kazdy plik skryptu w /usr/local/sbin, prawa rowniez 700
19:37 <%ktos> czyli rwx --- ---
19:37 <%ktos> teraz dobrze? :>
19:37 < The404ax> klask klask
19:37 <%ktos> dziekuje za uwage