Make a one linear-command that automates this Redhat Exercise:

```
Lab: Manage Local Users and Groups
Set a default local password policy, create a supplementary group for three users, allow that group to use sudo to run commands as root, and modify the password policy for one user.

Outcomes


Set a default password aging policy of the local user's password.

Create and use a supplementary group for new users.

Create three new users with the new supplementary group.

Set an initial password for the created users.

Configure the supplementary group members to use the sudo command to run any command as any user.

Set a user-specific password aging policy.


As the student user on the workstation machine, use the lab command to prepare your system for this exercise.

This command prepares your environment and ensures that all required resources are available.

[student@workstation ~]$ lab start users-review
Instructions

From the workstation machine, open an SSH session to the serverb machine as the student user and switch to the root user.

[student@workstation ~]$ ssh student@serverb
...output omitted...
[student@serverb ~]$ sudo -i
[sudo] password for student: student
[root@serverb ~]#
On the serverb machine, ensure that newly created users must change their passwords every 30 days.

Set PASS_MAX_DAYS to 30 in the /etc/login.defs file. Use administrative rights when opening the file with the text editor. You can use the vim /etc/login.defs command for this step.

...output omitted...
# Password aging controls:
#
#       PASS_MAX_DAYS   Maximum number of days a password may be
#       used.
#       PASS_MIN_DAYS   Minimum number of days allowed between
#       password changes.
#       PASS_MIN_LEN    Minimum acceptable password length.
#       PASS_WARN_AGE   Number of days warning given before a
#       password expires.
#
PASS_MAX_DAYS 30
PASS_MIN_DAYS   0
PASS_WARN_AGE   7
...output omitted...
Create the consultants group with a GID of 35000.

[root@serverb ~]# groupadd -g 35000 consultants
Configure administrative rights to enable all consultants group members to execute any command as any user. Avoid using visudo to edit the /etc/sudoers file. Instead, place the configuration file in the /etc/sudoers.d directory.

Create the /etc/sudoers.d/consultants file and add the following content to it. You can use the vim /etc/sudoers.d/consultants command for this step.

%consultants  ALL=(ALL) ALL
Create the consultant1, consultant2, and consultant3 users with the consultants group as their supplementary group.

[root@serverb ~]# useradd -G consultants consultant1
[root@serverb ~]# useradd -G consultants consultant2
[root@serverb ~]# useradd -G consultants consultant3
Set the consultant1, consultant2, and consultant3 passwords to redhat.

[root@serverb ~]# passwd consultant1
Changing password for user consultant1.
New password: redhat
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: redhat
passwd: all authentication tokens updated successfully.
[root@serverb ~]# passwd consultant2
Changing password for user consultant2.
New password: redhat
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: redhat
passwd: all authentication tokens updated successfully
[root@serverb ~]# passwd consultant3
Changing password for user consultant3.
New password: redhat
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: redhat
passwd: all authentication tokens updated successfully
Set the consultant1, consultant2, and consultant3 accounts to expire in 90 days from the current day.

Determine the date 90 days in the future. This returned date is an example; the value that you see, to use in the following step, is based on the current date and time in your system.

[root@serverb ~]# date -d "+90 days" +%F
2022-06-08
Set the account expiry date of the consultant1, consultant2, and consultant3 accounts to the same value as determined in the preceding step. For example:

[root@serverb ~]# chage -E 2022-06-08 consultant1
[root@serverb ~]# chage -E 2022-06-08 consultant2
[root@serverb ~]# chage -E 2022-06-08 consultant3
Change the password policy for the consultant2 account to require a new password every 15 days.

[root@serverb ~]# chage -M 15 consultant2
Additionally, force the consultant1, consultant2, and consultant3 users to change their passwords on the first login.

Set the last day of the password change to 0 so that users must change the password when they first log in to the system.

[root@serverb ~]# chage -d 0 consultant1
[root@serverb ~]# chage -d 0 consultant2
[root@serverb ~]# chage -d 0 consultant3
Return to the workstation system as the student user.

[root@serverb ~]# exit
logout
[student@serverb ~]$ exit
logout
Connection to serverb closed.
[student@workstation ~]$
Evaluation

As the student user on the workstation machine, use the lab command to grade your work. Correct any reported failures and rerun the command until successful.

[student@workstation ~]$ lab grade users-review
Finish

On the workstation machine, change to the student user home directory and use the lab command to complete this exercise. This step is important to ensure that resources from previous exercises do not impact upcoming exercises.

[student@workstation ~]$ lab finish users-review