|
|
pl:dydaktyka:unix:lab_administrowanie_1 [2017/07/17 10:08] 127.0.0.1 edycja zewnętrzna |
pl:dydaktyka:unix:lab_administrowanie_1 [2019/06/27 15:50] |
====== 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 ==== | |
| |
[[http://user-mode-linux.sourceforge.net/|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 [[opis_uml|opisem uzycia uml]]!!! | |
| |
===== ĆWICZENIA ===== | |
| |
| |
==== - 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ć poleceniam passwd. | |
- ^_^ 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 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. | |
- Jeżeli w systemie jest obecne polecenie adduser proszę wykonać podobne operacje jak w ćwiczeniu 1. | |
- Jeżeli w systemie jest obecne polecenie adduser 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ć do założonych uprzednio grup użytkowników: | |
- jeżeli to możliwe, przy pomocy addgroup, | |
- ręcznie, edytując plik /etc/group. | |
- Przy pomocy deluser i delgroup 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 vi). | |
- ^_^ Należy założyć konto systemowe. Jakie powinny być hasło i powłoka? | |
| |
==== - Modyfikacje i blokowanie kont ==== | |
| |
- Przy pomocy poleceń id groups proszę spradzić informacje o kilku kontach użytkowników i systemowych. | |
- Korzystając z polecenia chfn lub usermod 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 vi. | |
- Wykorzystując polecenie ls -ln można zobaczyć numeryczne wartości właścicieli plików. Przed zmianą nazwy konta proszę oglądnąc te wartości, np.: ls -ln [IMAGE png]konto. 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 vi. | |
- ^_^ Proszę zablokować wybrane konto przez zmianę powłoki: | |
- polecenia chsh, | |
- przy pomocy vi. | |
| |
| |
| |
| |
==== - 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. | |
| |
- Sprawdzić przy pomocy mount na jakim dysku (urządzeniu) znajduje się główny system plików (np. /dev/hda). | |
- 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: | |
| |
- 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. | |
- 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. | |
- 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. | |
| |
| |
| |
==== - Zakładanie systemów plików ==== | |
| |
- 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). | |
- 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ń? | |
- ^_^ 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ć 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? | |
- 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'') | |
| |
==== - Partycje swap ==== | |
| |
- 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. | |
- ^_^ Stworzyć partycję swap na urządzeniu na którym normalnie się ona znajduje lub na innej partycji utworzonej w części 3. | |
- Sprawdzić ilość dostępnej pamięci (free). Podłączyć partycję swap. Sprawdzić ilość dostępnej pamięci (free). | |
| |
| |
| |