Administrowanie kontami użytkowników i systemami plików

Prezes do asystenta:
Panie Grzesiu, proszę przegrać naszym partnerom wyniki za kwiecień, oni zaraz podejdą.
- Dzień dobry, czy to Panom mam przegrać wyniki miesięczne?
- Dzień dobry, tak, gdyby był Pan uprzejmy, tu mamy czystą dyskietkę.
- Ależ oczywiście…
Wkłada dyskietkę do napędu i…
# mkfs -t vfat -c /dev/fd0h1440
# mount -t vfat -o iocharset=iso8859-2,codepage=852 /dev/fd0 /mnt/floppy
# find / -noleaf -type f -name Wyniki_Kwiecień.[a-zA-Z] -exec cp ‘{ }’ /mnt/floppy \;
# ls -la /mnt/floppy/Wyniki_Kwiecień.[a-z][A-Z] && sync && sleep 3
wyciąga dyskietkę i podaje.
Partnerzy zadziwieni patrzą na monitor, na siebie:
- Ojej!
Asystent:
- O przepraszam, znowu zapomniałem odmontować.

DO_PRZYGOTOWANIA

Samodzielnie należy przed tym laboratorium przygotować:

  • przeczytać strony man odpowiednich plików i poleceń z części WPROWADZENIE oraz slajdy wykładu dot. administracji (Podstawy zarządzania systemem).
  • powtórzyć pracę z vi!

WPROWADZENIE

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 konta: Bez narzędzi można administrować kontami poprzez modyfikowanie w.w. plików przez dowolny edytor tekstu, a najlepiej vipw i vigr.

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
  • -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 polecnie 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.

Korzystanie z dyskietek

  • obsługa dyskietek powinna być wkompilowana w jądro,
  • narzędzia fdutils umożliwiają korzystanie ze stacji dysków (wymaga montowania dyskietki),
  • pakiet MTools zapewnia dostęp do dyskietek msdos/vfat (nie wymaga montowania dyskietki), (polecenia typu mdir a:)
  • narzędzie superformat poszerza możliwości formatowania dyskietek.

UserModeLinux

UML jest to proste lecz bardzo skuteczne rozwiązanie wirtualizatora, gdzie jądro linux pracuje jako proces w środowisku GNU/Linux.

Przed rozpoczęciem ćwieczeń, należy zapoznać się z opisem uzycia uml!!!

ĆWICZENIA

1 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ć poleceniam 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 polecnie adduser. Można to zrobić wywołując manual, lub sprawdzając jakie polecnie jest wywoływane jako adduser. W systemie Redhat adduser jest najczęściej tylko linkiem symbolicznym do useradd.
  4. Jeżeli w systemie jest obecne polecenie adduser proszę wykonać podobne operacje jak w ćwiczeniu 1.
  5. Jeżeli w systemie jest obecne polecenie adduser proszę wykonać podobne operacje jak w ćwiczeniu 2, edytując plik /etc/adduser.conf.
  6. Proszę założyć grupy użytkowników, np. grupy biuro praca.
  7. ^_^ Dopisać do założonych uprzednio grup użytkowników:
    1. jeżeli to możliwe, przy pomocy addgroup,
    2. ręcznie, edytując plik /etc/group.
  8. Przy pomocy deluser i delgroup proszę usunąć założone konta i grupy. Czy usunięcie konta pociąga za sobą automatyczną likwidację grupy?
  9. 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 vi).
  10. ^_^ Należy założyć konto systemowe. Jakie powinny być hasło i powłoka?

2 Modyfikacje i blokowanie kont

  1. Przy pomocy poleceń id groups proszę spradzić 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 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 vi.
  7. ^_^ Proszę zablokować wybrane konto przez zmianę powłoki:
    1. polecenia chsh,
    2. przy pomocy vi.

3 Zakładanie partycji

Uwaga: w UML nie zawsze jest możliwe pełne zrealizowanie ćwiczenia, w związku z tym:

  • w trakcie startu UML są tworzone dwa urządzenia /dev/loop0, /dev/loop1
  • na nich należy zakładać systemy plików, podmontowywać, etc.
  1. Sprawdzić przy pomocy mount na jakim dysku (urządzeniu) znajduje się główny system plików (np. /dev/hda).
  2. Stworzyć przy pomocy dd średniej wielkości plik (np. 16MB) login.swap, gdzie login jest nazwą konta na którym sie pracuje, wypełniony zerami (plik będzie wykorzystywany do zakładania systemów plików):
dd if=/dev/zero of=/host/gjn.swap bs=1M count=16

Udostępnić go przez jedno z urządzeń /dev/loop (o wyższym numerze).

    losetup /dev/loop3 /host/gjn.swap

Uwaga: Poniżej wersja ćwiczenia dla stanowiska lokalnego (bez UML). Jeżeli mamy UML to pomijamy kolejne trzy punkty.

W zależności od możliwości sprzętowych stanowiska proszę przećwiczyć 3 metody tworzenia wolnej partycji:

  1. Sprawdzić przy pomocy mount na jakim dysku (urządzeniu) znajduje się główny system plików (np. /dev/hda). Uruchomić na tym urządzeniu program fdisk i jeżeli na dysku jest wolne miejsce, założyć nową partycję. W niektórych przypadkach zalecane jest zrestartowanie maszyny w celu uaktualnienia tablicy partycji.
  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. Partycja swap będzie wykorzystywana do tworzenia systemów plików.
  3. Stworzyć przy pomocy dd średniej wielkości plik (np. 16MB) wypełniony zerami. Udostępnić go przez jedno z urządzeń /dev/loop. Plik będzie wykorzystywany do zakładania systemów plików.

4 Zakładanie systemów plików

  1. Na utworzonym w części wcześniejszej urządzeniu (np. odpowiednim loop) (lub partycji) 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 oglądnąć 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)

5 Partycje swap

  1. 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.
  2. ^_^ Stworzyć partycję swap na urządzeniu na którym normalnie się ona znajduje lub na innej partycji utworzonej w części 3.
  3. Sprawdzić ilość dostępnej pamięci (free). Podłączyć partycję swap. Sprawdzić ilość dostępnej pamięci (free).
pl/dydaktyka/unix/lab_administrowanie_1.txt · ostatnio zmienione: 2017/12/10 17:08 przez kkluza
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0