Nowe posty

xx Brak kursora myszy (1)
Wczoraj o 18:03:17
xx Routing pomiedzy dwoma interfejsami (1)
Wczoraj o 16:22:33
clip Jaki Linux do przywracania partycji systemowej w Android ? (13)
Wczoraj o 15:59:56
xx VmUbuntu - Sieć ta sama, ale nie widzi innych hostow. (5)
Wczoraj o 00:19:09
xx dbeaver ubuntu 18.04 (4)
2019-01-17, 22:30:48
xx Program do nauki słówek z angielskiego (8)
2019-01-17, 18:22:54
xx skrypt osoba .sh (1)
2019-01-17, 17:47:53
xx dns, nslookup (4)
2019-01-17, 15:56:25
xx Nie widać drukarki podłączonej do routera (8)
2019-01-13, 19:51:20
xx Aplikacja Rufus - Najnowsza wersja - ISO x64 z Hiren's Boot. (14)
2019-01-09, 22:22:48

Autor Wątek: Tworzenie użytkowników wczytanych z pliku  (Przeczytany 919 razy)

Offline xrashu

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
Tworzenie użytkowników wczytanych z pliku
« dnia: 2018-01-11, 15:39:30 »
Witam,

Mam jedno zadanie do wykonania, jednak w pewnym momencie się zaciąłem i nie wiem jak z tym ruszyć. Otóż potrzebuję skryptu, który będzie czytał nazwy użytkowników i ich hasła z pliku tekstowego, a następnie będzie tworzył ich konta, przypisując ich do stworzonej wcześniej grupy "studenci".


Udało mi się napisać kod. Użytkownicy zostają utworzeni, jednak gdy potem próbuje zalogować się z terminala na tych użytkowników (su nazwa / potem haslo, ktore jest zapisane w pliku) to wyskakuje mi błąd "Authentication failure". Czy ktoś wie może dlaczego?

 #!/bin/bash
 NEW_USERS="users"
 HOME_BASE="/home/Uczelnia"
 cat ${NEW_USERS} |
 while IFS=" " read USER PASSWORD; do
 useradd -G students -p ${PASSWORD} -m -d ${HOME_BASE}${USER} ${USER}
 done < ${NEW_USERS}

« Ostatnia zmiana: 2018-01-11, 16:45:01 wysłana przez xrashu »

Offline marcin'82

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 253
    • Zobacz profil
Odp: Tworzenie użytkowników wczytanych z pliku
« Odpowiedź #1 dnia: 2018-01-11, 19:34:53 »
Program useradd wymaga podania hasła w postaci zaszyfrowanej, uzyskasz je na przykład za pomocą polecenia:
openssl passwd -crypt ja1

W skrypcie możesz podać tak:
"$(openssl passwd -crypt "${PASSWORD}")"

« Ostatnia zmiana: 2018-01-11, 22:12:31 wysłana przez marcin'82 »
marcin82

Offline xrashu

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 2
    • Zobacz profil
Odp: Tworzenie użytkowników wczytanych z pliku
« Odpowiedź #2 dnia: 2018-01-12, 01:29:57 »
 
#!/bin/bash
 NEW_USERS="users"
 HOME_BASE="/home/Uczelnia"
 cat ${NEW_USERS} |
 while IFS=" " read USER PASSWORD; do
 useradd -G students -p "$(openssl passwd -crypt "${PASSWORD}")" -m -d ${HOME_BASE}${USER} ${USER}
 done < ${NEW_USERS}


czyli miałoby to tak wygladac?

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2076
  • 1709
    • Zobacz profil
Odp: Tworzenie użytkowników wczytanych z pliku
« Odpowiedź #3 dnia: 2018-01-12, 16:02:50 »
Cytuj
gdy potem próbuje zalogować się z terminala na tych użytkowników (su nazwa / potem haslo, ktore jest zapisane w pliku) to wyskakuje mi błąd "Authentication failure".
Może dlatego że używasz Ubunto podobnego systemu.
Domyślnie używa chyba się su
we wszystkich dystrybucjach linuxa oprócz ubunto-podobnych.

Przyklad dla ubuntowych.
sudo -u uzytkownik bash
« Ostatnia zmiana: 2018-01-12, 16:47:51 wysłana przez 1709 »
Pochwal się swoją kartą graficzną w tym wątku-->
http://forum.linux.pl/index.php/topic,19841.msg121122.html#msg121122