Archiwa tagu: linux

iotop – monitorowanie pamięci

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w czasie rzeczywistym.Do najważniejszych informacji które podaje aplikacja można zaliczyć chwilowa prędkość odczytu i zapisu, ilość zapisanych i odczytanych danych oraz nazwa procesu.

Czytaj dalej

Instalacja nienadzorowana Debian – automatyczna instalacja

Kiedyś jak zaczynałem swoją karierę w IT zdarzyło mi się często że musiałem instalować X komputerów z takimi samymi ustawieniami, no z wyjątkiem klucza licencji i nazwy komputera. Wykorzystywałem wtedy instalację nienadzorowaną, aby instalator z pliku odczytał sobie odpowiedzi. Skracając czas potrzebny na instalacje Windowsa miałem więcej czasu dla siebie. Jednak powodem było co innego, jak każdy administrator jestem leniwy, skoro coś może za mnie to zrobić to po co ja mam to robić. Te czasy to Windows XP, teraz nawet nie wiem czy tak się da windowsa zainstalować. Od dłuższego czasu administruję tylko linux’ami. Ciekaw byłem czy taki sposób jest i na nie. Po krótkiej lekturze okazało się że tak. Dlatego postanowiłem opisać to, jak to wygląda na Debianie.
Czytaj dalej

Zerowanie plików

Ostatnio ktoś napisał, że zerowanie pliku za pomocą

cat /dev/null > plik

to lamerskie. Jak się zapytałem dlaczego, dostałem informację że duże pliki długo będą się zerowały. Czy to prawda?
Czytaj dalej

Własna bramka SMS

Od jakiegoś czasu chodzi mi po głowie własna bramka SMS. Daje to możliwość wysyłania SMS’ów jak i informowania mnie co się dzieje z serwerem nawet jeśli nie ma internetu. Dodatkowo można tak skonfigurować system SMS że wysyłająć specjalny SMS na naszą bramke da odpowiedź z działania skryptu.
Tyle teorii po co, a teraz zaczynamy konfigurację.
Czytaj dalej

Wysłanie pliku poprzez e-mail z konsoli

Ostatnio musiałem zrobić automat który będzie pobierał dane z bazy do plik i wysyłał ten plik jako załącznik. Wysyłanie e-maili nie było dla mnie trudności, ale jak dodać plik jako załącznik, dodatkowo mając tylko do dyspozycji konsolę. Poszukałem i znalazłem że  uuencode może pomóc mi w moim problemie.
Czytaj dalej

SSH CHROOT – Debian

CHROOT –  change root, czyli zmień katalog główny na wskazany przez Ciebie. Metoda ta jest często używana w LIVE CD do wykonania czegoś na systemie którego nie można uruchomić. Dobry zastosowaniem jest zamknięcie kogoś w „klatce”. Właśnie te podejście opiszę.

Systemy linux głównie są stworzone do pracy konsolowej, dlatego często loguje się do systemów linux poprzez ssh. Nieraz jest potrzeba wydzielenia kawałka systemu użytkownikom, i dlatego można spreparować tak system aby ich zamknąć w tym kawałku systemu.

Zaczynamy od skonfigurowania ssh tak żeby było można zamknąć użytkownika, ja wybiorę sposób taki że każdy z danej grupy będzie zamknięty w chroot. Grupa jak się łatwo domyślić będzie miała nazwę chroot.

Dodajemy grupę poprzez:

addgroup chroot

edytujemy plik /etc/ssh/sshd_config i dopisujemy:

Match Group chroot
ChrootDirectory /sciezka/gdzie/chroot/
ForceCommand internal-sftp
AllowTcpForwarding no

Teraz restart serwera ssh:

invoke-rc.d ssh restart

i mamy już przygotowane ssh.

Przechodzimy teraz do konfiguracji konta, dodaje użytkownika:

adduser test

następnie podajemy hasło, potwierdzamy hasło, wpisujemy imię i nazwisko użytkownika i resztę potrzebnych danych, na samym końcu zatwierdzamy użytkownika. Teraz dodajemy użytkownika do grupy chroot:

adduser test chroot

można sprawdzić czy odpowiednio nadane są uprawnienie:

#id test
uid=1001(test) gid=1007(test) grupy=1007(test),1006(chroot)

Od tej chwili user test jak będzie się logował to system będzie starał się go zamknąć w naszym chroocie.

!!! UWAGA !!! jeśli system nie będzie mógł zalogować do chroot to spróbuje to zrobić do normalnego systemu, zatem trzeba zabezpieczyć się przed tym ale to potem.

!!! UWAGA !!! katalog główny musi mieć właściciela root:root i uprawnienia 755

Następny krok to przygotowanie struktury plików, dla ułatwienia dalszego opisu zakładam że zamykamy userów w katalogu /chroot:

cd /chroot
mkdir -p {bin,dev,lib,home,tmp,var/tmp}
cp -p /bin/bash bin/
cp -p /lib/{libncurses.so.5,ld-linux.so.2} lib/
cp -p /lib/i686/cmov/{libdl.so.2,libc.so.6} lib/
mknod dev/null c 1 3
mknod dev/zero c 1 5
chmod 0666 dev/{null,zero}
chmod 777 tmp
chmod 777 var/tmp
cp -rp /home/test home/

Teraz możemy sprawdzić czy uda nam się zalogować jako test.