ZAGADNIENIE 1: TWORZENIE KONT W SYSTEMIE LINUX ZA POMOCĄ SKRYPTÓW
Zacznijmy od tego, że system operacyjny Linux jest systemem opartym głównie o interfejs tekstowy. Poleceniami wpisywanymi w konsoli możemy w tym systemie przestawić, ustawić wszystko.
Wyobraźmy sobie taką sytuację, że mamy na 100 komputerach utworzyć po 3 konta i dodać je do określonych grup. Wpisywanie wszystkich poleceń na każdym z komputerów zajęłoby nam bardzo dużo czasu. Aby ułatwić sobie pracę możemy napisać skrypt i wykonać go na tych 100 komputerach, co zautomatyzuje i znacznie przyśpieszy naszą pracę.
Napiszmy więc taki skrypt który stworzy nam 3 konta i umieści je w grupach zgodnie z poniższą tabelą:
Nazwa konta |
Grupa początkowa |
Grupy dodatkowe |
student1 |
student1 |
sala38,sala39 |
student2 |
student2 |
sala38,sala39 |
student3 |
sala15 |
sala38,sala39 |
Zanim zaczniemy pisać nasz skrypt, należy wspomnieć jeszcze przynajmniej o dwóch sprawach. „Pisząc skrypt dobrym nawykiem jest” w pierwszej linii umieścić taką deklarację:
#!/bin/bash → takim zapisem definiujemy powłokę, która ma wykonać nasz skrypt.
Zacznijmy pisać nasz skrypt. W tym celu „odpalmy” w swoim systemie edytor nano. Zrobimy to poleceniem: nano skrypt.sh gdzie nano oznacza edytor, a skrypt.sh plik który chcemy edytować. Jeśli jednak nie posiadamy pliku, który chcemy edytować zatytułujmy go w w/w poleceniu dowolnie. Zostanie on stworzony przy zapisie.
A więc jak wspomniałem wcześniej skrypt rozpoczynamy od deklaracji:
#!/bin/bash
Następnie możemy napisać komentarz – do czego służy nasz skrypt [w skrypcie znaczek „#” (hash – czytaj: hasz) poprzedza komentarz]:
# To jest skrypt tworzący konta użytkowników
Następnie piszemy polecenia tworzące grupy, do których będziemy później dodawać konta użytkowników. Mam tutaj na myśli grupy: sala15, sala38, sala39. Pozostałe grupy: student1, student2, student3 są grupami początkowymi i tworzone są automatycznie przy tworzeniu nowego konta użytkownika.
groupadd sala15
groupadd sala38
groupadd sala39
Kolejną grupą poleceń jaką napiszemy w naszym skrypcie będą polecenia tworzące konta użytkowników: student1, student2, student3. Do polecenia useradd dodajemy przełącznik –m w celu automatycznego stworzenia katalogów domowych użytkowników.
useradd –m student1
useradd –m student2
useradd –m student3
Ostatnią grupą poleceń jaką napiszemy w naszym skrypcie są polecenia dodające użytkowników do grup zgodnie z wcześniejszą tabelą. Tutaj należy pamiętać, iż przełącznik –g rządzi grupą początkową, zaś przełącznik –G rządzi grupami dodatkowymi, do których należy użytkownik. Modyfikując grupy dodatkowe do których należy użytkownik musimy pamiętać, że należy je wszystkie wpisać w jednym poleceniu (wpisywanie pojedynczo spowoduje, że poprzednio wpisana grupa zostanie zamieniona na ostatnio wpisaną grupę w poleceniu) i oddzielić je jedynie przecinkami.
usermod –G sala38,sala39 student1
usermod –G sala38,sala39 student2
usermod –g sala15 –G sala38,sala39 student3
Całość naszego skryptu powinna wyglądać tak:
#!/bin/bash
# To jest skrypt tworzący konta użytkowników
groupadd sala15
groupadd sala38
groupadd sala39
useradd –m student1
useradd –m student2
useradd –m student3
usermod –G sala38,sala39 student1
usermod –G sala38,sala39 student2
usermod –g sala15 –G sala38,sala39 student3
Aby zapisać teraz nasz skrypt wciskamy na klawiaturze kombinację klawiszy Ctrl+O, a następnie Ctrl+X w celu wyjścia z edytora.
Nasz skrypt zapisał się w naszym katalogu domowym (katalogu domowym aktualnie zalogowanego użytkownika). Wyświetlmy teraz prawa dostępu do naszego skryptu.
Robimy to poleceniem: ls –l → wyświetlanie w długim formacje
Jak widzimy nikt nie ma prawa do wykonania. Co zrobić w takiej sytuacji?
„Zrobić sobie lub wszystkim prawo do wykonania pliku” poleceniem
chmod 777 skrypt.sh
Aby uruchomić nasz plik nie wystarczy napisać w konsoli skrypt.sh
Musimy podać „formalny zapis” tzn.: ./skrypt.sh lub ~/skrypt.sh w każdym razie musi to być „oficjalna ścieżka” do pliku.
Jeśli zaś chcemy sprawdzić czy podane w naszym skrypcie polecenia się wykonały to wpisujemy takie polecenie:
cat /etc/passwd
W w/w pliku zobaczymy informacje o kontach. Nie ma tam jednak informacji o grupach, do których należą użytkownicy. Aby sprawdzić do jakich grup należą użytkownicy (najlepiej to robić pojedynczo dla każdego konta) wpisujemy polecenia:
groups student1
groups student2
groups student3
Takimi skryptami możemy zmodyfikować jeszcze wiele parametrów kont i nie tylko, ale o tym może następnym razem.