========= Konfiguracja Netplan - Ubuntu ========= Konfiguracja netplan 1. Przechodzimy do katalogu /etc/netplan i otwieramy znajdujący się tam plik. 2. Konfigurujemy go wedle uznania. network: ethernets: enp0s3: addresses: [192.168.10.10/24] - adres IP wraz z maską gateway4: 192.168.10.1 - adres bramy domyślnej (routera) nameservers: addresses: [192.168.10.1] - adres serwera DNS enp0s8: dhcp4: true - DHCP włączone version: 2 - obowiązkowa linijka # renderer: NetworkManager - obowiązkowa linijka jeśli konfugaracja przez GUI 3. Zapisujemy i wpisujemy: netplan try - aby sprawdzić netplan apply - aby zapisać 4. Przykładowe konfiguracje można znaleźć w katalogu /usr/share/doc/netplan/examples. 5. Przykładowa konfiguracja statyczna. ========= Konfiguracja SSH - Ubuntu ========= Konfiguracja SSH – Linux 1. Pobieramy SSH, na egzaminie nie trzeba pobierać bo będzie już zainstalowany. 2. Wchodzimy do katalogu /etc/ssh i znajdujemy w nim plik sshd_config. Zmiana portu 3. Usuwamy # przed Port i podajemy numer portu, na którym ma działać usługa. 4. Restartujemy usługę i sprawdzamy czy usługa działa na zmienionym porcie. Jak widać na domyślnym porcie połączenie zostało odrzucone, a na nowym porcie działa. Maksymalna ilość prób do zalogowania 5. W pliku konfiguracyjnym znajdujemy zakomentowaną opcję #MaxAuthTries, usuwamy # i ustawiamy ilość prób. 6. Restartujemy usługę i sprawdzamy czy działa odpowiednio. Zezwolenie na połączenie danym użytkownikom 7. W pliku konfiguracyjnym dopisujemy linię AllowUsers i podajemy użytkownika/ów, którzy będą mogli się połączyć. 8. Restartujemy usługę i sprawdzamy czy działa odpowiednio. Blokowanie połączenia danym użytkownikom 9. W pliku konfiguracyjnym dopisujemy linię DenyUsers i podajemy użytkownika/ów, którzy nie będą mogli się połączyć. 10. Restartujemy usługę i sprawdzamy czy działa odpowiednio. Zezwolenie na połączenia danym grupom 11. W pliku konfiguracyjnym dopisujemy linię AllowGroups i podajemy grupę/y, które będą mogly się połączyć. 12. Restartujemy usługę i sprawdzamy czy działa odpowiednio. Blokowanie połączenia danym grupom 13. W pliku konfiguracyjnym dopisujemy linię DenyGroups i grupę/y, które nie będą mogly się połączyć. 14. Restartujemy usługę i sprawdzamy czy działa odpowiednio. ========= Konfiguracja Samba - OpenSuse ========= Serwer Samba Linux Sprawdzamy czy mamy dodaną płytę opensuse jeśli używamy wirtualnej maszyny Pobieramy sambę sudo zypper install samba Jeśli jest już zainstalowana to pokaże się taki komunikat jeśli rozpocznie się pobieranie to gdy pojawi się komunikat wpisujemy y i klikamy enter Konfigurujemy kartę sieciową wchodzimy w dany katalog Listujemy pliki w katalogu ls Kopiujemy ustawienia karty eth-0 do eth-1 Wchodzimy w edytor tekstu i edytujemy plik karty eth1 vim ifcfg-eth1 Wpisujemy podane ustawienia i wychodzimy Resetujemy ustawienia karty sieciowej Wchodzimy do katalogu /srv cd /srv listujemy pliki ls –a tworzymy katalog samba mkdir samba nadajemy uprawnienia i właściciela katalogu i grupy chown nobody:nobody samba chmod 775 samba Wchodzimy do katalogu cd /etc/samba wyświetlamy pliki ls tworzymy kopię zapasową pliku konfiguracyjnego sudo cp smb.conf smb_back.conf Wchodzimy do pliku vim smb.conf Wprowadzamy na samym dole takie zmiany i zapisujemy je Tworzymy użytkownika uczen i nadajemy mu hasło mkdir uczen passwd uczen (opcjonalnie tworzymy mu katalog domowy jak na poniższym zdjęciu) Dodajemy hasło i użytkownika do samby smbpasswd – a uczen Restartujemy sambę Systemctl restart smb Wyłączamy firewall systemctl stop firealld Windows 10 Ustawiamy kartę sieciową w taki sposób aby pracowały w tej samej podsieci (należy się upewnić czy karty (‘hardware’) w wirtualnej maszynie są ustawione prawidłowo można to sprawdzić wysyłając ping) Uruchamiamy usługę i wpisujemy podany adres Wchodzimy do katalogu share i sprawdzamy czy możemy utworzyć katalog jeśli tak to przeciągamy jakikolwiek plik z windowsa i działa Pliki te możemy zobaczyć później w podanym wcześniej katalogu w systemie linux ========= Konfiguracja routingu - Ubuntu ========= Konfiguracja routingu 1. W pliku /etc/sysctl.conf usuwamy # przy net.ipv4.ip-forward=1. 2. Zapisujemy konfigurację poleceniem sysctl -p. 3. Dodajemy wpis do tablicy poleceniem iptables -t nat -A POSTROUTING -j MASQUERADE. 4. Sprawdzamy na kliencie czy działa. 5. Jeśli chcemy aby wpis w tablicy zachowywał się po ponownym uruchomieniu musimy zainstalować pakiet iptasbles-persistent. 6. Akceptujemy dwa okna. 7. Zapisujemy wpisy w tablicy do pliku poleceniem iptables-save > /etc/iptables/rules.v4. ========= Konfiguracja serwera Apache2 - Ubuntu ========= Konfiguracja serwera Apache2 – Linux 1. Instalujemy pakiet apache2. 2. Wchodząc na stronę localhost / 127.0.0.1 bądź IP serwera możesz ujrzeć domyślną stronę serwera. 3. Katalog z plikami konfiguracyjnymi serwera to /etc/apache2. W katalogu sites-available znajdują się pliki konfiguracyjne dla każdej ze stron. Strona po porcie 4. W pliku ports.conf dodajemy linijkę Listen oraz numer portu na który ma działać jeszcze serwer Apache, zapisujemy plik i następnie przechodzimy do sites-available. 5. W folderze sites-available kopiujemy plik domyślnej strony 000-default.conf i nadajemy mu jakąkolwiek nazwę. 6. Otwieramy skopiowany plik i zmieniamy w pierwszej linijce port 80 na nasz nowy port, który wpisaliśmy w ports.conf. Możemy również ustalić IP, na którym ma działać strona. Zmieniamy również ścieżkę do folderu ze stroną DocumentRoot, gdyż nie chcemy aby uruchamiała się domyślna strona. 7. Tworzymy folder, który podaliśmy w pliku, a w nim plik index.html. 8. Wpisujemy coś w pliku index.html, abyśmy wiedzieli że nasz strona działa poprawnie. 9. Włączamy naszą nową stronę poleceniem a2ensite , oraz restartujemy apache2. 10. Sprawdzamy wynik. Strona po nazwie (DNS) 11. W folderze sites-available kopiujemy plik domyślnej strony 000-default.conf i nadajemy mu jakąkolwiek nazwę. 12. Otwieramy skopiowany plik i w pierwszej linijce ustalamy IP na którym będzie działała strona, to samo IP nadajemy jako kolejne naszej karcie sieciowej. Usuwamy # przed ServerName i poprawiamy na własne. Zmianiamy również folder oraz na wszelki wypadek ServerAdmin. 13. Tworzymy folder, który podaliśmy w pliku, a w nim plik index.html. Wpisujemy coś w pliku index.html, abyśmy wiedzieli że nasz strona działa poprawnie. Następnie włączamy naszą nową stronę poleceniem a2ensite , oraz restartujemy apache2. 14. Dopisujemy nową strefę w pliku /etc/bind/named.conf.local. 15. Kopiujemy plik db.local i konfigurujemy go. 16. Zmieniamy DNS na kliencie na IP naszego serwera i sprawdzamy wynik. Dodanie innej lokalizacji ze stronami 17. W pliku apache2.conf zjeżdżamy nisko i znajdujemy znaczniki , kopiujemy bądź przepisujemy tak jak jest w /var/www i gotowe. Po restarcie usługi strony będą również działać w nowym folderze. Domyślny użytkownik usługi apache2 18. Znajdziemy go w pliku /etc/apache2/envvars. 19. Możemy go również wyszukać w /etc/passwd. ========= Konfiguracja serwera DHCP - Ubuntu ========= Serwer DHCP na Linuxie – isc-dhcp-server 1. Pobieramy serwer DHCP, na egzaminie nie trzeba pobierać bo jest już zainstalowany. apt install isc-dhcp-server 2. Wchodzimy w katalog /etc/default i otwieramy plik isc-dhcp-server. 3. W cudzysłowie przy INTERFACESv4 wpisujemy interfejs na którym ma działać serwer. 4. Zapisujemy plik i przechodzimy do katalogu /etc/dhcp i otwieramy plik dhcpd.conf. Trzeba w nim odkomentować authoritative. 5. Zjeżdżamy niżej, póki nie znajdziemy tesktu „A slightly different …”, znajdujemy zakomentowaną konfigurację serwera. Jako że zazwyczaj potrzebny jest tylko zakres to odkomentowujemy tylko i wyłącznie 3 linie. subnet 10.0.0.0 netmask 255.255.255.0 { - sieć i maska sieci range 10.0.0.200 10.0.0.230; - zakres adresów # option domain-name-servers ns1.internal.example.org; - opcjonalny serwer DNS # option domain-name „internal.example.org”; - opcjonalna nazwa domeny # option routers 10.5.5.1; - opcjonalna adres routera # option broadcast-address 10.5.5.31; - opcjonalny adres broadcast # default-lease-time 600; - domyślny czas dzierżawy # max-lease-time 7200; - maksymalny czas dzierżawy } 6. Restartujemy serwer i sprawdzamy jego status. systemctl restart isc-dhcp-server systemctl status isc-dhcp-server 7. Sprawdzamy na kliencie czy wszystko śmiga jak należy. Rezerwacja adresu dla danego hosta 1. Zjeżdżamy niżej w pliku dhcpd.conf, póki nie znajdziemy host z linijkami hardware ethernet oraz fixed-address. Odkomentowujemy te 4 linie i wstawiamy nasze adresy. host klient { - nazwa urządzenia hardware Ethernet 08:00:27:81:e8:9b; - adres fizyczny MAC fixed-address 10.0.0.100; - adres zarezerwowany } 2. Zapisujemy plik i restartujemy serwer. systemctl restart isc-dhcp-server systemctl status isc-dhcp-server 3. Sprawdzamy na kliencie czy wziął prawidłowy adres. ========= Konfiguracja serwera DNS - Ubuntu ========= Konfiguracja serwera DNS – Linux 1. Pobieramy serwer DNS – Bind9, na egzaminie będzie już zainstalowany. 2. Wchodzimy do katalogu /etc/bind. Strefa wyszukiwania do przodu 3. Kopiujemy plik db.empty i nazywamy go egzamin.local, nazwa pliku nie ma znaczenia. 4. Otwieramy egzamin.local i go konfigurujemy, trzeba pamiętać aby zwiększać liczbę przy Serial za każdym razem gdy zmieniamy coś w tym pliku. 5. Następnie otwieramy plik named.conf.local i dopisujemy w nim naszą strefę wyszukiwania do przodu. 6. Sprawdzamy konfigurację plików poleceniem named-checkconf -z oraz named-checkzone egzamin.local /etc/bind/egzamin.local. 7. Restartujemy usługę. 8. Sprawdzamy na kliencie czy działa. Strefa wyszukiwania wstecz 9. Kopiujemy plik db.127 i nazywamy go rev.egzamin.local, nazwa pliku nie ma znaczenia. 10. Otwieramy rev.egzamin.local i go konfigurujemy, trzeba pamiętać aby zwiększać liczbę przy Serial za każdym razem gdy zmieniamy coś w tym pliku. 11. Następnie otwieramy plik named.conf.local i dopisujemy w nim naszą strefę wyszukiwania wstecz. 12. Sprawdzamy konfigurację plików poleceniem named-checkconf -z oraz named-checkzone 0.0.10.in-addr.arpa /etc/bind/rev.egzamin.local. 13. Restartujemy usługę. 14. Sprawdzamy na kliencie czy działa. Serwer slave 15. Instalujemy bind9 na drugim serwerze, otwieramy plik named.conf.local i konfigurujemy strefy. 16. Restartujemy usługę. 17. Sprawdzamy na kliencie czy działa. Serwery DNS na które ma przekazywać, jeśli nie ma u siebie 18. Otwieramy plik named.conf.options i odkomentowujemy opcję forwarders, oraz ustalamy adresy serwerów DNS. 19. Restartujemy usługę. 20. Sprawdzamy na kliencie czy działa. ========= Konfiguracja serwera FTP - Ubuntu ========= Konfiguracja serwera FTP – Linux 1. Pobieramy serwer FTP – vsftpd. 2. Oto jego domyślna konfiguracja. Zmiana banneru 3. W pliku konfiguracyjnym vsftp.conf usuwamy # przed ftpd_banner i ustalamy nasz banner. ftpd_banner=-=-=-=-=-=Witaj na serwerze FTP=-=-=-=-=-. 4. Restartujemy usługę i sprawdzamy wynik. Konfiguracja połączenia anonimowego 5. W pliku konfiguracyjnym usuwamy # przed write_enable, anon_upload_enable, anon_mkdir_enable i zmieniamy następującą opcję: anonymous_enable=YES - zezwala na połączenia anonimowe write_enable=YES - pozwala na zapis anon_upload_enable=YES - zezwala anonimom na wrzucanie plików anon_mkdir_write_enable=YES - zezwala anonimom na tworzenie katalogów anon_root=/srv/ftp - ustala katalog logowania FTP 6. Opcjonalnie dodajemy opcję: anon_other_write_enable=YES - zezwala na zmianę nazwy i usuwanie plików 7. Tworzymy folder do którego anonimowi będą mogli wrzucać pliki i nadajemu mu uprawnienia 777. mkdir /srv/ftp/zapis chmod 777 /srv/ftp/zapis 8. Restartujemy usługę i sprawdzamy wynik. Zmiana domyślnego folderu anonimowego 9. W pliku konfiguracyjnym dopisujemy anon_root=/zasoby. 10. Tworzymy nowy folder /zasoby, a w nim /zapis. Nadajemy uprawnienia 777 dla katalogu zapis. 11. Restartujemy usługę i sprawdzamy wynik. Izolacja wszystkich użytkowników lokalnych 12. Tworzę dwóch użytkowników dla pokazania wyników. 13. Konfiguruję plik vsftpd.conf w następujący sposób: chroot_local_user=YES chroot_list_enable=NO allow_writeable_chroot=YES 14. Restartujemy usługę i sprawdzamy wynik. Izolacja określonego użytkownika lokalnego 15. Konfiguruję plik vsftpd.conf w następujący sposób: chroot_local_user=NO chroot_list_enable=YES allow_writeable_chroot=YES chroot_list_file=/etc/vsftpd.chroot_list 16. W pliku vsftpd.chroot_list dopisuję użytkownika, który ma być izolowany. 17. Restartujemy usługę i sprawdzamy wynik. Określony użytkownik nie jest izolowany 18. Konfiguruję plik vsftpd.conf w następujący sposób: chroot_local_user=YES chroot_list_enable=YES allow_writeable_chroot=YES chroot_list_file=/etc/vsftpd.chroot_list 19. W pliku vsftpd.chroot_list dopisuję użytkownika, który ma NIE być izolowany. 20. Restartujemy usługę i sprawdzamy wynik. Pozostałe ustawienia 21. Czy i kto ma przejmować pliki przesyłane przez anonimów. chown_uploads=YES chown_username=whoever 22. Czas po jakim rozłączy nasze połączenie. idle_session_timeout=600 - czas bez użycia jakiejkolwiek komendy data_connection_timeout=300 - czas przesyłania bez jakiegokolwiek postępu 23. Inne możliwe parametry oraz ich opisy są dostępne pod man vsftpd.conf. ========= Linux usługi ========= Linux Server 20.04 LTS Progress instalacji (GUI, DHCP, DNS, FTP, Apache2 + Użyteczne Komendy Konfiguracji) 1. Instalacja Serwera Linux UBUNTU 20.04 LTS - Dodajemy odpowiednie karty sieciowe i konfigurujemy je na etapie instalacji (nadajemy ip). - Instalujemy serwer. - Aktualizujemy pakiety (sudo apt update – sudo apt upgrade) - Po instalacji dopierdalamy sobie przydatne pakieciki np: (net-tools, ifupdown, MCedit, Obraz płyty z dodatkami gościa dla 1920 x 1080p itp.) 2. Instalacja GUI dla Serwera Linux: Instalacja GUI odbywa się w następujący sposób: - sudo apt install tasksel - uruchamiamy tasksela poleceniem: „sudo tasksel” - z menu rozruchu wybieramy „Ubuntu Desktop Experience” - wpierdalamy klawisz OK „TAB’em” - sudo reboot <- restart serwera i jego usług. Gotowe cieszymy się kurwa zajebistym DESKTOPEM na serwerku. 3. Konfiguracja zarządzania kartami sieciowymi dla serwera w trybie graficznym. Jak pewnie wiecie albo zauważyliście małe skurwysynki, z poziomu serwera z GUI nie możecie zarządzać sobie kartami sieciowymi, co powoduje to że musicie to robić z.. tak, tak dokładnie dobrze usłyszeliście KURWA NETPLANU XDDD, ale my zrobimy małe cebulactwo tutaj i wykorzystamy moje ZAJEBISTE doświadczenie z tym środowiskiem i nasramy na NETPLAN. Więc robimy kurde tak: - Wpierdalacie się poprzez terminal w launchpadzie w MC. - Odszukujecie sobie netplan w jego katalogu. - Wpierdalacie się z kaloszami w netplan.yaml. - Pod linią „version: 2” wskazującą na wersję dopierdalacie idealnie równiutko pod nią linię: „renderer: Network Manager” To spowoduje, że kontrolę nad ustawieniami kart przejmie desktopowy Asystent sieci i od tego momentu macie wypierdolone jajca na netplan nie ma za co 😊. 4. Instalacja serwera DHCP *Dla poprawy jakości naszego życia ja będę korzystał z adresu: 10.0.0.1/24 dla karty która ma być nasłuchiwana dla serwera DHCP. Zaczynamy od instalacji serwera DHCP usługa nosi nazwę (isc-dhcp-server) - Instalujemy usługę poleceniem „sudo apt install isc-dhcp-server. Wskazanie interfejsu do nasłuchiwania (bardzo kurwa ważne) - Aby wskazać interfejs do nasłuchu są tutaj 2 opcje 1) „interfacev4=enp0sX” Gdzie X oznacza numer karty do nasłuchu. 2) sudo mcedit /etc/default/isc-dhcp-server (edytujemy pole V4 nazwę) - Wchodzicie do configu „dhcpd.conf” znajdującego się w folderze „dhcp” w katalogu „/etc” ścieżka powinna wyglądać tak: „/etc/dhcp/dhcpd.conf” - Odkomentowujecie linię zawierającą „authoritative” - Przechodzicie do linii 53 i tam dokonujecie konfiguracji DHCP. Objaśnienie linii konfiguracji DHCP: *subnet – to podsieć w jakiej pracuje. *netmask – to maska sieci. *range – to zakres puli dla serwera DHCP. *option domain-name-servers – To podstawowe serwery DNS dla usługi DHCP. *option domain-name – to nazwa domeny w jakiej pracuje DHCP. *option routers – to brama domyślna. * option broadcast-address – to adres broadcast, kończy się 255. *lease time – czas dzierżawy. *max-lease-time – maksymalny czas dzierżawy. (opcja „option subnet-mask” jest kurwa useless więc wypierdolcie ją) (Pamiętajcie kurwa o odkomentowaniu opcji XD) 5. Instalacja serwera DNS - Usługę zainstalujemy powyższą komendą nazywa się ona „BIND9” (sudo apt install bind9) - Domyślne pliki konfiguracji to: named.conf, named.conf.options, named.conf.local. - W pliku: named.conf.options zmieniamy domyślny serwer DNS na 8.8.8.8 lub inne ip naszej karty sieciowej. (najlepiej innej) - W pliku named.conf.local budujemy nasz konfig od podstaw w takiej składni np: 1) Strefa w przód: zone „szkola.com” IN { type master; file „/etc/bind/db.szkola.local”; }; 2) Strefa w tył: zone „0.0.10.in-addr.arpa” IN { type master; file „/etc/bind/db.10; }; - Kopiujecie pliki domyślne db.local i zamieniacie jego nazwę po skopiowaniu na odpowiednią jak do waszej strefy. - To samo w przypadku odwrotnej kopiujecie db.127 i zamieniacie jego nazwę po skopiowaniu na odpowiednią jak do waszej strefy. - Zmieniacie ustawienia resolv.conf na adres serwera np: (10.0.0.1) Gotowe! Serwer DNS Stoi jak pała Dżonego Sinsa. (X’D) 6. Instalacja serwera FTP. - Aby zainstalować serwer FTP musimy zainstalować usługę „vsftpd” („sudo apt install vsftpd”) - Aby skonfigurować odpowiednio serwer FTP po instalacji usługi kierujemy się do głównego folderu „/etc” - W folderze „/etc” odnajdujemy plik konfiguracyjny „vsftpd.conf” - W pliku konfiguracyjnym „vsftpd.conf” zmieniamy wartość „listen” na YES natomiast „listen_ipv6” zakomentujemy i wstawimy wartość NO. - odkomentowujemy wartość „local_enable” - odkomentowujemy wartość „write_enable” *Jeżeli chcemy aby użytkownicy anonimowi mogli uzyskać dostęp do serwera FTP: - odkomentowujemy wartość „anonymous_enable=YES” - odkomentowujemy wartość „anon_upload_enable=YES” - odkomentowujemy wartość „anon_mkdir_write_enable=YES” *Jeżeli chcemu ustawić baner powitalny serwera: - odkomentowujemy wartość „ftpd_banner=[Wiadomość]” 7. Instalacja Apache2 - Aby zainstalować Apache wydajemy komendę: sudo apt install apache2 - Następnie aby uruchomić rolę: sudo systemctl apache2 start - Check statusu: sudo systemctl status apache2 - Gotowe apache2 stoi na serwerze. *Lokalizacja plików stron znajduje się w katalogu: /var/www/html/. Przydatne komendy informacyjne do Linuxa: - „dmidecode” – Polecenie informacyjne możemy odczytać z niego różne wartości po uprzednim dostosowaniu polecenia. - „uname -a” – Polecenie przedstawiające informacje o jądrze i systemie. - „lscpu” – Informacje o procesorze. - „lshw -C display” – Informacje o karcie graficznej. - „lshw -C memory | less” – Informacje o pamięciach RAM. - Dysk Twardy: W trybie graficznym program „Disks” - Dysk Twardy: W Trybie tekstowym polecenie „fdisk -l” - Nadawanie adresu ip karcie: „ip a add [adres ip]/maska dev [nazwa_int]” - Uruchamianie karty: „ip l set [nazwa_int] up” - „sudo mc /etc/passwd” Zawiera informacje dotyczące wszystkich użytkowników w Linuxie. - „sudo mc /etc/shadow” Zawiera zahashowane hasła użytkowników. - Wyświetlenie informacji o koncie, hasłach, daty itp: „sudo chage -l [nazwa_konta]” - Wymuszenie zmiany hasła dla użytkownika użyjemy polecenia „chage” w składni: „sudo chage -d 0 [nazwa_konta]” - Data wygaśnięcia konta, hasła i monit informacyjny o wygaśnięciu: „sudo chage -E [-E = Expire] 2021-06-10 -M [-M = Ilość dni ważności hasła] -W [-W = Liczba dni pozostałych do wygaśnięcia.] 5 [Nazwa Użytkownika] „sudo chage -E 2021-06-10 -M 30 -W 5 krystian” - „groupadd” Dodaje nową grupę: „groupadd Dzial-HR” - „useradd” Dodaje nowego użytkownika: „useradd Kadrowa” - „useradd [username] [group_name]” Dodanie Użytkownika do grupy np.: (useradd Kadrowa Dzial-HR) Zarządzanie Uprawnieniami: |-Parametry: chmod u(user [właściciel] ) g(grupa) o(właściciel) a(wszyscy) +,- r(czytanie) w(pisanie) x(uruchamianie) & [nazwa pliku] | chmod ugo-rw file - odbieramy prawa dostępu do czytania i modyfikowania pliku właścicielowi,grupie oraz użytkownikom | chmod a-rw - j/w | chmod a+r - wszyscy mają prawo do czytania pliku | chmod a+rwx - wszyscy mają prawo do czytania, zapisywania i uruchamiania pliku |-Parametry: chmod [liczba od 000 do 777][nazwa pliku] | pierwsza liczba to użytkownik, druga liczba to grupa a trzecia pozostali | 0 lub --- brak praw dostępu | 1 lub --x wykonywanie | 2 lub -w- czytanie | 3 lub -wx zapis | 4 lub r-- zapis i wykonywanie | 5 lub r-x odczyt | 6 lub rw- odczyt i zapis | 7 lub rwx odczyt, zapis i wykonywanie | chmod 777 file - dajemy pełny dostęp właścicielowi, grupie oraz użytkownikom | chmod 000 file - zabieramy pełny dostęp właścicielowi, grupie oraz użytkownikom | chmod a+r - wszyscy mają prawo do czytania pliku | chmod a+rwx - wszyscy mają prawo do czytania, zapisywania i uruchamiania pliku ========= Netplan ========= NETPLAN /etc/netplan/00-installer-config.yaml to jest miejsce gdzie znajduje się plik konfiguracyjny netplan od ustawienia adresów na kartach sieciowych. Na samym początku w terminal wklepujemy sobie polecenie ip a lub ip a sh, by zobaczyć jaką nazwę mają katy sieciowe To są nazwy portów kart sieciowych: Teraz w terminal wpisujemy sudo nano /etc/netplan/00-installer-config.yaml Protip Jak wpiszemy sobie 00 i naciśniesz TAB to reszta nazwy nam się uzupełni Teraz ukaże się nam się plik konfiguracyjny Tutaj skonfigurowana jest jedna karta sieciowa, adres jest dynamicznie przydzielany przez DHCP: Tutaj jedna karta sieciowa ma adres dynamicznie przydzielany, a dwie pozostałe mają adres nadany statycznie: Gdy już wszystko skonfigurujemy to naciskamy kombinację klawiszy ctrl+s aby zapisać i wychodzimy z edytora kombinacją ctrl+x Teraz w terminal wklepujemy sudo netplan try, by sprawdzić poprawność konfiguracji. Jeśli nie będzie żadnych błędów to spisujemy następnie polecenie sudo netplan apply, by zatwierdzić konfigurację. Teraz wystarczy tylko wbić ip a lub ip a sh, by sprawdzić czy adresy naszych kart się zmieniły A co, jeśli chcemy skonfigurować adresy na kartach sieciowych graficznie? W takim przypadku dopisujemy w netplanie linijkę renderer: NetworkManager Teraz możemy zajmować się konfiguracją kart sieciowych przy użyciu GUI ========= Parametry podzespołów - Linux ========= Parametry podzespołów – Linux Płyta główna lshw -c core product: VitrualBox - model vendor: Oracle Corporation - producent version: 1.2 - wersja płyty głównej serial: 0 - numer seryjny dmidecode -t baseboard Manufacturer: Oracle Corporation - producent Product Name: VirtualBox - model Version: 1.2 - wersja płyty głównej Serial Number: 0 - numer seryjny CPU lscpu Architektura: x86_64 Tryb(y) pracy CPU: 32-bit, 64-bit CPU: 2 Wątków na rdzeń: 1 Rdzeni na gniazdo: 2 Rodzina CPU: 6 Nazwa modelu: Intel(R) Core(TM) i5-6500 @ 3.20GHz CPU MHz: 3191.996 Cache L1d: 32K Cache L1i: 32K Cache L2: 256K Cache L3: 6144K lshw -c cpu product: Intel(R) Core(TM) i5-6500 @ 3.20GHz - model vendor: Intel Corp. – producent dmidecode -t procesor RAM lsmem Rozmiar pamięci aktywnej: 2G free -m razem użyte wolne Pamięć: 1983 1254 223 Wymiana: 472 51 420 dmidecode -t memory cat /proc/meminfo hwinfo –memory GPU lshw -c display product: SVGA II Adapter vendor: VMware version: 00 - wersja clock: 33MHz - taktowanie lspci VGA compatible controller: VMware SVGA II Adapter Karta sieciowa lshw -c network product: 82540EM Gigabit Ethernet Controller - model vendor: Inter Corporation - producent serial: 08:00:27:81:e8:9b - adres fizyczny MAC size: 1Gbit/s - przepustowość lspci | grep -i Ethernet Dysk lshw -c disk product: VBOX HARDDISK - model logical name: /dev/sda version: 1.0 - wersja serial: VBa353a4c5-d71a6ce0 - numer seryjny size: 10GiB (10GB) hdparm -i /dev/sda Model: VBOX HARDDISK SeialNo=VBa353a4c5-d71a6ce0 fdisk -l /dev/sda Rozmiar: 10G df -Th - T - wyświetla typ plików - h - rozmiar jako potęga 1024 TYP rozm. użyte dost. %uż. zamont. na /dev/sda1 ext4 9,8G 7,5G 1,9G 81% / du -h /etc Rozmiar wpisanego katalogu 13M /etc System uname -a (-s) Linux - nazwa jądra (-n) lc18 - nazwa sieciowa komputera (-r) 5.4.0-96-generic - wersja jądra (-m) x86_64 - architektura (-o) GNU\Linux - nazwa systemu operacyjnego hostnamectl Static hostname: lc18 - nazwa sieciowa komputera Operating System: Ubuntu 18.04.6 LTS - nazwa i wersja systemu operacyjnego Kernel: Linux 5.4.0-96-generic - nazwa i wersja jądra Architekture: x86_64 lsb_release -a Distributor ID: Ubuntu - dystrybucja Description: Ubuntu 18.04.6 LTS - nazwa i wersja systemu operacyjnego Release: 18.04 - wydanie ========= Polecenia Linux ========= LINUX Komenda Opis SIECIOWE traceroute wyświetla serię routerów IP, które są używane przy dostarczaniu pakietów z danego miejsca do miejsca docelowego i czas trwania każdego przeskoku. ip addr show pokazanie konfiguracji OGÓLNE $ znak zachęty użytkownika # znak zachęty roota whoami sprawdzenie kim jestem history historia poleceń pwd lokalizacja w strukturze katalogów logout reboot halt wylogowanie ponowne uruchomienie wyłączenie su -login zmiana użytkownika man wyświetlenie pomocy man -k wyświetlenie poleceń powiązanych ze słowem kluczowym apt -get sciezka instalacja z dysku sudo service vsftpd restart/ systemctl restart vsftpd systemctl restart isc-dhcp-server.service restart usługi ftp restart dhcp systemctl status vsftpd sprawdzenie statusu usługi KATALOGI I PLIKI ls ls-l dir ls -l | grep pub pokazuje zawartość katalogu szczegółowa zawartość folderu wyszukanie pliku zawierającego pub i wylistowanie cat more less odczytanie pliku tekstowego tail -t odczytanie -t ostatnich wierszy pliku cd cd / cd -uczen cd – cd .. cd … wyjście/wejście do folderu katalog główny katalog domowy użytkownika uczeń wstecz katalog w dół dwa katalogi w dół mkdir założenie folderu rmdir usunięcie folderu touch utworzenie pliku rm -r rm usunięcie katalogu z zawartością usunięcie rm ??a.* usunięcie plików o trzyliterowej nazwie kończącej się na a cp cp *.jpg /dane/programy kopiowanie skopiowanie wszystkich plików graficznych do ścieżki ln -s /home/pracownik1 /home/egzamin dowiązanie symboliczne katalogu domowego konta pracownik1 do folderu domowego konta egzamin mv wytnij/wklej, zmiana nazwy sudo -H gedit nano plik edycja pliku ls -a > plik.txt wrzucenie polecenia do pliku PLIKI /etc/passwd zawiera listę użytkowników z informacjami login- haslo-id użytkownika – id grupy – komentarz – katalog domowy - shell /etc/shadow zawiera hasze haseł i ustawienia konta login – hasz – data ostatniej zmiany hasła – minimalny okres między zmianami hasła – maksymalny okres między zmianami hasła – ile dni przed przypomnieć o zmianie hasła – ile dni po przeterminowaniu hasło jest aktywne – termin ważności hasła /etc/login.defs Konfiguracja plku shadow -> pass max, min np. ustawienie, aby każde nowo zakładane konto miało maksymalny okres między zmianami hasła 180 (pass_max_days) /etc/adduser.conf konfiguracja adduser /etc/deluser.conf konfiguracja deluser /etc/group informacje o grupach -> nazwa – hasło – id członków grupy /etc/network/interfaces konfiguracja pliku sieciowego, np. dopisać: #secondary allow-hotplug enp0s8 iface enp0s8 inet static address 192.168.1.1 netmask 255.255.255.0 /etc/vsftpd.conf plik konfiguracyjny ftp /etc/dhcp/dhcpd.conf plik konfiguracyjny dhcp /etc/default/isc-dhcp-server plikkonfiguracyjny DHCP – na jakim interfejsie ma działać UŻYTKOWNICY I GRUPY chage -l uczen chage -M 10 uczen chage -m 5 uczen chage -W 4 uz chage -d 0 uzytkownik informacja dotycząca wieku hasła maksymalna ilość dni ważności hasła minimalna ilość dni system monituje o zmianę hasła 4 dni przed wygaśnięciem wymuszona zmiana hasła przy kolejnym logowaniu chage -l 10 pracownik okres, w którym możliwa jest zmiana hasła po wygaśnięciu useradd useradd -m useradd -u useradd -e useradd -G dodawanie użytkownika dodawanie użytkownika z katalogiem domowym wymusza konkretne id data wygaśnięcia konta przypisanie do konkretnej grupy adduser dodawanie użytkownika passwd passwd -x 30 uz passwd -n 2 uz passwd -l uz passwd -u uz zmiana hasła maksymalny czas między zmianami hasła minimalny czas między zmianami hasła zablokowanie hasła (można też to zrobić przed dodaniem w /etc/passwd znak ! przed x odblokowanie hasła userdel userdel -r usuwanie użytkownika usuwanie użytkownika z katalogiem domowym deluser usuwanie użytkownika groups uzytk sprawdzenie do jakich grup należy użytkownik groupadd groupadd -g addgroup dodaje grupę wymusza konkretne ID groupdel delgroup usuwanie grupy usermod -l nazw2 nazw1 usermod -G grupa uzytk (np. sudo) zmiana nazwy użytkownika z 1 na 2 dodanie użytkownika od grupy groupmod -n nazw2 nazw1 zmiana nazwy grupy z 1 na 2 TAR tar -czvf archiwum.tar pliki_do_spakowania utworzenie archiwum -c utworzenie nowego archiwum -x tar -xfv cos.tar sciezka wypakowanie archiwum SPECYFIKACJE/DIAGNOSTYKA free -m/free pokazuje wykorzystanie pamięci RAM i SWAP arch uname -m architektura systemu uname -p uname -v uname -o procesor wersja kernela nazwa OS df ilość partycji na dysku hostname nazwa komputera lspci | grep -i vga lspci | grep -i "eth" typ karty graficznej karta sieciowa cat /proc/cpuinfo cat /proc/meminfo model procesora informacje o pamięci lscpu o procesorze uname -a wersja jądra systemu lshw informacje o hardware lshw -class memory / lshw -c memory lshw -C memory >> RAM1.txt lshw -c display lshw -class network lshw -c CPU lshw -c disk informacje o pamięci wrzucenie tego polecenia do pliku karta graficzna karta sieciowa procesor dysk dmidecode dmidecode -tw dmidecode -t baseboard dmidecode -t memory informacje o hardware i bios płyta główna pamięć hwinfo --memory pamięć sudo fdisk -l | grep -i "disk" dysk 7 ZIP 7z e plik.7z -sciezka 7z x plik.7z -sciezka wypakowanie do sciezki  Z zachowaniem drzewa 7z a files.7z * zapakowanie wszystkich plików 7z b -mm=* włącza benchmark dla 30 iteracji – może być używane do sprawdzania błędów pamięci RAM CHMOD prawo do odczytu zapis prawo wykonania wyświetlenie zawartości folderu tworzenie i modyfikowanie plików możliwość wejścia do katalogu