Podstawy administrowania 1: użytkownicy i system plików
Przygotuj się do laboratorium
- Przeczytać strony
man
dla plików i poleceń z części Wiedza. - Uzyskaj dostęp do maszyny wirtualnej na której będziesz realizować zadania. Szczegóły/wymagania znajdują się tutaj.
Wiedza
1. Konta użytkowników
Większość istotnych informacji o użytkownikach jest przechowywana w poniższych plikach:
/etc/passwd
- podstawowe informacje o kontach użytkowników (ew. zaszyfrowane hasło),/etc/group
- podstawowe informacje o grupach użytkowników,/etc/shadow
- rozszerzone informacje o kontach użytkowników (np. daty ważności) i zaszyfrowane hasło (w systemie shadow),/etc/gshadow
- rozszerzone informacje o grupach użytkowników (w systemie shadow).
Narzędzia do modyfikowania kont. Podstawowe metody zakładania kont użytkowników:
- z wykorzystaniem adduser,
- z wykorzystaniem useradd,
- przy pomocy edytora.
Informacje o koncie można uzyskać przy pomocy poleceń takich jak id, groups.
Raz założone konto można modyfikować na wiele sposobów:
- polecenie chfn zmienia informacje GECOS (imię, nazwisko, itp.) o użytkowniku,
- polecenie chsh zmienia powłokę,
- narzędzie usermod modyfikuje dowolne parametry konta,
- narzędzie groupmod j.w. dla grupy,
- instrukcja passwd zakłada nowe hasło, a w systemie shadow passwords zmienia daty ważności konta.
Usuwanie kont i grup:
- konto użytkownika można usunąć przy pomocy polecenia userdel,
- powyższe polecenie z opcją -r usuwa katalog domowy użytkownika,
- polecenie groupdel usuwa grupy użytkowników,
- przy pomocy polecenia instrukcji find można odnaleźć i usunąć pliki których właścicielem jest podany użytkownik lub grupa.
Istnieje kilka metod blokowania dostępu do konta:
- poleceniem passwd z opcją -l,
- przez ręczną modyfikację hasła w pliku passwd/shadow,
- poprzez zmianę powłoki użytkownika na program nie dopuszczający logowania.
Trzeba pamiętać, iż powyższe metody nie są skuteczne w przypadku sieciowych metod autoryzacji nie korzystających z haseł, np. rhosts.
Ręczne modyfikowanie użytkowników i grup: można to robić poprzez bezpośrednie zmiany w.w. plików w dowolnym edytorze, ale najlepiej skorzystać z vipw i vigr.
2. Zarządzanie systemami plików
Zarządzanie systemami plików to między innym:
- zakładanie partycji na dyskach fizycznych,
- tworzenie systemów plików,
- montowanie (podłączanie),
- odmontowywanie (odłączanie),
- sprawdzanie,
- utrzymywanie wolnego miejsca.
Na istniejącym urządzeniu specjalnym (np. dysku) można założyć nowy system plików przy pomocy polecenia mkfs. Użycie:
mkfs -t typ [-c] urzadzenie
gdzie:
-t typ
- typ systemu plików, np. ext2,-c
- sprawdzenie, czy na urządzeniu nie ma uszkodzonych bloków (ang. bad blocks) - parametr opcjonalny,urzadzenie
- urządzenie (np. partycja dysku) na której zakładany jest system plików.
Montowanie:
- aby skorzystać z systemu plików, trzeba go zamontować,
- nowy system jest dostępny w podanym katalogu,
- dostęp do systemu plików może być regulowany przy pomocy opcji polecenia mount,
- w ogólnym przypadku, tylko administrator może montować systemy plików,
- polecenie wywołane bez opcji wyświetla podmontowane systemy plików.
Składnia mount:
mount -t typ urządzenie punkt_montowania -o opcje
typ
- typ systemu plików,urzadzenie
- urządzenie na którym znajduje się system plików,punkt_montowania
- katalog w którym udostępniany jest nowy system plików,-o opcje
- różne opcje dodatkowe, np.ro,rw,remount
; zależą również od typu systemu plików.
Odmontowywanie:
- do odmontowywania służy polecenie umount,
- odmontowanie jest możliwe tylko wtedy, gdy żaden proces nie korzysta z plików na odmontowywanym systemie plików,
- przy odmontowaniu wystarczy podać punkt montowania lub urządzenie.
Sprawdzanie:
- do sprawdzania systemów plików służy polecenie fsck,
- fsck wywołuje specjalne wersje narzędzi dla konkretnego systemu plików (np. e2fsck),
- e2fsck można również wywoływać bezpośrednio,
- systemy plików są systematycznie sprawdzane w trakcie startu systemu.
Partycje swap:
- te partycje są używane jako pamięć wirtualna systemu,
- umożliwiają maksymalne zwiększenie ilości dostępnej pamięci,
- zakłada się je poleceniem: mkswap,
- włącza (montuje) przez: swapon,
- wyłącza (odmontowuje) przez: swapoff,
- możliwe jest również korzystanie z plików swap.
Ćwiczenia
I. Zakładanie i usuwanie kont
- Założyć konto przy pomocy polecenia
useradd
:- wywołując je tylko z nazwą użytkownika,
- oprócz nazwy użytkownika ustawić z linii poleceń powłokę,
- oprócz nazwy użytkownika ustawić z linii poleceń katalog domowy,
- oprócz nazwy użytkownika ustawić z linii poleceń numer uid,
- oprócz nazwy użytkownika ustawić z linii poleceń grupę użytkownika.
Czy padło pytanie o hasło? Jeżeli nie, należy je ustawić poleceniempasswd
.
- Sprawdzić przy pomocy
useradd -D
domyślne parametry konta, a następnie zmienić:- domyślną powłokę,
- domyślny katalog domowy,
- domyślną grupę.
- Sprawdzić, czy w systemie jest polecenie
adduser
. Można to zrobić wywołując manual, lub sprawdzając jakie polecenie jest wywoływane jakoadduser
. Jeżeli jest obecne:- proszę wykonać podobne operacje jak w ćwiczeniu 1.
- proszę wykonać podobne operacje jak w ćwiczeniu 2, edytując plik
/etc/adduser.conf
.
- Proszę założyć grupy użytkowników, np. grupy
biuro
praca
. - Dopisać użytkowników do założonych uprzednio grup:
- jeżeli to możliwe, przy pomocy
addgroup
, - ręcznie, edytując plik
/etc/group
.
- Przy pomocy
deluser
idelgroup
proszę usunąć założone konta i grupy. Czy usunięcie konta pociąga za sobą automatyczną likwidację grupy? - Proszę założyć ręcznie podobne konta i grupy, według omówionych wcześniej zasad. Sprawdzić czy konta funkcjonują poprawnie. (Wskazówka: jedyne potrzebne narzędzie to edytor tekstowy: nano/vi/…).
- Należy założyć konto systemowe. Jakie powinny być hasło i powłoka?
II. Modyfikacje i blokowanie kont
- Przy pomocy poleceń
id
,groups
proszę sprawdzić informacje o kilku kontach użytkowników i systemowych. - Korzystając z polecenia
chfn
lubusermod
zmodyfikować parametry wcześniej założonego konta:- dane personalne użytkownika,
- nazwę konta.
- Korzystając z
chsh
proszę zmienić powłokę wybranego konta. - Wykonać podobne modyfikacje jak w ćwiczeniu 2, ale korzystając tylko z edytora (nano/vi/…).
- Wykorzystując polecenie
ls -ln
można zobaczyć numeryczne wartości właścicieli plików. Przed zmianą nazwy konta proszę oglądnąć te wartości. Operację należy powtórzyć po zmianie nazwy grupy lub konta i porównać te wartości. Czy zmiana nazwy konto lub grupy pociąga za sobą zmianę uid i gid? - Proszę zablokować wybrane konto przy pomocy przez zmianę hasła:
- polecenia
passwd
, - przy pomocy edytora (nano/vi/…).
- Proszę zablokować wybrane konto przez zmianę powłoki:
- polecenia
chsh
, - przy pomocy edytora (nano/vi/…).
III. Zakładanie partycji
Nowe partycje można utworzyć na trzy sposoby - w zależności od możliwości sprzętowych stanowiska proszę przetestować każdą z nich:
- Sprawdzić przy pomocy
mount
na jakim dysku (urządzeniu) znajduje się główny system plików (np./dev/sda
). Uruchomić na tym urządzeniu programfdisk
i jeżeli na dysku jest wolne miejsce (polecenieF
wfdisk
), założyć nową partycję. W niektórych przypadkach zalecane jest zrestartowanie maszyny w celu uaktualnienia tablicy partycji.- Uwaga: w przypadku pracy w VirtualBox, na obrazie Ubuntu pobranym z OSBoxes, dysk ma już zajętą całą przestrzeń - nie da się utworzyć nowych partycji (bez kasowania / zmniejszania starych), ale możesz to wykorzystać do obejrzenia jakie partycje są dostępne w systemie i gdzie są podmontowane
- Sprawdzić przy pomocy
free
stopień zajętości pamięci. Sprawdzić w pliku/etc/fstab
na jakim urządzeniu znajduje się partycja swap. Jeżeli większość pamięci swap jest wolna, odłączyć partycję swap. Dalsze ćwiczenia (z tworzeniem systemów plików) będzie można wykonywać na tak odłączonej partycji swap. - Stworzyć przy pomocy
dd
średniej wielkości plik (np. 16MB) wypełniony zerami:dd if=/dev/zero of=/root/my.swap bs=1M count=16
Udostępnić go przez jedno z urządzeń
/dev/loop
:losetup /dev/loop4 /root/my.swap
Plik będzie wykorzystywany do zakładania systemów plików w kolejnych zadaniach.
IV. Zakładanie systemów plików
- Na przygotowanym w części wcześniejszej urządzeniu (osobnej partycji / odłączonej partycji swap / urządzeniu loop) założyć przy pomocy
mkfs
:- system plików ext2,
- system plików minix (o ile to możliwe),
- system plików msdos (o ile to możliwe).
- Jeżeli w punkcie 1. założono system ext2 proszę uruchomić na nim
dumpe2fs
i obejrzeć wyświetlane informacje. Gdzie są licznik i limit montowań? - Stworzyć katalog
/mnt/tmp
i podmontować do niego stworzony w ćwiczeniu 1. system plików. Uruchomićdf
. Sprawdzić, czy można korzystać z nowego systemu plików, zakładając w nim plik. - Po odmontowaniu stworzonego systemu plików uruchomić polecenie
fsck
. Dla systemu ext2 uruchomiće2fsck
z opcją-f
. - Podmontować założony system plików do
/mnt/tmp
. Wykonać poleceniecd /mnt/tmp
. Spróbować odmontować system plików. Sprawdzić przy pomocyfuser
jakie procesy z niego korzystają. Co jest warunkiem odmontowania systemu plików? - Dla systemu ext2 proszę kilkakrotnie podmontować i odmontować system plików, obserwując licznik montowań.
- Utworzyć w pliku
/etc/fstab
wpis odpowiadający nowemu systemowi plików. Czy utworzenie tego wpisu uprości montowanie? - W jaki sposób umożliwić każdemu użytkownikowi montowanie systemu plików? (Wskazówka:
man fstab
) - Jakiej opcji należy użyć, by zapobiec automatycznemu montowaniu systemu plików w trakcie startu systemu? (Wskazówka:
man fstab
) - Jak wymusić montowanie systemu plików w trybie tylko do odczytu? (Wskazówka:
man fstab
)
V. Partycje swap
- Sprawdzić na jakim urządzeniu znajduje się partycja swap (w pliku
/etc/fstab
lub za pomocąfdisk -l
). Jeżeli większość pamięci swap jest wolna, odłączyć partycję swap (o ile nie zostało to zrobione wcześniej w części III.) - Stworzyć partycję swap na urządzeniu przygotowanym w części III.
- Sprawdzić ilość dostępnej pamięci (
free
). Podłączyć partycję swap. Sprawdzić ilość dostępnej pamięci (free
). - Czy można mieć dwie partycje swap podłączone równocześnie? Sprawdź.