Nowe posty

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

xrashu

  • Gość
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: 404
    • 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

xrashu

  • Gość
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: 2765
  • 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 »
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.