Za pomocą PuTTY połącz się ze zdalnym komputerem na którym chcesz pracować (np. mts.wibro.agh.edu.pl jako loginu użyj frazy sNumerIndexu, hasło zostanie podane przez prowadzącego zajęcia).
Po otworzeniu emulatora terminala, czyli Putty’ego, na początku dokonałem jego konfiguracji w menu konfiguracji. Następnie zalogowałem się na serwer mts.wibro.agh.edu.pl, aby móc wykonywać następne zadania.
Autentykacja za pomocą kluczy asymetrycznych
Za pomocą programu ssh-keygen wygeneruj parę kluczy RSA - załóż na początek iż klucz ma standardową nazwę i dostęp do niego nie jest zabezpieczony hasłem - w trakcie tworzenia klucza trzykrotnie naciśnij enter nie wypełniając proponowanych pól.
Znajdź i przeglądnij wygenerowane klucze. Powinny znajdować się w katalogu .ssh
Za pomocą polecenia: ssh-copy-id username@student.agh.edu.pl skopiuj wygenerowany klucz publiczny na swoje konto na serwerze student.
Zaloguj się z konsoli mts-a na swoje konto na studencie. Program umożliwiający pracę zdalną na linuxie to ssh. Stosowne polecenie będzie miało więc postać:
Przeanalizuj procedurę autentykacji.
Znajdź na serwerze student lokalizacją Twojego klucza publicznego.
Przeanalizuj możliwości logowania na serwer mts za pomocą zestawu kluczy RSA oraz programu PuTTY.
Wygenerowanie pary kluczy oraz skopiowanie klucza publicznego na konto na serwerze student, umożliwiło logowanie na konto student, bez wracania do menu konfiguracyjnego Putty’ego (Po wylogowaniu z serwera mts.wibro.agh.edu.pl, aby przejść na serwer student), lecz bezpośrednio poprzez wpisania w terminal polecenia „ssh username@student.agh.edu.pl” (podczas bycia zalogowanym na serwerze mts.wibro.agh.edu.pl) i dodatkowo bez wpisywania hasła.
Praca z plikami i katalogami
Załóż katalog o nazwie tmp = mkdir tmp
Utwórz plik tekstowy zawierający Twoje imię i nazwisko = nano imie.txt i wpisz tam imię oraz nazwisko
Dla nowo utworzonego pliku zmień prawa dostępu tak, by wszyscy użytkownicy systemu mogli go czytać (chmod og+x), a jeśli mają takie prawa, to zmień je tak, by tylko właściciel pliku mógł czytać i poprawiać ten plik (chmod u+rwx)
Wyświetl procesy. Przetestuj jakie procesy mogą być wyświetlane w zależności od wybranych przełączników (opcji).
Poleceniem „ps” można wyświetlić procesy uruchomione z bieżącego terminala. Dodatkowo można użyć różnych opcji, aby zmodyfikować działania polecenia „ps”:
ps -A – wyświetla wszystkie procesy
ps -axms – wyświetla informacje o zagrożeniach;
ps -e - wyświetla wszystkie uruchomione procesy;
ps -f - wyświetla szczegółowe informacje o uruchomionych procesach;
ps -u - wyświetla uruchomione procesy danego użytkownika;
ps -aux - wyświetla uruchomione procesy wszystkich użytkowników;
Sprawdź ilu użytkowników pracuje na serwerze. Policz ich programowo.
Aby wyświetlić listę użytkowników pracujących na serwerze można użyć poleceń:
w – wyświetla najdokładniejsze informacje
who – wyświetla: nazwy użytkowników, TTY, datę logowania i ip
users – wyświetla tylko nazwy użytkowników
Aby policzyć użytkowników można użyć komendy „users | wc”
Zmień hasło dostępu do konta.
Aby zmienić hasło trzeba użyć komendy „passwd”
Znajdź plik passwd w systemie. Sprawdź działanie różnych opcji wyszukiwania plików w systemie.
Do znalezienia pliku passwd można użyć polecenia „find / -name 'passwd' -print” , które to polecenie pozwoli wyświetlić wszystkie lokalizacje plików z tą nazwą.
Sprawdź w jakim katalogu pracujesz. Przetestuj działanie skrótów do charakterystycznych katalogów w systemie linux - root, katalog domowy, katalog bieżący, katalog poziom wyższy.
Aby sprawdzić w jakim katalogu aktualnie pracuje, trzeba używać komendy „pwd” .
. – oznaczenie katalogu bieżącego
.. – oznaczenie katalogu poziom wyżej
/ – oznaczenie katalogu root
~ – oznaczenie katalogu domowego
Korzystając z przekierowań wejści i/lub wyjścia utwórz plik o dowolnej nazwie zawierający twoje imię i nazwisko.
Można to zrobić komendą: echo "Tobiasz Kobza">>imie2.txt
> - nadpisanie
>> - dopisanie
Przeglądnij opis komendy rm. Przetestuj możliwość usunięcia katalogu łącznie z jego zawartością.
Aby usunąć katalog łącznie z zawartością trzeba użyć polecenia: rm -r [katalog]
Załóż katalog pozwalający na publikowanie Twoich stron WWW w sieci (opis w tekście).
cd -przejdź do katalogu domowego
mkdir public_html -utwórz podkatalog public_html
chmod -nadaj wszystkim użytkownikom (a więc i serwerowi WWW) prawo przeszukania katalogu domowego
chmod o+x public_html -nadaj wszystkim użytkownikom (a więc i serwerowi WWW) prawo przeszukania katalogu public_html
Utwórz, za pomocą dowolnej metody opisanej w tekście, plik tekstowy tmp.txt.
Można to zrobić komendami: touch tmp.txt ; nano tmp.txt ; vi tmp.txt .
Umieść w utworzonym pliku następujący tekst:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> Strona próbna!! </title>
</head>
<body>
<h1>Witaj świecie!!!</h1>
<h2>Imię Nazwisko</h2>
</body>
</html>
>Zmień nazwę pliku na index.html .
Można to zrobić komendą: mv tmp.txt index.html
Sprawdź prawa dostępu do pliku.
Można to zrobić komendą: ls -l index.html
Wynik: -rw-r--r-- 1 s420325 studenci 176 mar 13 18:59 index.html
Usuń plik tmp.txt.
Można to zrobić komendą: rm tmp.txt
Policz programowo ile linii ma plik index.html.
Można to zrobić komendą: wc -l index.html . Wynik: 11 index.html
Sprawdź za pomocą przeglądarki internetowej swoją stronę. Zwróć uwagę na wyświetlanie polskich znaków.
Trzeba wpisać w przeglądarce adres: http://mts.wibro.agh.edu.pl/~s420325/
Usuń z pliku html linię ze znacznikiem META. Ponownie sprawdź wyświetlanie polskich znaków.
Trzeba usunąć linię: <meta charset="UTF-8">
Spowoduje to wyświetlenie zamiast „Witaj świecie!!! Imię nazwisko”, „Witaj Ĺwiecie!!! ImiÄ Nazwisko”
Zbadaj zmieniając prawa dostępu zarówno do pliku html jak i do katalogu public_html jakie minimalne prawa dostępu pozwalają na dostęp i wyświetlenie pliku.
Przyznanie użytkownikom prawa przeszukania katalogu ("x") nie oznacza równoczesnego nadania prawa jego odczytu ("r"). Minimalne prawa dostępu pozwalające na dostęp i wyświetlenie pliku to „r” i „x”.
Użyj polecenia tar do spakowania zawartości swojego katalogu domowego. Sprawdź dostępne metody kompresji tworzonego archiwum oraz jakość ich działania.
Można to zrobić komendą: tar cfv kompresja_domowego.tar ~
Utwórz dodatkowy katalog tymczasowy i rozpakuj do niego archiwum. Sprawdź jak zachowują się pliki (zawartość, ustawione prawa dostępu, …) po rozpakowaniu zawartości.
Najpierw trzeba przenieść skompresowany plik do katalogu tymczasowego:
mv kompresja_domowego.tar tmp
A następnie, aby rozpakować: tar xfv kompresja_domowego.tar
Spowoduje to utworzenie katalogu home w katalogu tymczasowym tmp.
Zawartość home to: katalog skibd24 -> katalog s420325 , a w nim -> imie2.txt number_of_users.txt public_html tmp
Wykonaj modyfikacje strony wprowadzając do niej dodatkowe elementy:
Paragrafy pozwalające na ograniczenie sterowaniem przepływem tekstu
Paragarfy dodajemy komendą: <p> [zawartość paragrafu] </p> , którą trzeba umieścić w pliku index.html w sekcji <body>
Elementy graficzne – obrazki, ...
Paragarfy dodajemy komendą: <img src="[ścieżka]/[nazwa pliku].jpg" alt="[tekst alternatywny, gdy obrazek nie wyświetli się]" width="[szerokość]" height="[wysokość]">, którą trzeba umieścić w pliku index.html w sekcji <body> .
Elementy sterujące – przyciski, kontrolki,…
Można je dodać komendą:
Link do strony poprzez kliknięcie obrazka:
<a href="[adres strony]">
<img src="[ścieżka do obrazka]" alt="tekst alternatywny obrazka” style="width:[szerokość];height:[wysokość];">
</a>
Przycisk, który po kliknięciu wykonuje daną funkcję:
<button onclick="[funkcja]">[Nazwa przycisku]</button>
Tabelki
Można je dodać komendą:
<table>
<tr>
<th>[zawartość nagłówka tabeli 1 wiersz 1 kolumna]</th>
<th>[zawartość nagłówka tabeli 1 wiersz 2 kolumna]</th>
<th>[zawartość nagłówka tabeli 1 wiersz 3 kolumna]</th>
</tr>
<tr>
<td>[zawartość nagłówka tabeli 2 wiersz 1 kolumna]</td>
<td>[zawartość nagłówka tabeli 2 wiersz 2 kolumna]</td>
<td>[zawartość nagłówka tabeli 2 wiersz 3 kolumna]</td>
</tr>
<tr>
<td>[zawartość nagłówka tabeli 3 wiersz 1 kolumna]</td>
<td>[zawartość nagłówka tabeli 3 wiersz 2 kolumna]</td>
<td>[zawartość nagłówka tabeli 3 wiersz 3 kolumna]</td>
</tr>
</table>
Przesylanie obrazka:
mcedit [nazwa].md
wpisac w edytorze
[obrazek](./sciezka do obrazka)
Podstawowe możliwości HTML można znaleźć na przykładowych stronach:
http://webmaster.helion.pl/
Zapoznaj się z formatem markdown - https://daringfireball.net/projects/markdown/ lub https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
Markdown to narzędzie do konwersji tekstu na HTML dla twórców stron internetowych. Markdown umożliwia pisanie w łatwym do odczytania i łatwym do napisania formacie zwykłego tekstu, a następnie konwertowanie go do strukturalnie prawidłowego XHTML (lub HTML).
Zatem „Markdown” to dwie rzeczy: (1) składnia formatowania zwykłego tekstu; oraz (2) narzędzie programowe napisane w języku Perl, które konwertuje formatowanie zwykłego tekstu na HTML.
Nadrzędnym celem projektowym składni formatowania Markdown jest uczynienie jej tak czytelną, jak to tylko możliwe. Pomysł jest taki, że dokument w formacie Markdown powinien nadawać się do publikacji w niezmienionej postaci, jako zwykły tekst, bez wyglądu, jakby został oznaczony tagami lub instrukcjami formatowania. Chociaż na składnię Markdown miało wpływ kilka istniejących filtrów zamiany tekstu na HTML, największym źródłem inspiracji dla składni Markdown jest format wiadomości e-mail w postaci zwykłego tekstu.
Zastosuj markdown do formatowania pliku raportu generowanego jako sprawozdanie z laboratorium.
Plik z formatem .md można stworzyć używając takich edytorów tekstu jak Sublime Text, Notepad++, Atom, Visual Studio Code, Vim, Emacs i Brackets.
Następnie przesyłam plik ze swojego komputera do serwera mts.wibro.agh.edu.pl:
Otwieram konsolę z serwerem mts.wibro.agh.edu.pl (putty) oraz konsolę cmd (aby operować na zasobach własnego komputera).
Następnie na konsoli cmd przechodzę do foldera zawierającego plik z rozszerzeniem .md, który chce przesłać.
Wpisuję komendę nc -l [numer portu] > [nazwa pliku].md w konsoli z serwerem mts.wibro.agh.edu.pl (uruchomi to tryb nasłuchiwania na danym porcie) oraz nc mts.wibro.agh.edu.pl [port] < [nazwa pliku].md w konsoli cmd.
Powoduje to przesłanie pliku z źródła lokalnego(mojego komputera) do serwera mts.wibro.agh.edu.pl
Zapoznaj się ze specyfikacją programu pandoc - https://pandoc.org/MANUAL.html
Pandoc to biblioteka Haskell służąca do konwersji z jednego formatu znaczników na inny oraz narzędzie wiersza poleceń korzystające z tej biblioteki.
Pandoc może konwertować pomiędzy wieloma formatami znaczników i edytorów tekstu, w tym między innymi różnymi odmianami Markdown, HTML, LaTeX i Word docx.
Przykładowe formaty wejścia: Markdown, HTML, DOCX, EPUB itp.
Przykładowe formaty wyjścia: PDF, Markdown, HTML, DOCX, EPUB itp.
Pandoc ma konstrukcję modułową: składa się z zestawu czytników, które analizują tekst w danym formacie i tworzą natywną reprezentację dokumentu (abstrakcyjne drzewo składni lub AST) oraz zestawu modułów piszących, które przekształcają tę natywną reprezentację na format docelowy.
Zatem dodanie formatu wejściowego lub wyjściowego wymaga jedynie dodania czytnika lub modułu zapisującego.
Zastosuj pandoc do konwersji raportu do postaci zewnętrznego pliku HTML
Można to zrobić używając komendy:
pandoc -s -o [nazwa pliku].html [nazwa pliku wygenerowanego].txt
Opublikuj raport w ramach swojej strony na serwerze.
Wykonano