How to add user from terminal but, the new user should set password when they log in for the first time?

Solution 1:

You can create a normal user with the useradd command. After you added the user, you should be able to let the password expire with: passwd --expire USERNAME.

Now the user has to change the password on the next login.