Tag: linux

Generowanie certyfikatu Jabber / XMPP

Generowanie certyfikatu Jabber / XMPP

# openssl genrsa -out /etc/jabber/jabber.key 1024 # openssl req -new -x509 -days 365 -key /etc/jabber/jabber.key -out /etc/jabber/jabber.crt # cat /etc/jabber/jabber.crt >> /etc/jabber/jabber.key # mv /etc/jabber/jabber.key /etc/jabber/jabber.pem # rm -f /etc/jabber/jabber.crt Własny serwer jabbera – jak to poważnie brzmi. Postaram się w maksymalnym skrócie opisać (krok […]

Jak zamknąć proces na porcie na serwerze Linux

Jak zamknąć proces na porcie na serwerze Linux

Aby zamknąć (zabić) proces na porcie na serwerze Linux należy wydać polecenie: fuser -n tcp -k 21 <span style="font-family: Lucida Sans Unicode,Lucida Grande,sans-serif; font-size: 14pt;"> *(gdzie 21 to numer portu) Innym sposobem jest uruchomienie aplikacji htop i po wybraniu procesu strzałkami naciśnięcie  ‚k’ w celu […]

Copy large files in Linux

Copy large files in Linux

If you have fault „file is to large” you can use following command:

 buffer -i /mnt/disk/image.img -o /home/user/image.img -m 5000000

the -m value is buffer size.
I’ve got this problem with cp command with file bigger than 20GB.

Brak log-ów /var/log/syslog

Brak log-ów /var/log/syslog

Jeżeli masz problem z logami apt-get install –reinstall rsyslogd apt-get install inetutils-syslogd Pamiętaj o uprawnieniach pliku: sudo chown syslog:adm /var/log sudo chmod 0775 /var/log Prawdopodobnych błędów można szukać w pliku: /etc/rsyslog.conf i plikach /etc/rsyslog.d/50-default.conf można uruchomić również usługę w trybie debugowania: /etc/init.d/rsyslog stop rsyslogd -n […]

Zmiana strefy czasowej w systemie Linux

Zmiana strefy czasowej w systemie Linux

Zmiana strefy czasowej poleceniem tzdate. sudo dpkg-reconfigure tzdata

Zmiana rozmiaru wysyłanych plików

Zmiana rozmiaru wysyłanych plików

W pliku:

nano /etc/php/7.0/apache2/php.ini

zmieniamy następujące wartości:

upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 300

następnie restartujemy apache2:

sudo /etc/init.d/apache2 restart
Change modify date in Linux

Change modify date in Linux

If you want to change modify date recursivly: #!/bin/sh for i in $(find *); do   touch -t 200010161000 "$i"; echo "$i"; done

Oprogramowanie przyckisków Canon Lide 100 na Linuxie

Oprogramowanie przyckisków Canon Lide 100 na Linuxie

Aby debugować scanbd używamy polecenia: sudo scanbd -d7 -f -c /etc/scanbd/scanbd.conf Output:  scanbd: foreground scanbd: config-file: /etc/scanbd/scanbd.conf scanbd: reading config file /etc/scanbd/scanbd.conf scanbd: debug on: level: 7 scanbd: dropping privs to uid saned scanbd: dropping privs to gid scanner scanbd: group scanner has member: scanbd: […]

Linux błąd filtru i pytania o hasło drukarki – naprawa.

Linux błąd filtru i pytania o hasło drukarki – naprawa.

Dziś po upgradzie do Ubuntu 16.04 moja drukarka odmówiła posłuszeństwa, a co gorsza w panelu z drukarkami jestem ciągle atakowany o podanie hasła więc postanowiłem po wielu nieudanych próbach podawania prawidłowego hasła jednak odpalić ją z roota. Jednak to nie był koniec kłopotów bo wyświetlał się ciągle komunikat o brakującym filtrze do drukarki. A więc rozwiązałem to tak:

sudo system-config-printer

następnie usunąłem i dodałem. Drukarka wystartowała ale od razu przeszedłem do kolejki wydruku bo trochę zaległych dokumentów tam wpadło 🙂

How to check ip connection to your blog?

How to check ip connection to your blog?

cat /var/log/apache/blog.artmetic.access.log | grep 08/Aug/2016 | grep blog.artmetic.pl | awk ‚{print $1}’ | sort | uniq -c and output: 53 91.238.216.101

Jak stworzyć serwer DHCP na Linuxie?

Jak stworzyć serwer DHCP na Linuxie?

Poniżej przykładowa konfiguracja: cat /etc/dhcp/dhcpd.conf default-lease-time 86400; #czas w sekundach okresu dzierżawy ip max-lease-time 86400; # maksymalny czas w sekundach okresu dzierżawy ip option subnet-mask 255.255.255.0; option domain-name-servers 127.0.0.1;#,8.8.8.8; #domyślne adresy domenowe dla naszego hosta; lepiej użyć dns-a, który daje nam dostawca lub dns google […]

Sudoers, nadawanie uprawnień zwykłym użytkownikom

Sudoers, nadawanie uprawnień zwykłym użytkownikom

Uprawnienia użytkowników są jednym z fundamentalnych paradygmatów w systemach Linux. Zwykli użytkownicy mają ograniczone uprawnienia, aby zredukować ich wpływ na działanie systemu i ograniczyć go do ich własnego środowiska, po którym mogą się poruszać.

Użytkownikiem specjalnym z punktu widzenia całego systemu jest super- użytkownik zwany root-em. Root może wykonywać wszystkie polecenia, chyba że charakter aplikacji na to nie pozwala (np. VLC), ponieważ mógłby zostać uszkodzony sprzęt.

Konto roota ma charakterystyczny uuid:
root@szymon:/home/szymon# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

Poniżej kilka słów o tym, w jaki sposób można nadawać użytkownikom uprawnienia do wykonywania niektórych poleceń. Do tego używam systemu Ubuntu 14.04.

Aby zalogować się na konto roota wydajemy polecenie:

sudo su

Aby wyjść z konsoli roota i wrócić do naszego użytkownika wydajemy polecenie:

exit

Aby wykonywać polecenia z uprawnienieniami super-użytkownika, wydajemy polecenie:

sudo polecenie

Następnie zostaniemy poproszeni o hasło. Przez kolejne 5 minut będziemy mogli wykonywać polecenia na prawach roota bez podawania hasła. Aby uniknąć sytuacji, gdzie polecenie wymaga użycia uprawnień roota, możemy dodać nowego użytkownika i polecenie do pliku konfuguracyjnego.

Aby to zrobić, trzeba wyedytować plik /etc/sudoers. Należy to zrobić za pomocą polecenia:

sudo visudo

Dzięki temu unikniemy kłopotów związanych ze złą składnią, którą waliduje przed zapisem program visudo.

Po otwarciu pliku poleceniem visudo, pojawi nam się w systemie Ubuntu domyślny edytor tekstowy w terminalu nano. W innych systemach może otworzyć nam się plik w vi.

Aby zmienić edytor możemy wydać polecenie:

sudo update-alternatives --config editor

Będziemy wtedy mogli wybrać jeden z alternatywnych edytorów, znajdujących się w /usr/bin/nazwaEditora.

Są 3 dostępne alternatywy dla editor (dostarczające /usr/bin/editor):

Wybór Ścieżka Priorytet Status ------------------------------------------------------------ * 0 /bin/nano 40 tryb auto 1 /bin/ed -100 tryb ręczny 2 /bin/nano 40 tryb ręczny 3 /usr/bin/vim.tiny 10 tryb ręczny

W CentOS, możesz dokonać zmiany w pliku ~/.bashrc:
export EDITOR=/path/to/nazwaEditora

A następnie, wydając polecenie:

. ~/.bashrc

Po ustawieniu wygodnego dla nas edytora, możemy wydać polecenie:

sudo visudo

Domyślna konfiguracja znajdująca się w pliku sudoers wygląda w następujący sposób (bez komentarzy):

Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" root ALL=(ALL:ALL) ALL %admin ALL=(ALL) ALL %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d

Pierwsza linijka „Defaults env_reset”, czyści wszystkie zmienne użytkownika, ze względów bezpieczeństwa, z sesji użytkownika sudo.

Następna linijka – rozpoczynająca się „Defaults secure_path=…” – ustawia ścieżkę, gdzie można odnaleźć aplikacje, które są używane w systemie przy wydawaniu polecenia sudo.

Następne liniki odnoszą się do uprawnień użytkowników:

szymon ALL=(ALL:ALL) ALL

Nazwa szymon odnosi się do użytkownika, którego reguły będą dotyczyć. Pierwsze ALL odnosi się do hosta, którego reguła dotyczy; następne „ALL” (pierwsze w nawiasie) odnosi się do możliwości wykonywania poleceń przez użytkownika i kolejne do grupy.
Ostatnie all odnosi się do poleceń – w tym przypadku użytkownik szymon może wszystko wykonywać bez użycia polecenia sudo. Nie jest to jednak zalecane.

Ostatnie dwie linijki są podobne do uprawnień użytkownika, odnoszą się jednak do grup użytkowników i są poprzedzone %.:

%admin ALL=(ALL) ALL

W przypadku powyższym grupa administatorów może wykonywać każde polecenie przez każdego użytkownika na każdym hoście.

Aby wygenerować aliasy użytkowników należących do grup, które ułatwią nam pisanie reguł, możemy je utworzyć w poniższy sposób. Należy pamiętać przy tym, że nazwy grup powinny zaczynać się wielkimi literami:

User_Alias GROUPONE = szymon, maria, marta User_Alias NINJA = enrike, szymon, marek

Aby umożliwić wykonywanie restartowania apache’a (usługi) określonej grupie możemy dopisać regułę dla grupy NINJA w następujący sposób:

NINJA ALL = /usr/bin/apache restart

Możemy również zezwolić użytkownikom na wykonywanie kilku poleceń, za pomocą aliasu dla poleceń.

Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart NINJA ALL = POWER

W poniższym poleceniu możemy umożliwić grupie pierwszej wykonywać polecenia jako użytkownik „www-data” lub „apache”:

Runas_Alias WEB = www-data, apache GROUPONE ALL = (WEB) ALL

Jeżeli chcemy, aby użytkownik mógł wykonać dane polecenie bez potrzeby wprowadzania przez niego hasła, możemy utworzyć następującą regułę:

GROUPONE ALL = NOPASSWD: /usr/bin/rm

NOPASSWD oznacza, że nie będzie wydawana prośba o podanie hasła. Jest to bardzo przydatne przy pisaniu skryptów, ponieważ nie przerywa ich wykonywania.
Antagonizmem do NOPASSWD jest PASSWD, które domyślnie wymusza podanie hasła.

GROUPTWO ALL = NOPASSWD: /usr/bin/updatedb, PASSWD: /bin/kill

Kolejnym ważnym poleceniem jest NOEXEC, które ochrania przed niebezpiecznym zachowaniem wykonania niektórych programów.

Np polecenie „less” może spowodować działanie innych programów:

szymon ALL = NOEXEC: /usr/bin/less

Jest jeszcze kilka interesujących poleceń, które można wykorzystać przy nadawaniu uprawnień grupom. Jeżeli mamy dodanego użytkownika lub grupę w pliku konfiguracyjnym, możemy – dodając flagę -u dla użytkownika lub -g dla grupy – wydać polecenie jako określony użytkownik/grupa:

sudo -u run_as_user polecenie sudo -g run_as_group polecenie

Dla wygody domyślnie sudo zapisuje uwierzytelnienie na pewien okres czasu, oznacza to, że nie trzeba podawać polecenia przez pewien okres czasu.

Należy o tym pamiętać i dla celów bezpieczeństwa możemy usunąć zegar opóźniający poleceniem:

sudo -k

Aby odłożyć zaś wymuszenie wpisania hasła możemy posłużyć się poleceniem:

sudo -v

By sprawdzić, jakie mamy uprawnienia w chwili obecnej, możemy wydać polecenie:

szymon@szymon:~$ sudo -l Pasujące wpisy Defaults dla szymon na szymon: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin Użytkownik szymon może uruchamiać na szymon następujące polecenia: [cce_bash width="100%" no_cc="true"] (ALL : ALL) ALL

Dzięki poleceniu mamy wylistowane wszystkie reguły dla użytkownika z pliku /etc/sudoers. Dzięki temu będziesz mógł się dowiedzieć co możesz zrobić jako użytkownik, wydając polecenie sudo.

Niekiedy zdarza się, że wydajesz jedno i to samo polecenie polecenie, i zapominasz wpisać sudo. W takiej sytuacji, jeżeli używasz tego samego ostatniego polecenia, możesz użyć skrótu:

szymon@szymon:~$ sudo !! sudo sudo -l Pasujące wpisy Defaults dla root na szymon: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin Użytkownik root może uruchamiać na szymon następujące polecenia: (ALL : ALL) ALL

Jeżeli chcesz dla zabawy, aby po każdym wpisaniu hasła były generowane śmieszne komunikaty, możesz dopisać w pliku następującą konfiguracje:

sudo visudo Defaults insults

This will cause sudo to return a silly insult when a user types in an incorrect password for sudo. We’ll use sudo -k to clear the previous sudo cached password to try it out:

szymon@szymon:~$ sudo -k szymon@szymon:~$ sudo ls szymon@szymon:~$ sudo su [sudo] hasło użytkownika szymon: I feel much better now. [sudo] hasło użytkownika szymon: I don't wish to know that.

Możemy też wymusić, aby dany użytkownik nigdy nie zapamiętał hasła użytkownika w pliku konfiguracyjnym:

Defaults:użytkownik timestamp_timeout=0

Na sam koniec należy wspomnieć, że ze względów bezpieczeństwa powinieneś się dwa razy zastanowić, jakie uprawnienia nadejesz użytkownikom, a także nie powinieneś nadawać zwykłym użytkownikom uprawnień administracyjnych.

Jak sprawdzić jaka usługa nasłuchuje na danym porcie

Jak sprawdzić jaka usługa nasłuchuje na danym porcie

Poniżej opiszę procedurę, dzięki której możesz sprawdzić czy dana aplikacja/ usługa nasłuchuje na określonym porcie w systemie operacyjnym Linux. Sprawdź, kto Cię monitoruje i obserwuje! Kogo interesują Twoje dane osobowe, to co robisz i czym się zajmujesz? szymon@szymon:~$ sudo netstat -tulpn Aby znaleźć konkretny port […]

Nadawanie procesom priorytetu w Linuxie

Nadawanie procesom priorytetu w Linuxie

Do nadawania procesom określonego priorytetu w systemie operacyjnym Linux służą polecenia: nice, renice. Każdy istniejący i nowy proces otrzymuje pewien priorytet. Priorytet przydziela ilość czasu dla procesora – im większy priorytet, tym więcej czasu poświęci procesor danemu procesowi. Standardową wartością priorytetu jest 0. Proces może […]

Bash – jak wyświetlić komunikat w Ubuntu

Bash – jak wyświetlić komunikat w Ubuntu

Aby wyświetlić komunikat, w prawym górnym rogu należy wydać polecenie:

notify-send „Temat komunikatu” „mój opis komunikatu”

Jeżeli dodatkowo chcemy wyświetlić ikonę, możemy użyć polecenia:

notify-send „Temat komunikatu” „mój opis komunikatu” –icon=/home/szymon/Pobrane/sun.ico

Zrzut ekranu z 2016-03-17 23-41-29

Jak sprawdzić sumę kontolną MD5 plików

Jak sprawdzić sumę kontolną MD5 plików

Niekiedy potrzebujemy sprawdzić czy pobrany plik nie jest w jakiś sposób uszkodzony lub czy jest zgodny z oryginałem. Aby to zweryfikować, możemy posłużyć się sumą kontrolną. Tak więc, aby sprawdzić sumę kontrolną pliku, wykonujemy polecenie: md5sum nazwaPliku Aby porównać 2 pliki naraz (może okazać się […]

Wyszukiwanie plików w systemie Linux

Wyszukiwanie plików w systemie Linux

Aby wyszukać plik po nazwie w systemie Linux należy wydać polecenie: sudo find /etc/ -name apache2 sudo find /Sciezka/ -name nazwaPliku gdzie /etc/ to ścieżka, w której pliki mają być wyszukiwane rekursywnie, a apache2 to nazwa pliku. Jeżeli chcemy wyszukać plik o określonej wielkości, możemy […]

Jak sprawdzić czy deamon / usługa uruchomi się na starcie?

Jak sprawdzić czy deamon / usługa uruchomi się na starcie?

Można to wykonać poleceniem:
service –status-all | grep nazwausługi

Można także wylistować wszystkie usługi:
service –status-all

[ + ] acpid
[ + ] anacron
[ ? ] aoetools
[ + ] apache2
[ – ] apparmor
[ ? ] apport
[ + ] avahi-daemon
[ + ] bind9
[ + ] bluetooth
[ – ] brltty
[ + ] clamav-freshclam
[ – ] cobbler
[ ? ] console-setup
[ ? ] cpufrequtils
[ + ] cron
[ + ] cups
[ + ] cups-browsed
[ – ] cyrus-imapd
[ – ] dbus
[ ? ] dns-clean
[ + ] drbl-clients-nat
[ ? ] ejabberd
[ – ] etc-setserial
[ – ] exim4
[ – ] fail2ban
[ – ] fancontrol
[ ? ] firewall
[ ? ] firewall~
[ + ] friendly-recovery
[ – ] grub-common
[ + ] hostapd
[ – ] i8kmon
[ ? ] irqbalance
[ + ] isc-dhcp-server
[ + ] kerneloops
[ ? ] killprocs
[ ? ] kmod
[ ? ] lightdm
[ ? ] lirc
[ – ] lm-sensors
[ ? ] loadcpufreq
[ ? ] mysql
[ ? ] networking
[ + ] nfs-kernel-server
[ + ] nmbd
[ ? ] noip2
[ + ] ntp
[ ? ] ondemand
[ + ] opendkim
[ + ] pcscd
[ – ] postfix
[ ? ] pppd-dns
[ + ] procps
[ + ] proftpd
[ + ] pulseaudio
[ ? ] rc.local
[ + ] rpcbind
[ – ] rsync
[ + ] rsyslog
[ + ] samba
[ + ] samba-ad-dc
[ + ] saned
[ – ] saslauthd
[ ? ] scanbuttond
[ ? ] scanbuttond.bak.org
[ ? ] sendsigs
[ + ] setserial
[ – ] slapd
[ + ] smbd
[ – ] snort
[ – ] spamassassin
[ ? ] speech-dispatcher
[ + ] ssh
[ – ] sudo
[ + ] tftpd-hpa
[ + ] udev
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ – ] unattended-upgrades
[ – ] urandom
[ ? ] vblade
[ + ] virtualbox
[ – ] winbind
[ – ] x11-common
[ + ] xinetd
[ + ] xrdp

W zależności od tego czy mamy + ,czy – dana usługa startuje lub nie.

W przypadku znaku zapytania (?) status usługi nie jest znany.

Konwertowanie grafiki w Linuxie

Konwertowanie grafiki w Linuxie

Dzisiaj kilka słów o konwertowaniu grafik w systemie operacyjnym Linux. Na początku instalujemy program w konsoli: sudo apt-get install imagemagick Aby przkonwertować większą ilość zdjęć / obrazów do wysokości 700 pixeli, wydajemy w terminalu następujące polecenie: for file in *.jpg; do convert $file -resize x700 $file; […]