Linux Esi Lista 001

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Podstawy Administracji Systemem Linux dla ESI

2023/24

Laboratorium 1

Autor: Monika Zamłyńska, [email protected]

1. Korzystanie z Manuala.
W systemie Linux "manual" (często nazywany "man") odnosi się do systemu
dokumentacji, który dostarcza instrukcji użytkowania dla większości poleceń dostępnych w
systemie. Pomoże on użytkownikom zrozumieć działanie różnych poleceń, ich opcje oraz
sposoby użycia. Manual jest niezwykle przydatny dla początkujących, jak i doświadczonych
użytkowników systemu Linux, ponieważ dostarcza dokładnych informacji na temat różnych
poleceń i programów.

Aby skorzystać z manuala dla konkretnego polecenia, wystarczy wpisać man w


terminalu, a następnie nazwę interesującego nas polecenia.

Manual jest podzielony na różne sekcje, takie jak:

▪ NAZWA - nazwa polecenia/programu.


▪ OPIS - krótki opis polecenia/programu.
▪ SYNOPSA - jak używać polecenia/programu z różnymi opcjami.
▪ OPIS - szczegółowy opis funkcji polecenia/programu.
▪ OPCJE - opis dostępnych opcji dla polecenia/programu.
▪ PRZYKŁADY - przykłady użycia polecenia.
▪ ZOBACZ RÓWNIEŻ - powiązane polecenia lub pliki.

Zadanie 1.
Za pomocą manuala w systemie Linux dowiedz się do czego służą następujące komendy
i jaka może być ich składania:

• adduser / useradd
• usermod
• userdel
• cd
• ls
• touch
• cp
• rm
• mv
• chmod
• chown
• chgrp
• groupadd
• cat

PRZYKŁAD:

2. Zarządzanie użytkownikami i grupami.


Zarządzanie użytkownikami i grupami to kluczowy element administracji systemem
Linux. Umożliwia on kontrolę nad tym, kto może uzyskać dostęp do systemu i jakie zasoby są
dla niego dostępne.

▪ Tworzenie użytkownika:

Polecenie useradd służy do tworzenia nowego użytkownika. Na przykład: useradd janek.

Aby jednocześnie utworzyć katalog domowy dla nowego użytkownika, użyj opcji -m, np.
useradd -m janek.

▪ Ustawianie hasła dla użytkownika:

Polecenie passwd służy do ustawiania hasła dla użytkownika. Na przykład: passwd janek.

▪ Usuwanie użytkownika:

Polecenie userdel służy do usuwania użytkownika. Na przykład: userdel janek.

2
Aby jednocześnie usunąć katalog domowy użytkownika, użyj opcji -r, np. userdel -r janek.

▪ Modyfikowanie użytkownika:

Polecenie usermod służy do modyfikowania istniejącego użytkownika. Pozwala na zmianę


różnych atrybutów użytkownika, takich jak katalog domowy, nazwa użytkownika czy też grupa
główna.

▪ Tworzenie grupy:

Polecenie groupadd służy do tworzenia nowej grupy. Na przykład: groupadd edytorzy.

▪ Usuwanie grupy:

Polecenie groupdel służy do usuwania grupy. Na przykład: groupdel edytorzy.

▪ Modyfikowanie grupy:

Polecenie groupmod pozwala na modyfikację atrybutów grupy, takich jak nazwa grupy.

▪ Dodawanie użytkownika do grupy:

Polecenie usermod z opcją -aG służy do dodawania użytkownika do dodatkowej grupy. Na


przykład: usermod -aG edytorzy janek.

▪ Wyświetlanie członków grupy:

Polecenie groups wyświetla grupy, do których należy dany użytkownik. Na przykład: groups
janek.

▪ Plik /etc/group zawiera informacje o wszystkich grupach w systemie oraz ich członkach.

Kontrola dostępu do zasobów systemu Linux jest w dużej mierze oparta na


użytkownikach i grupach. Poprzez przynależność do odpowiednich grup użytkownicy mogą
uzyskać dostęp do określonych zasobów, takich jak pliki czy katalogi. Dlatego właściwe
zarządzanie użytkownikami i grupami jest tak ważne dla bezpieczeństwa i funkcjonalności
systemu.

Zadanie 2.
Stosując polecenia useradd lub adduser stwórz na swojej maszynie wirtualnej konta
użytkowników dla całego roku ESI (może być po imionach albo nazwiskach).

3
Stwórz dowolne 3-4 grupy i nazwij je, a następnie dodaj do nich wybranych
użytkowników. W każdej z grup nadaj tylko jednemu użytkownikowi uprawnienia sudo.
Następnie utwórz jakiegoś dodatkowego użytkownika, a potem go usuń.

PRZYKŁAD DODAWANIA UŻYTKOWNIKÓW I GRUP:

PRZYKŁAD USUWANIA UŻYTKOWNIKÓW i GRUP:

4
3. Podstawowe polecenia BASH
Zadanie 3.
Sprawdź, czy wszyscy utworzeniu przez Ciebie użytkownicy mają swoje katalogi
domowe. Katalogi domowe użytkowników znajdują się w ścieżce /home. Przejdź zatem do
tego katalogu i wylistuj wszystkie pliki jakie się w nim znajdują.

PRZYKŁAD:

Zadanie 4.
W każdym z katalogów stwórz katalog o nazwie odpowiadającej imieniu kolegi z roku.

PRZYKŁAD:

5
Zadanie 5.
W ścieżkach /home/nazwisko/imie utwórz pliki o nazwie imie_data.

PRZYKŁAD:

Zadanie 6.
Skopiuj plik imie_data z wybranej ścieżki do ścieżki /home.

PRZYKŁAD:

Zadanie 7.
Przenieś plik ze ścieżki /home do ścieżki /home/nazwisko, a następnie go usuń.

PRZYKŁAD:

6
4. Prawa dostępu w systemie Linux

Prawa dostępu w systemie Linux określają, kto i w jaki sposób może przeglądać lub
modyfikować pliki i katalogi. Prawa te są kluczowym elementem zabezpieczeń systemu Linux.

Podstawy:

Trzy typy użytkowników:


▪ Użytkownik (u): osoba, która jest właścicielem pliku.
▪ Grupa (g): użytkownicy należący do grupy, która jest przypisana do pliku.
▪ Inni (o): wszyscy pozostali użytkownicy.

Trzy typy praw:


▪ Czytanie (r): pozwala na czytanie zawartości pliku lub przeglądanie zawartości
katalogu.
▪ Zapis (w): pozwala na modyfikację pliku lub dodawanie/usuwanie plików w katalogu.
▪ Wykonanie (x): pozwala na uruchamianie pliku jako programu lub wejście do
katalogu.

Wyświetlanie praw dostępu:


Prawa dostępu można wyświetlić za pomocą polecenia ls -l.

7
Pierwsza kolumna (-rw-r--r--) przedstawia prawa dostępu. Możemy ją podzielić na cztery
sekcje:

▪ -: Typ obiektu. - oznacza plik, d oznacza katalog.


▪ rw-: Prawa dla użytkownika (właściciela). Tutaj ma prawo do czytania i zapisu.
▪ r--: Prawa dla grupy. Tutaj ma tylko prawo do czytania.
▪ r--: Prawa dla innych. Tutaj również mają tylko prawo do czytania.

Modyfikacja praw dostępu:


Prawa dostępu można modyfikować za pomocą polecenia chmod. Istnieją dwa główne
sposoby definiowania zmian:

Notacja symboliczna:
▪ chmod u+w plik.txt - dodaje prawo zapisu dla właściciela pliku.
▪ chmod g-x plik.txt - odbiera prawo wykonywania dla grupy.
▪ chmod o=r plik.txt - ustawia prawa dla innych tylko do czytania.

Notacja liczbowa:
Prawa są reprezentowane jako liczby trzycyfrowe. Czytanie to 4, zapis to 2, a wykonanie to 1.
Sumujesz te wartości, aby uzyskać pożądaną kombinację praw:

▪ chmod 755 plik.txt - oznacza rwxr-xr-x: wszystkie prawa dla właściciela, czytanie i
wykonanie dla grupy oraz czytanie i wykonanie dla innych.

Właściciel i grupa:
Właściciela pliku oraz grupę można zmieniać za pomocą poleceń chown i chgrp.

Prawa dostępu w Linuxie są fundamentalne dla zrozumienia, jak działają zabezpieczenia na


poziomie systemu plików. Pomagają one kontrolować, kto może co robić z konkretnym plikiem
lub katalogiem.

Zadanie 8.
W katalogu /home utwórz plik o nazwie testowy.txt z uprawnieniami sudo. Przejrzyj jego prawa
dostępu i zmień je tak, aby:

8
▪ właściciel miał prawo do pisania, czytania,
▪ grupa miała prawo do czytania,
▪ inni nie mieli żadnych praw.

PRZYKŁAD:

Na podstawie dostarczonego obrazka, plik testowy.txt ma obecnie następujące prawa dostępu:


-rw-r--r--, co oznacza:

▪ Właściciel (root) ma prawo do czytania (r) i pisania (w).


▪ Grupa (root) ma prawo do czytania (r).
▪ Inni mają prawo do czytania (r).

Aby zmienić prawa dostępu zgodnie z Twoją prośbą, można użyć polecenia chmod. Konkretnie,
chcesz ustawić:

▪ Właściciel: czytanie + pisanie = rw-


▪ Grupa: tylko czytanie = r--
▪ Inni: brak praw = ---

Zgodnie z notacją liczbową, te prawa dostępu to 640:

▪ Właściciel = rw- = 4 + 2 = 6
▪ Grupa = r-- = 4
▪ Inni = --- = 0

NOTACJA LICZBOWA

NOTACJA LITEROWA

SPRAWDZENIE

9
Zadanie 9.
Stwórz plik testowy.txt w katalogu domowym użytkownika ubuntu. Odbierz prawa dostępu
swojemu użytkownikowi ubuntu do czytania i zapisywania w pliku testowy.txt za pomocą
sudo. Sprawdź czy jesteś w stanie wykonać obie operację. Możesz użyć do tego edytora testu
nano lub polecenia cat.

PRZYKŁAD:

5. ZADANIA DO SAMODZIELNEGO WYKONANIA


Pamiętaj, wykonując zadania, że niektóre komendy musisz uruchomić używając sudo.
W wykonaniu tych zadań pomóż sobie poprzez Google i ChatGPT 😊

ZADANIE A:
Zarządzanie użytkownikami:
▪ Utwórz trzech nowych użytkowników: anna, piotr oraz karol.
▪ Utwórz dwie grupy: programisci i testerzy.
▪ Dodaj annę do grupy programisci, a piotra i karola do grupy testerzy.

Operacje na plikach:
▪ W swoim katalogu domowym utwórz folder o nazwie projekt.
▪ Wewnątrz folderu projekt utwórz trzy pliki: kod.cpp, testy.py i dokumentacja.txt.
▪ Skopiuj plik dokumentacja.txt do folderu kopie (utwórz ten folder jeśli nie istnieje).
▪ Przenieś kod.cpp do nowego folderu o nazwie kod_zrodlowy wewnątrz folderu
projekt.

10
Prawa dostępu:
▪ Upewnij się, że tylko właściciel ma prawa do czytania, pisania i wykonywania dla
folderu kopie.
▪ Nadaj grupie programisci prawa do czytania i zapisu do pliku kod.cpp.
▪ Odbierz wszystkim prawo do wykonywania pliku dokumentacja.txt.

ZADANIE B:
Konfiguracja środowiska pracy dla zespołu projektowego.

Załóżmy, że jesteś administratorem systemu Linux w firmie programistycznej. Twoim


zadaniem jest przygotowanie środowiska pracy dla nowego zespołu projektowego składającego
się z pięciu programistów: anna, bartek, celina, dawid, ewa.

▪ Utwórz konta użytkowników:

Za pomocą odpowiednich poleceń, utwórz konta dla każdego członka zespołu. Ustal dla nich
tymczasowe hasła.

▪ Utworzenie grupy "projekt":

Utwórz grupę o nazwie "projekt", w której będą wszyscy członkowie zespołu.

▪ Dodaj użytkowników do grupy:

Dodaj wszystkich programistów do grupy "projekt".

▪ Przygotuj katalogi projektowe:

W katalogu /home/projekty/ utwórz katalog o nazwie "nowy_projekt".

W katalogu "nowy_projekt" utwórz podkatalogi: "kod", "dokumentacja", "testy".

▪ Ustawienia dostępu:

Ustaw prawa dostępu tak, aby tylko członkowie grupy "projekt" mieli dostęp do katalogu
"nowy_projekt" oraz jego podkatalogów. Wszyscy członkowie grupy powinni mieć prawo do
czytania i zapisu w każdym z tych katalogów. Zadbaj, by inni użytkownicy systemu nie mieli
dostępu do tych zasobów.

▪ Pierwsze pliki:

11
W katalogu "dokumentacja", używając odpowiedniego poleceń, stwórz pusty plik o nazwie
"specyfikacja.txt". Skopiuj ten plik do katalogu "testy" pod nazwą "testy_specyfikacji.txt".

▪ Przesunięcie plików:

Z katalogu "testy" przenieś plik "testy_specyfikacji.txt" do katalogu "kod" i zmień jego nazwę
na "testy_kod.txt".

▪ Podsumowanie:

Za pomocą poleceń ls i ls -la, wylistuj zawartość katalogu "nowy_projekt" i jego


podkatalogów, aby upewnić się, że wszystkie operacje zostały wykonane poprawnie.

ZADANIE C:
Rozbudowa środowiska pracy dla zespołu badawczego.

Zakładając, że jesteś administratorem systemu Linux w doświadczonym zespole badawczym,


twoim zadaniem jest rozbudowanie środowiska pracy dla tego zespołu, który składa się z pięciu
badaczy: franciszek, grazyna, helena, ignacy, jolanta.

▪ Utworzenie i konfiguracja kont użytkowników:

• Utwórz konta dla każdego nowego badacza, nadając im tymczasowe hasła.

▪ Utworzenie grupy "badanie" oraz dodatkowych grup:

• Utwórz grupę "badanie".

• Tworząc strukturę, utwórz dodatkowe grupy: "eksperyment", "analiza",


"wyniki".

• Dodaj wszystkich badaczy do grupy "badanie", a następnie przypisz każdego


badacza do jednej z dodatkowych grup w zależności od ich roli w projekcie.

▪ Przygotuj rozbudowaną strukturę katalogów:

• W katalogu /home/badanie/ utwórz główny katalog "projekt_badawczy".

• Wewnątrz "projekt_badawczy", stwórz katalogi: "dane_eksperymentalne",


"algorytmy_analizy", "wyniki_badan".

• Dla każdego katalogu, utwórz trzy podkatalogi: "początkowy", "średni",


"zaawansowany".

12
▪ Ustawienia dostępu:

• Ustaw prawa dostępu, aby tylko członkowie grupy "badanie" mieli dostęp do
głównego katalogu "projekt_badawczy".

• Dla podkatalogów "początkowy", "średni", "zaawansowany" w


"dane_eksperymentalne", ustaw różne poziomy dostępu w zależności od grupy
badacza.

▪ Operacje na plikach:

• W katalogu "dane_eksperymentalne/początkowy", używając odpowiedniego


poleceń, stwórz pusty plik o nazwie "dane_poczatkowe.txt".

• Skopiuj ten plik do "wyniki_badan/zaawansowany" pod nazwą


"analiza_danych.txt".

• Z katalogu "wyniki_badan/zaawansowany" przenieś plik


"analiza_danych.txt" do "algorytmy_analizy/średni" i zmień jego nazwę na
"algorytm_średni.txt".

▪ Podsumowanie:

• Za pomocą poleceń ls i ls -la, dokładnie analizuj i dokumentuj strukturę


katalogów oraz dostępy, aby upewnić się, że wszystko zostało skonfigurowane
poprawnie.

13

You might also like