Istniejące konto użytkownika jest modyfikowane poleceniem net user. Aby wymusić zmianę hasła po ponownym zalogowaniu użytkownika, należy dodać do polecenia parametr
A. passwordreq
B. passwordchg
C. expirespassword
D. logonpasswordchg
Pytanie z egzaminu CKE, czerwiec 2020 (arkusz EE.08-SG-20.06).
Parametr /logonpasswordchg:yes jest właściwy, bo właśnie on ustawia obowiązek zmiany hasła przy następnym logowaniu użytkownika. W praktyce polecenie może wyglądać np. tak: net user jan /logonpasswordchg:yes. Po takim ustawieniu konto nadal istnieje i użytkownik może się zalogować, ale system Windows wymusi podanie nowego hasła zanim dopuści go normalnie do pracy. To jest bardzo typowa czynność administracyjna, np. gdy administrator resetuje komuś hasło tymczasowe, tworzy konto dla nowego pracownika albo podejrzewa, że hasło mogło zostać poznane przez inną osobę. Moim zdaniem to jedna z tych opcji, które warto znać na pamięć, bo często pojawia się w realnej administracji Windows. Dobra praktyka jest taka, żeby nie zostawiać użytkownikowi hasła ustawionego przez administratora na stałe. Hasło powinno spełniać zasady z polityki bezpieczeństwa: odpowiednia długość, złożoność, brak oczywistych słów i najlepiej brak ponownego użycia starych haseł. W środowisku domenowym podobne ustawienia często robi się przez Active Directory Users and Computers albo PowerShell, ale sama idea jest ta sama: użytkownik ma sam ustawić własne hasło przy pierwszym lub następnym logowaniu.
W tym pytaniu łatwo pomylić kilka parametrów, bo ich nazwy brzmią podobnie i wszystkie dotyczą haseł, ale robią zupełnie inne rzeczy. Parametr passwordreq odnosi się do tego, czy konto musi mieć hasło. To nie jest mechanizm wymuszania zmiany hasła po zalogowaniu, tylko ustawienie wymagania hasła dla konta. Z punktu widzenia bezpieczeństwa wyłączenie takiego wymagania byłoby bardzo słabym pomysłem, szczególnie na komputerze używanym w firmie albo w pracowni. Parametr passwordchg dotyczy możliwości zmiany hasła przez użytkownika. Jeśli ustawimy, że użytkownik nie może zmieniać hasła, to efekt będzie wręcz odwrotny do oczekiwanego, bo użytkownik nie będzie miał uprawnienia do samodzielnej zmiany. Częsty błąd myślowy polega tu na tym, że ktoś widzi słowo change i od razu kojarzy je z wymuszeniem zmiany, ale w poleceniu net user znaczenie jest bardziej konkretne: chodzi o pozwolenie lub zakaz zmiany hasła. Nazwa expirespassword też może sugerować wygasanie hasła, ale nie jest właściwym parametrem polecenia net user do wymuszenia zmiany przy następnym logowaniu. W Windows istnieją ustawienia związane z wygasaniem konta, np. /expires, oraz polityki haseł konfigurowane w zasadach zabezpieczeń, ale to nadal nie jest to samo, co jednorazowe polecenie użytkownik ma zmienić hasło przy logowaniu. Poprawnym podejściem jest użycie /logonpasswordchg:yes, bo ono dokładnie wiąże akcję zmiany hasła z procesem logowania użytkownika.