Forum Linux.pl
Programowanie => Bash, skrypty powłoki => Wątek zaczęty 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 !
-
* 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).
-
Zrobiłem coś takiego i nic, odpalam skrypt nic się nie dzieje.
-
https://zapodaj.net/9a916fa4679af.png.html
-
Wklejaj w formie tekstowej.
To ułatwia pomoc.
-
#!/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.
-
Załącz sobie obustronny schowek w VB.
-
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 !
-
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ść.
-
tylko, że u mnie problem w tym, że za cholerę nie wiem jak to hasło ustawić żeby ono działało
-
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ł.
-
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".