Sebastian Jaworecki

Pomoce edukacyjne dla uczniów i nauczycieli

ZAGADNIENIE 3: LINUX – SKRYPT TWORZĄCY KONTO Z HASŁEM

 

 

 

             Ostatnimi czasy zastanawialiśmy się z kolegami jak napisać skrypt w systemie Linux, który stworzy nam konto użytkownika z hasłem podanym wewnątrz skryptu. Wertując strony pomocy systemowej – MAN dotarliśmy do bardzo ciekawego polecenia chpasswd.

         Chpasswd jest poleceniem służącym do „wsadowej aktualizacji haseł użytkowników”. Polecenie to czyta pary danych – użytkownik i hasło ze standardowego wejścia. Odczytane informacje są wykorzystywane do aktualizacji danych w grupie istniejących użytkowników.

 

         Spróbujmy więc napisać skrypt, który stworzy nam konto użytkownika z parametrami jak w poniższej tabeli:

 

 

Nazwa użytkownika

Grupa początkowa

Grupy dodatkowe

Hasło

umba

umba

sala15,sala38

plumplum5!

 

 

 

 

Zabierzmy się więc do pracy. Na początek „odpalmy” w swoim systemie edytor nano. Wpisujemy w konsoli polecenie:
nano konto.sh

 


Teraz deklaracja powłoki, która ma wykonać nasz skrypt:
#!/bin/bash

 

 

W tym miejscu możemy napisać komentarz:
# To jest skrypt tworzący konto z hasłem

 

 

Kolejnymi liniami naszego skryptu są polecenia mające za zadanie utworzyć grupy: sala15,sala38:
groupadd sala15
groupadd sala38

 

 

Teraz stwórzmy sobie użytkownika umba. Zrobimy to poleceniem:
useradd –m umba

 

 

W tym miejscu skryptu możemy napisać polecenie, za pomocą którego dodamy naszego użytkownika do grup: sala15,sala38:
usermod –G sala15,sala38 umba

 

 

I teraz najważniejsza linia skryptu. W tym miejscu napiszemy polecenie, które przypisze hasło użytkownikowi umbaBardzo ważne jest, aby fraza ”nazwa_użytkownika:hasło” była oddzielona tylko dwukropkiem i wzięta w cudzysłów z obu stron bez żadnych spacji!
echo ”umba:plumplum5!” | chpasswd

 

 

Ktoś pyta: „Z jakiej strony w tym poleceniu jest słowo echo, przecież w poradach internetowych oraz pomocy systemowej tego słowa nie ma”.
Odpowiadam: Słówko echo jest bardzo ważne w tym poleceniu. Jego brak sprawi, że konsola potraktuje nazwę użytkownika jako polecenie i w wyniku takiego działania wykrzyczy się nam cała powłoka bash, a przecież tego nikt nie chce.

 

 

 


Całość naszego skryptu wygląda tak:
#!/bin/bash
# To jest skrypt tworzący konto z hasłem
groupadd sala15
groupadd sala38
useradd –m umba
usermod –G sala15,sala38 umba
echo ”umba:plumplum5!” | chpasswd

 

 

 


Aby zapisać nasz skrypt wciskamy kombinację klawiszy Ctrl+O, a następnie Ctrl+X w celu zamknięcia edytora.

 

 

Zapisaliśmy nasz skrypt w katalogu domowym aktualnie zalogowanego użytkownika. Wpiszmy w konsoli polecenie: ls –l w celu wyświetlenia zawartości naszego katalogu domowego w długim formacie.

 

 

Jak widać nikt nie ma prawa do wykonania naszego skryptu. Dodajmy więc wszystkim takie prawo poleceniem:
chmod 777 konto.sh

 

 

Aby uruchomić nasz skrypt podajemy „formalną” ścieżkę do pliku:
~/konto.sh

 

 


Po wykonaniu naszego skryptu możemy wyświetlić plik /etc/shadow, w którym to możemy sprawdzić czy nasz użytkownik się stworzył i czy hasło zostało przypisane. Jeśli na samym końcu zawartości tego pliku widzimy nasze konto umba i w tym samym wierszu „dziwny ciąg znaków” to znaczy, że hasło zostało przypisane, a ten dziwny ciąg znaków to nic innego jak zaszyfrowane hasło.

Czy nasz użytkownik został przypisany do odpowiednich grup sprawdzimy poleceniem:
groups umba

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

***
Przy tworzeniu artykułu pomogli
Grzesiek i Marcin

 

 

 

 

 

 

Polecam

Polecam

Polecam

REKLAMA