Forum Linux.pl

Programowanie => Bash, skrypty powłoki => Wątek zaczęty przez: Rockard w 2021-05-28, 12:26:53

Tytuł: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-28, 12:26:53
Witam, czy moglibyście mi pomóc napisać taki skrypt ? :
Utwórz skrypt powłoki Bash, w którym tworzysz konto użytkownika newUser z hasłem N3wu5eR.
Ustaw ważność konta na 31.12.2021. Utwórz grupę uyżytkowników nowiUzytkownicy.
Dodaj użytkownika newUser do tej grupy. W katalogu domowym użytkownika newUser utwórz plik o nazwie
'witamy.txt' zawierający komunikat: "WItamy w firmie!".

Prosiłbym od razu o wytłumaczenie wszystkiego jak najprościej się da. Z góry dzięki !
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Paweł Kraszewski w 2021-05-28, 13:57:09
* Polecenia useradd/usermod/groupadd/groupmod (https://www.linuxfordevices.com/tutorials/linux-user-administration)
* Polecenie echo (https://linux.die.net/man/1/echo) z przekierowaniem (https://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html).
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-30, 00:00:05
Zrobiłem coś takiego i nic, odpalam skrypt nic się nie dzieje.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-30, 00:01:37
https://zapodaj.net/9a916fa4679af.png.html
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: baker w 2021-05-30, 09:55:32
Wklejaj w formie tekstowej.
To ułatwia pomoc.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-30, 12:16:47
#!/bin/bash
useradd newuser
sudo passwd newuser
N3wu5eR
sudo chage -E 2021-12-31 newuser
groupadd nowiuzytkownicy
usermod -g nowiuzytkownicy newuser
echo "Witamy w firmie!" > witamy.txt

Ciężko mi jest skopiować to, bo linuxa mam w virtualboxie.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: baker w 2021-05-30, 12:51:01
Załącz sobie obustronny schowek w VB.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-30, 14:01:26
mam teraz takie cos:
#!/bin/bash
sudo useradd newuser
echo newuser:N3wu5eR | chpasswd
sudo chage -E 2021-12-31 newuser
sudo groupadd nowiuzytkownicy
sudo usermod -G nowiuzytkownicy newuser

nie chce mi wejść hasło, podobno to musi być jakieś cryptowane hasło żeby to w ogóle zadziałało ale po prostu nie mogę zalogować się do użytkownika, próbowałem chyba wszystkiego, proszę o pomoc !
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: baker w 2021-05-30, 14:55:17
Podziel sobie to zadanie na etapy, czyli zacznij od stworzenia skryptu, który tworzy konto użytkownika newUser z hasłem N3wu5eR.
Jak to opanujesz to przejdź do kolejnego etapu, który rozbuduje skrypt o kolejną funkcjonalność.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Rockard w 2021-05-30, 15:17:37
tylko, że u mnie problem w tym, że za cholerę nie wiem jak to hasło ustawić żeby ono działało
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: baker w 2021-05-30, 15:43:17
Zajrzyj do podręcznika, wyszukiwarki.
W końcu nauczyciel nie zadał czegoś o czym by wcześniej nie wspominał/wyjaśniał jak coś robić.
A jak nie wspominał to spytaj go jak masz napisać ten skrypt skoro opiera się na czymś o czym nie nauczał.
Tytuł: Odp: Pomoc w napisaniu skryptu
Wiadomość wysłana przez: Paweł Kraszewski w 2021-05-31, 13:34:19
Podpowiedź:

wersja z chpasswd jest prawie poprawna. Problem prawdopodobnie wynika z nieustawionej zmiennej ENCRYPT_METHOD w pliku /etc/login.defs. Możesz to obejść ręcznie podając algorytm hashowania jako parametr, przez wywołanie w postaci chpasswd -c SHA512.

Dodatkowo ta linijka wymaga także sudo (w końcu to przebitka hasła bez weryfikacji starego), tylko dobrze zastanów się, czy po lewej, czy po prawej stronie znaku |.

Na szybko możesz sprawdzić czy chpasswd "poszedł" robiąc sudo grep newuser /etc/shadow . Jak linijka zaczyna się od newuser:!: to nie poszło, jak po dwukropku jest "krzak" to poszło.

Pomagam, bo wykazałeś się wystarczającą własną inwencją i utknąłeś na nie udokumentowanym działaniu - powinno ono zwrócić błąd z wyjaśnieniem, a kończy się "po cichu".