3ED Blog

22 października, 2010

Rekursywna zmiana uprawnień

Napisane w: Ogólne (1)

Jako komentarz do wpisu na nfsec. Wpierw dwie przykładowe metody (w kolejności od najkrótszej), a później powiem co jest złego w mieszaniu shellowym for-em.

Metoda 1:

chmod -R a=rX,u+w /home/ftp

    gdzie:
  • -R oznacza rekursywność
  • a= oznacza wszystkich czyli usera, grupe i innych (= nadpisywanie)
  • u+ oznacza usera (+ dodawanie)
  • r i w to wiadomo.. odczyt oraz zapis
  • duże X wykonywalne KATALOGI

Metoda 2:

find /home/ftp -type f -print0 | xargs -0 chmod 644
find /home/ftp -type d -print0 | xargs -0 chmod 755
Opcje -print0 w find i -0 w xargs pomagają sobie, przydatne gdy w nazwie pliku jest spacja.. Odsyłam do manuala xargs.

Dlaczego nie for?

Gdy w nazwie pliku jest spacja np:
/home/ftp/gruby miś/muzyczka.mp3
pętla wykona dwa polecenia:
chmod 644 /home/ftp/gruby
chmod 644 miś/muzyczka.mp3
ponieważ jej separatorem jest spacja..

15 lutego, 2010

use Perl; use Gtk2; #1

Napisane w: Ogólne (1)

Witajcie po dłuższej przerwie, postaram się częściej pisać, dzisiaj mam chęć na: "Gtk - "Prosty wyłącznik" - przykład użycia zenity.." z tym że napisany w perlu, przedstawię go w formie małego tutoriala.. (Niektóre komentarze były za długie, zostały umieszczone na numerowanej licie pod skryptem).

#!/usr/bin/perl 
# AUTHOR: 3ED

#use strict;
#use warnings;
use utf8; #1
use Gtk2 '-init'; #2

my(@opts,$timeout); #3

if(@ARGV){ #4
  my $c = 0;
  for(@ARGV){
    s/[^0-9]*//xg if($c == 1); # zostaw same cyfry
    $opts[$c] = $_;
    $c++
  }
  exit 1 if($c < 2); #5
}else{
  print "Usage: $0 \"MSG_LEFT\" \"TIMEOUT\" \"MSG_RIGHT\"\n";
  exit 1
}

&timeout_dialog(@opts); exit 0;

sub timeout_dialog { #6
  my ($L, $T, $R) = @_; #7
  utf8::decode($L);
  utf8::decode($R);

  my
  $win = Gtk2::MessageDialog->new( #8
    undef, # okno właściciela, undef - brak
    'destroy-with-parent', # opcje
    'warning', # typ wiadomości
    'cancel', # jakie przyciski?
    "$L $T $R"); # wiadomość
  $win->set_icon_name("exit"); #9
  $win->set_keep_above(1); #10

  Glib::Timeout->add(1000, \&th_timeout_dialog, [$win, $L, $T, $R]); #11
  $win->signal_connect(destroy=>sub{exit 1}); #12
  my
  $response = $win->run;
  if ($response eq 'cancel') { #13
    exit 1;
  }
  $win->destroy; # ubicie okna
  return 1; # true powinien być zawsze na końcu funkcji
}
sub th_timeout_dialog {
  $timeout=$_[0][2] unless($timeout); #14
  $timeout--; #15
  $_[0][0]->set_markup("$_[0][1] $timeout $_[0][3]"); #16
  if($timeout < 1) { #wiadomo
    exit 0; # i jak odliczyło do końca, wyjdź zerem
  }
  return 1;
}
__END__

  1. Użyj modułu utf8 - polskie literki między terminalem, a aplikacją w gtk2
  2. Użyj modułu Gtk2 i zainicjuj go - wiadomo..
  3. Definiujemy puste zmienne, moduł strict bez tego pruje błędami - można definiować za pomocą my i our, my będzie pamiętane tylko wewnątrz bloku(?) np. wewnątrz podprogramy(sub), np. w pętlach lub np. wewnątrz instrukcji warunkowej - w zależności gdzie zainicjujemy. our natomiast w całym skrypcie..
  4. W zmiennej tablicowej @ARGV mamy argumenty dane aplikacji z wiersza poleceń.. Uwaga, wartość pusta lub równa 0 to fałsz, wartość np. "0.1", "0 0", "1" lub "Kowalski" to prawda.
  5. Minimum 2 argumenty..
  6. "Podprogram" coś jak funkcja..
  7. Deklarujemy zmienne wewnętrzne, "@_" to tablica złożona z opcji-argumentów zewnętrznych (patrz @opts). Nawias mówi że opcje mają być przydzielane po koleji z tablicy do zmiennych, można też użyć shift..
  8. Typ okna MessageDialog z biblioteki Gtk2 - patrz dokumentacja
  9. Ustaw ikonkę okna dla elementu $win
  10. Trzymaj ponad innymi oknami..
  11. Timeout z biblioteki Glib ładowanej przez moduł Gtk2 - wątek, działa w tle modyfikując zawartość okna, musi to być wątek, można użyć modułu threads ale do tej czynności lepiej nada się ten. 1000 to ilość ms po której podprogram będzie powtórzony..
  12. Sygnał zamknięcia okna wykona polecenie exit 1
  13. Wciśnięcie przycisku 'cancel' sprawi że program wyjdzie exit 1
  14. Weź z $data/$_ (3 parametr timeoutu) tablicę ([0]) element ([2]) i ustaw jako $timeout chyba że (unless) $timeout już jest ustawiony (jest prawdą - 0 będzie fałszem, ale zera nigdy nie będzie..).
  15. Odejmij sekundę..
  16. Ustaw nową wiadomość
  17. __END__

Można tego teraz użyć np. tak: mplayer film.avi; skrypt "wyłączy się za" 60 "sekund.." && sudo halt

PS. Porównania typu '>' '<' '==' '!=' służą do porównywania liczb, a porównania typu 'lt' 'gt' 'eq' 'ne' do wartości znakowych przede wszystkim znaków, liter, itp..

Jest coś co zostało niewystarczająco opisane?

31 grudnia, 2009

Witamy 2010..

Napisane w: Ogólne (1)

Życzenia:

23 grudnia, 2009

Wesołych świąt.. ;)

Napisane w: Ogólne (1)

Pocztówka

Aktualizacja: Zobacz jak europosłowie zmieniali zdanie (DI) oraz Fundamental freedoms on the Internet resolution details PL. Drugi link prowadzi do strony w języku angielskim, głosy gwarantujące wolność internetu zaznaczone są na zielono (przeciw, przeciw, za). Dokonałem szybkiego spolszczenia legendy z tej strony, mam nadzieję że zachowałem cały jej sens:

  • "am3": Ograniczenie zakazu systematycznego monitorowania i nadzorowania działalności wszystkich użytkowników w internecie ("rozmowa kontrolowana") IPRED 2 i usunięcie barier prawnych dla organizacji antypirackich.. ("zły glina")
  • "am5S": Wypowiedzi kontrowersyjnych poglądów politycznych poprzez Internet podlegają odpowiedzialności karnej.
  • "resolution": Gwarancja dostępu do internetu dla wszystkich obywateli w celu zagwarantowania równoważnego dostępu do nauki/wiedzy, dostęp do Internetu nie powinien być kwestionowany przez rządy ("punitively"?) lub firmy prywatne (między innymi przepisami).
Legenda: (moje komentarze)


Aktualizacja: Wepchnięto przed pakiet telekomunikacyjny głosowanie nad zakazem odcinania internautów od internetu bez wyroku sądu. W ten sposób głosowanie nad pakietem zostało przełożone do jesieni, nie wprowadzono jednak jakiegoś zabezpieczenia np. przeciw pakietowaniu internetu oraz tych pozytywnych praw zawartych w pakiecie telekomunikacyjnym. Wygląda na to, że europosłowie odepchnęli głosowanie do jesieni już po wyborach. Z jednej strony niby pozytywnie, z drugiej - najważniejsze nie przeszło, sprawa odłożona na później, tak jakby ani negatywnie ani pozytywnie. TVP dalej sobie żartuje z polskich obywateli oszukując ich na swojej antenie.


Aktualizacja: Na kanale TVPuls w programie Igora Janke o prawdziwych założeniach pakietu telekomunikacyjnego rozmawiali Piotr Waglowski i Ryszard Czarnecki. Powtarzam za osnews.pl.


Reportaż TVP jest całkowicie nie na temat. Link do wykopu (czytaj komentarze).

  1. Sędzia wydający wyrok w sprawie The Pirate Bay jest członkiem IFPI (stowarzyszenia antypirackiego). Prawo szwedzkie stoi po stronie The Pirate Bay ponieważ serwis ten nie udostępnia więcej danych niż google - jest zwykłą wyszukiwarką z bazą linków. Program p2p jest zarówno serwerem jak i klientem sieci (np. torrent), inaczej jest w przypadku stron internetowych, możesz je serwować z własnego komputera jedynie za pomocą dodatkowych programów np. Apache, Lighttp czy MS IIS.. Zespół The Pirate Bay nie udostępnia nielegalnych materiałów i nie uczestniczy w ich rozsyłaniu, zresztą google też..
  2. Richard Stallman nie używa zamkniętego oprogramowania i niewolnych wytworów kultury. Jest promotorem wolnej kultury (np. jamendo.pl) i wolnego oprogramowania (np. www.linux.org i coś po polsku), nie broni piratów - nie ma w tym interesu, zwraca jednak uwagę na to, że gdy herbatą się nie podzielisz to ktoś będzie Ci miał to za złe (odnośnie, np: nie można słuchać muzyki publicznie, odtwarzacz płaci). Tak przy okazji, np. dla jamendo (nie musisz płacić za odtwarzanie publiczne!) torrent jest jak ulał, odciąża serwery i minimalizuje koszta (niekoniecznie wygodne dla wytwórni płytowych/antypirackich).
  3. Przyjęcie pakietu telekomunikacyjnego oznacza, że:
    - ZABLOKOWANY ZOSTANIE CI DOSTĘP DO 99,9% INTERNETU
    - DOSTANIESZ DOSTĘP JEDYNIE DO PAKIETÓW (PEWNEJ ILOŚCI STRON), KTÓRE ZOSTANĄ WYBRANE ZGODNIE Z WŁASNYM "WIDZI MI SIĘ" PRZEZ RZĄD
    - NA 100% WZROSNĄ OPŁATY
    - Z CZASEM TO PRAWO ZOSTANIE ZAOSTRZONE
    - MASA LUDZI STRACI PRACE I BIZNESY - W IMIĘ NICZEGO (BO SIEĆ BEZ TEGO PO..NEGO PRAWA MA SIĘ DOBRZE)

    Cytuję: AndyPSV

04 maja, 2009

Gnapi-bash: napi-project

Napisane w: Ogólne (1)

Jest to leciutki skrypcik do pobierania napisów, którego zależności spełniają: bash, wget, zenity (opcjonalnie), libnotify (opcjonalnie). Posiada "tryb konsoli", a domyślnie wykorzystuje notify-send do wyświetlania tych samych komunikatów co na konsoli (co prawda jest ich mało). Zenity opcjonalnie wyświetla dialog poprawy ścieżki do pliku w razie jej braku lub gdy jest błędna.

Instalacja: Rozpakuj ten plik, wejdź do tak samo nazywającego się folderu, skopiuj plik np. do /usr/bin, nadaj mu uprawnienia (755) pozwalające na uruchomienie.
Integracja z nautilusem: stwórz link do skryptu np. ln -s "/usr/bin/gnapi" "~/.gnome2/nautilus-scripts/Pobierz Napisy z Napi"
Integracja przez "Akcje": Uzupełniasz w zależności od konfiguratora akcji, gnapi [plik].
Tryb konsoli: Identycznie jak w zwykłym trybie za wyjątkiem jednej opcji: 'gnapi -c [plik]'. Możesz zrobić alias do polecenia.

29 marca, 2009

rsget by 3ED

Napisane w: Ogólne (1)

Ot taki prosty skrypcik do pobierania z rapidshare, leży sobie na dysku tak i tylko mi służy, a chyba nie o to chodzi?

Używa się go tak:

URLe: rsget [url]
Listy: rsget $( cat rslista1 rslista2 )

Nie pobiera już wcześniej pobranych plików, można sobie go w screena puścić, a output wygląda tak (oczywiście jest pokolorowany):

==> Pobieranie pliku: "plik.rar"..
> Wczytuje informacje ze żródła..
> Ponawiam próbę..
> Wczytuje informacje ze żródła..
> Rozpoczynam pobieranie..
--2009-03-29 14:54:30--  http://rs349l52.rapidshare.com/files/134343491/2547428/plik.rar
Translacja rs349l52.rapidshare.com... 195.122.151.60
Łączenie się z rs349l52.rapidshare.com|195.122.151.60|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 209715200 (200M) [application/octet-stream]
Zapis do: `plik.rar.part'

100%[====================================================================================>] 209.715.200  159K/s   w  19m 11s 

2009-03-29 15:13:42 (178 KB/s) - zapisano `plik.rar.part' [209715200/209715200]

> Zapisywanie zakończone pomyślnie.
> Zmiana nazwy pliku zakończona pomyślnie
[natępny]

Możesz zobaczyć kod lub pobrać niepopsuty przez pastebin plik.

Aktualizacja 2009.08.17: Świeższa wersja, strona projektu, opis, PKGBUILD..

21 marca, 2008

Wiosenny pulpit

Napisane w: Ogólne (1)

GDM-ArchAutumn Zrzut pulpitu I Zrzut pulpitu II

Ten themes do GDM z obrazka pierwszego pobierzesz z myfreefilehosting, wesołych świąt.

04 lutego, 2008

Zmiany na blogu..

Napisane w: Ogólne (1)

Dużo wolnego czasu, dwie zmiany..

  1. Zmieniłem layout, a że jestem leniwy to wybór padł na już gotowy. W ciągu kilku najbliższych dni mogą nastąpić minimalne zmiany w wyglądzie - jednak nie wszystko jest zaprojektowane po mojej myśli. Proszę pisać komentarze na temat nowego wystroju bloga oraz ewentualne propozycje.
  2. Poprawiłem trochę kategorie we wpisach. Nowe kategorie to: 'Linux', 'Rozrywka'.

24 grudnia, 2007

Wesołych świąt!

Napisane w: Ogólne (1)

Akcja: „25 - 27 : Bojkot : Następny Weekend Bez Kina”. W państwie Prawym i Sprawiedliwym każdy polak jest przestępcą oprócz tych co mają dużo pieniędzy, zaprotestujmy. Jeżeli nie uważasz siebie za przestępce - przekaż link do akcji twojemu znajomemu, koledze, przyjacielowi..

31 grudnia, 2006

Sylwester 2006/2007..

Napisane w: Ogólne (1)

Wesołego, bombowego, sylwestra. Szampańskiej zabawy, dobrej muzyki, pięknego nowego roku. Życzę wszystkim serdecznie.

3ED

22 grudnia, 2006

Wesolych świat!

Napisane w: Ogólne (1)

Wesołych świąt!

Wszystkiego najlepszego, szczęścia, zdrowia i dużo prezentów pod choinką..

Żeby sprawdzić jakie mamy otwarte porty możemy do tego celu wykorzystać np. polecenie "netstat".. Wpisujemy "netstat -tlp" (dla TCP) lub "netstat -ulp" (dla UDP). Porty które są "localhost.localdomain:<numer_portu>" są tylko lokalnie i nie musimy się nimi ani trochę przejmować.. Polecenie to zwróci również informacje o procesie/właścicielu otwartego portu. Tylko root może otworzyć porty poniżej 1024. Najczęściej są one otwierane przez tzw. daemony, programy uruchomione przy starcie komputera. Chociaż nie każdy potrzebuje otwartego portu to np. cups (do drukowania) otwiera port IPP (Internet Printer Protocol). Aby nie pozwolić nie potrzebnym nam daemonom uruchamiać się instalujemy program bum (Boot Up Manager) poleceniem:

# sudo apt-get install bum

lub (dla "experta"):

# sudo apt-get install sysv-rc-conf

W "System > Administracja" mamy nowe narzędzie "Boot Up Manager".. Teraz już wystarczy przeczytać opisy w języku polskim i zdecydować który nie ma prawa się uruchamiać razem z systemem. Przyśpieszy to znacząco uruchamianie systemu i zwolni RAM. Nie mniej jednak trzeba uważać żeby nie powyłączać potrzebnych daemonów takich jak np.: acpid, sysklogd, klogd, makedev, dbus, mdadm, anacron, cron.

EDIT: Jako że nie używam ubuntu przenoszę to do kategorii ogólne. Część z tu wymienionych poleceń działa na innych dystrybucjach..

27 grudnia, 2005

Święta!

Napisane w: Ogólne (1)

Święta, święta i już po świętach! :P

ps. 2.6.14.5 już się pojawiło.. :D

22 października, 2005

Witam

Napisane w: Ogólne (1)

To mój pierwszy wpis. :D

  • Zapowiedź świata post-nielegalnej kopii

    "Do napisania tego tekstu zainspirowała mnie duża liczba dyskusji przeprowadzonych na forach internetowych z różnymi ludźmi na temat oblicza piractwa komputerowego nielegalnego kopiowania oraz natury własności intelektualnej. Przy okazji tych dyskusji wypłynęła masa nieścisłości i dziur w obrazie rzeczywistości prezentowanym ludzkości przez organizacje takie jak ZAIKS, RIAA, MPAA, MAFIAA i różnorakich korporacyjnych lobbystów. Ponieważ nie znoszę kłamstw i niesprawiedliwości, postanowiłem, że nie będę dłużej tolerował panoszenia się fałszywej propagandy i napiszę ten artykuł, będący zwieńczeniem kilku lat przemyśleń, wspomnianych już dyskusji i argumentów użytych przez obie strony barykady."

    (Więcej..) osnews.pl [LINK]

  • Czy w projektach publicznych można kierować się zasadami ekonomii?

    "W dyskusjach nad racjonalnością ekonomiczną projektów informatycznych w administracji publicznej jest często pada argument, że "administracja publiczna nie kieruje się zasadą maksymalizacji zysku". Często to jest to tylko wygodna wymówka by odrzucić wszelkie próby obiektywizacji lub racjonalizacji wydatków publicznych."

    ipsec.pl[LINK]

  • Oszczędne państwo rozwijające swój rynek.. NIE!

    "Jesteśmy bogatym krajem. Nie musimy szukać tańszych, stabilniejszych i bezpieczniejszych rozwiązań w administracji publicznej, która wychodzi z założenia, że nie warto wspierać "małych i średnich przedsiębiorstw innowacyjnych" w Polsce."

    "Oto fakty!" na pppit.org.pl [LINK]

  • Android 1.0 działa na Qualcomm

    "Wszystko wskazuje na to, iż otwarty system Android przeznaczony na urządzenia mobilne działa na urządzeniu firmy Qualcomm."

    Filmiki z działającym androidem, trzeba to zobaczyć.

    OSNews.pl [LINK]

  • Rzeczpospolita windowsowa

    "Co by się działo, gdyby rząd zadekretował, że jedynym autem dopuszczonym na polskie drogi jest fiat albo citroën? A jednak pozwalamy, by państwo zmuszało nas do używania systemu operacyjnego Microsoftu"

    Gazeta wyborcza [LINK]

  • Wolność komputerów

    Czy programy pisane przez hobbistów mogą być równie dobre jak te tworzone przez wielkie koncerny? Ile rzeczywiście płacą za oprogramowanie zwykli użytkownicy i firmy? I czy w ogóle muszą za nie płacić?

    Rzeczpospolita [LINK]

  • Chiński UMPC z Linuksem

    Kto mi kupi takie cacko? :)

    Linux.pl [LINK]

  • Kto to jest własnowierca?

    "Propagujemy ideę zniesienia religijnego poddaństwa, zakazania poddawania dzieci religijnemu praniu mózgu i zapisywania ich do sekt i kościołów bez ich świadomej zgody. Informujemy o szkodliwych skutkach niewolnictwa religijnego. Służymy radami, jak wystąpić formalnie i duchowo z Kościoła. A przede wszystkim zmuszamy do myślenia! Jesteśmy religijnymi wyzwoleńcami niezależnymi od osób czerpiących zyski z kontroli nad ludzkimi umysłami i wierzeniami. Nowego, lepszego świata nie można zbudować na gruncie dyktatorskich tworów religijnych. Chcesz się od nich uniezależnić? Przyłącz się do nas! Zostań własnowiercą!"

    A ja pytam osochozi? Co oznacza słowo własnowierca? W co wiara? Z niektórych tekstów na tej stronie wynikać może że od tego przybywa nam sekt (w przeciwieństwie do ateizmu, który je potępia)..

    wlasnowierca.go.pl [LINK]

Foto

O blogu

3ED Blog - na różne tematy ale głównie w okół Linuksa.. Internetowy notatnik pisany w wolnych chwilach. Nie oczekuje zysku, dużej widowni - po prostu zapisuje tu to co mi przyjdzie do głowy.. Oczywiście komentarzem możesz dać mi temat do czego zachęcam.