Podstawy administrowania 1: użytkownicy i system plików
Przygotuj się do laboratorium
- Przeczytać strony
mandla 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 -Ddomyś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
biuropraca. - 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
deluseridelgroupproszę 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,groupsproszę sprawdzić informacje o kilku kontach użytkowników i systemowych. - Korzystając z polecenia
chfnlubusermodzmodyfikować parametry wcześniej założonego konta:- dane personalne użytkownika,
- nazwę konta.
- Korzystając z
chshproszę zmienić powłokę wybranego konta. - Wykonać podobne modyfikacje jak w ćwiczeniu 2, ale korzystając tylko z edytora (nano/vi/…).
- Wykorzystując polecenie
ls -lnmoż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
mountna jakim dysku (urządzeniu) znajduje się główny system plików (np./dev/sda). Uruchomić na tym urządzeniu programfdiski jeżeli na dysku jest wolne miejsce (polecenieFwfdisk), 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
freestopień zajętości pamięci. Sprawdzić w pliku/etc/fstabna 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
dumpe2fsi obejrzeć wyświetlane informacje. Gdzie są licznik i limit montowań? - Stworzyć katalog
/mnt/tmpi 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će2fsckz opcją-f. - Podmontować założony system plików do
/mnt/tmp. Wykonać poleceniecd /mnt/tmp. Spróbować odmontować system plików. Sprawdzić przy pomocyfuserjakie 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/fstabwpis 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/fstablub 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ź.