Wrocław, 20 marca 2019
SCR Sieci Komputerowe - Labolatorium Linux - zarządzanie kontami.
prowadzący: mgr inż. Radosław Idzikowski
1 Wstęp
Na początku laboratorium zajmiemy się ręcznym zarządzaniem poprzez edytowanie plików:
• passwd,
• shadow,
• group.
Pliki znajdują się w folderze etc, który jest w katalogu głównym. Po włączeniu terminala domyślą lokalizacją jest katalog domowy użytkownika. Do folderu etc można dotrzeć na różne sposoby.
Przydatne polecania:
cd .. – przejście do katalogu wyżej
cd / – przejście do katalogu głównego (root ) cd ~ – przejście do katalogu domowego (home)
Więc jeżeli chcemy prosto przejść do folderu etc, wystarczy użyć polecenia cd /etc, co oznacza przejście do katalogu etc w katalogu głównym. Należy pamiętać, aby móc zapisać zmiany w tych plikach należy je odpalić z uprawnieniami administratora. Przedrostek sudo (super user do) lub zalogować się jako root.
1.1 *Debian
W systemie Debian domyślnie nie ma polecania sudo.
su root – przełączenie na super użytkownika apt-get install sudo – zainstalowanie sudo
adduser username sudo – dodanie użytkowania username do grupy sudo
1.2 Passwd
Plik może otworzyć każdy użytkownik, edytować tylko administrator.
username:password:UID:GID:description:home:shell username – nazwa użytkownika
password – jeśli x to hasło zakodowane w plikushadow, puste brak hasła UID – identyfikator użytkownika
GID – identyfikator grupy description – Informacje o użytkowniku
home – katalog domowy
shell – domyślna powłoka
student:x:1001:1002::/home/student:/bin/bash
Katalog domowy zaleca się utworzyć wcześniej przy użyciu polecenia mkdir. Po utworzeniu użytkow- nika należy zmienić właściciela katalogu chown -R username katalog oraz prawa dostępu chmod*
*chmod szczegółowo opisane w dalszej części instrukcji
1
1.3 Shadow
Plik może edytować i otwierać jedynie administrator.
username:password:lastchanged:min:max:warn:inactive:expire:reserved username – nazwa użytkownika
password – zaszyfrowane hasło
lastchanged – ostatnia zmiana hasła (liczba dni od 1 stycznia 1970 r.) min – minimalna liczba dni po których można zmienić hasło max – maksymalna liczba dni po których można zmienić hasło
warn – liczba dni, kiedy użytkownik dostanie ostrzeżenie o wygaśnięciu hasła inactive – liczba dni, kiedy konto jest blokowane po wygaśnięciu hasła
expire – termin ważności konta (liczba dni od 1 stycznia 1970 r.) reserved – pole zarezerwowane, kiedyś używane w systemach Solaris student:$6$DjksLSksf2:17974:0:99999:7:::
1.4 Group
grupname:password:GID:meberslist groupname – nazwa grupy
password – zaszyfrowane hasło, zazwyczaj brak GID – idenfyfikator grupy
meberslist – lista członków obdzielona przecinkami studenci::1002:abacki,babacki,cabacki
2 Polecenia
Do dodawania nowych użytkowników służy polecenie useradd [options] username.
-d – ustawienie katalogu domowego (home) -e – ustawienie daty ważności konta
-f – ustawienie liczby dni do zablokowania konta po wygaśnięcia hasła -g – ustawienie grupy początkowej
-G – wybranie pozostałych grup
-m – jeśli katalog domowy nie istnieje to go utworzy -s – ustawienie domyślnej powłoki
-u – nadanie identyfikatora użytkowania
-p – ustawienie hasła(UWAGA! w podstacji zakodowanej, np.: poleceniem crypt) username – nazwa użytkownika
Poleceniem chmod [options] file nadajemy odpowienie prawa dostępu do polku/katalogu.
prawa dostępu wartość opis właściciel grupy inni
-rw- — — 600 prawa do odczytu i zapisu tylko dla właściciela pliku
-rw- r– r– 644 prawa odczytu i zapisu dla właściciela oraz odczytu dla wszystkich pozostałych użytkowników.
-rw- rw- rw- 666 prawa odczytu i zapisu dla wszystkich użytkowników.
-rwx — — 700 wszystkie prawa (odczyt, zapis, uruchomienie) tylko dla właściciela pliku.
-rwx r-x r-x 755 prawa do odczytu, zapisu i uruchomienia dla właściciela pliku oraz odczytu i uru- chomienia dla wszystkich innych użytkowników
-rwx rwx rwx 777 wszystkie prawa dla wszystkich użytkowników (ustawienie niebezpieczne) -rwx –x –x 711 prawa odczytu zapisu i uruchomienia dla właściciela pliku oraz prawo uruchomie-
nia dla pozostałych użytkowników.
chmod 600 file.txt. Proszę pamiętać, że katalogi muszą mieć zawsze prawo do wykonywania.
2
3 Zadanie
3.1 Nowe konto
1. Stwórz katalog student w katalogu /home.
2. W pliku group stwórz grupę studenci bez hasła, z unikatowym identyfikatorem, bez członków.
3. Zmień właściciela katalogu poleceniem chown -R username katalog.
4. W pliku passwd stwórz użytkownika student bez hasła, z unikatowym identyfikatorem, nale- żącego do grupy studenci, katalogiem domowym /home/student i powłoką /bin/bash.
5. Dodaj hasło poleceniem passwd username. Proponowane hasło student. Polecenie poprosi o powtórzenie hasła.
6. Z pliku passwd wytnij zaszyfrowane hasło i w jego miejsce wstaw x, następnie utwórz odpo- wiedni wiersz w pliku shadow. Koniecznie uzupełnij termin ważności konta! Bez tego nowe konto będzie zablokowane.
7. Poleceniem su username można się zalogować na inne konto w terminalu, następnie poleca- niem exit wylogować.
Do większości poleceń wymagane są prawa administratora.
3.2 Grupy kont
Na podstawie listy stwórz odpowiednie konta.
nr imie nazwisko grupa
101 Jan Abacki teacher
102 Agnieszka Babacka teacher 2345 Emil Dabacki student
2346 Ewa Ebacka student
2347 Dawid Facki student 2348 Joanna Gawacka student
Każdy student musi mieć swój folder do którego będzie miał pełny dostęp. Nauczyciele mogą prze- glądać i włączać programy w folderach studentów ale bez możliwości edycji (W celu sprawdzenia każdy student musi mieć prosty skrypt do odpalenia). Każdy nauczyciel ma mieć swój folder, w którym będzie miał swoje prywatne notatki. Dodatkowo nauczyciele mają mieć wspólny folder do umieszczania tam materiałów dla studentów (studenci tylko z możliwością odczytu).
W celu uzyskania wyższej oceny tworzenie kont powinno być zrobione przy użyciu skryptu w Bash’u.
• login = pierwsza litera imienia + nazwisko,
• 1 skrypt,
• grupa/rola też jako parametr,
• nr jako hasło,
• wymuszenie zmiany hasła u nauczycieli po zalogowaniu.
Podpowiedź: sudo useradd -p $(perl -e’print crypt("student", "key")’) student
opracował: Radosław Idzikowski
3