courses:unix:lab_admin1

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.

I. Zakładanie i usuwanie kont

  1. Założyć konto przy pomocy polecenia useradd:
    1. wywołując je tylko z nazwą użytkownika,
    2. oprócz nazwy użytkownika ustawić z linii poleceń powłokę,
    3. oprócz nazwy użytkownika ustawić z linii poleceń katalog domowy,
    4. oprócz nazwy użytkownika ustawić z linii poleceń numer uid,
    5. 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ć poleceniem passwd.
  2. Sprawdzić przy pomocy useradd -D domyślne parametry konta, a następnie zmienić:
    1. domyślną powłokę,
    2. domyślny katalog domowy,
    3. domyślną grupę.
  3. Sprawdzić, czy w systemie jest polecenie adduser. Można to zrobić wywołując manual, lub sprawdzając jakie polecenie jest wywoływane jako adduser. Jeżeli jest obecne:
    1. proszę wykonać podobne operacje jak w ćwiczeniu 1.
    2. proszę wykonać podobne operacje jak w ćwiczeniu 2, edytując plik /etc/adduser.conf.
  4. Proszę założyć grupy użytkowników, np. grupy biuro praca.
  5. Dopisać użytkowników do założonych uprzednio grup:
    1. jeżeli to możliwe, przy pomocy addgroup,
    2. ręcznie, edytując plik /etc/group.
  6. Przy pomocy deluser i delgroup proszę usunąć założone konta i grupy. Czy usunięcie konta pociąga za sobą automatyczną likwidację grupy?
  7. 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/…).
  8. Należy założyć konto systemowe. Jakie powinny być hasło i powłoka?

II. Modyfikacje i blokowanie kont

  1. Przy pomocy poleceń id, groups proszę sprawdzić informacje o kilku kontach użytkowników i systemowych.
  2. Korzystając z polecenia chfn lub usermod zmodyfikować parametry wcześniej założonego konta:
    1. dane personalne użytkownika,
    2. nazwę konta.
  3. Korzystając z chsh proszę zmienić powłokę wybranego konta.
  4. Wykonać podobne modyfikacje jak w ćwiczeniu 2, ale korzystając tylko z edytora (nano/vi/…).
  5. 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?
  6. Proszę zablokować wybrane konto przy pomocy przez zmianę hasła:
    1. polecenia passwd,
    2. przy pomocy edytora (nano/vi/…).
  7. Proszę zablokować wybrane konto przez zmianę powłoki:
    1. polecenia chsh,
    2. 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:

  1. Sprawdzić przy pomocy mount na jakim dysku (urządzeniu) znajduje się główny system plików (np. /dev/sda). Uruchomić na tym urządzeniu program fdisk i jeżeli na dysku jest wolne miejsce (polecenie F w fdisk), 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 :-)
  2. 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.
  3. 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

  1. 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).
  2. 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ń?
  3. 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.
  4. Po odmontowaniu stworzonego systemu plików uruchomić polecenie fsck. Dla systemu ext2 uruchomić e2fsck z opcją -f.
  5. Podmontować założony system plików do /mnt/tmp. Wykonać polecenie cd /mnt/tmp. Spróbować odmontować system plików. Sprawdzić przy pomocy fuser jakie procesy z niego korzystają. Co jest warunkiem odmontowania systemu plików?
  6. Dla systemu ext2 proszę kilkakrotnie podmontować i odmontować system plików, obserwując licznik montowań.
  7. Utworzyć w pliku /etc/fstab wpis odpowiadający nowemu systemowi plików. Czy utworzenie tego wpisu uprości montowanie?
  8. W jaki sposób umożliwić każdemu użytkownikowi montowanie systemu plików? (Wskazówka: man fstab)
  9. Jakiej opcji należy użyć, by zapobiec automatycznemu montowaniu systemu plików w trakcie startu systemu? (Wskazówka: man fstab)
  10. Jak wymusić montowanie systemu plików w trybie tylko do odczytu? (Wskazówka: man fstab)

V. Partycje swap

  1. 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.)
  2. Stworzyć partycję swap na urządzeniu przygotowanym w części III.
  3. Sprawdzić ilość dostępnej pamięci (free). Podłączyć partycję swap. Sprawdzić ilość dostępnej pamięci (free).
  4. Czy można mieć dwie partycje swap podłączone równocześnie? Sprawdź.
  • courses/unix/lab_admin1.txt
  • Last modified: 22 months ago
  • by kkt