Webmin


Install webmin

webmin is a web-based system configuration tool. A new, disposable clone of your class virtual machine is a good environment in which to do this exercise. Log in as student, start the graphical interface (startx), and connect to the internet (dhclient in a terminal window as root). In the browser go to webmin.com and obtain/save the current rpm file that's offered for download (e.g. webmin-1.979-1.noarch.rpm as of August 2021). The file will go by default into /home/student/Downloads. "rpm" or RedHat package management files contain programs and utilities that can be installed using the rpm command. Let's install (operating as root):

cd  /home/student/Downloads
rpm  -Uvh  webmin-1.979-1.noarch.rpm

You will probably get an error message telling that some needed software is missing. Install it:

dnf  install  'perl(Encode::Detect)'

Try installing webmin again:

rpm  -Uvh  webmin-1.979-1.noarch.rpm

Experiment

When it finishes webmin is running but you won't see it. It's a network service. The port number by which it can be addressed/contacted/reached is 10000. That means you can run a browser (on some other computer or this same one), give this machine's IP address as the URL, and port 10000 as the target service program. The browser, on its computer, will then talk to webmin, on this one. This computer (i.e., the one on which you are working to do this exercise), from its own perspective, has address 127.0.0.1 (the universal IPv4 self-referential address, apart from whatever other addresses the machine might have). In the browser enter this URL:

https://127.0.0.1:10000

Ignore security error warnings about unrecognized certificates. Click through them to webmin's graphical login prompt. Log in as root, using the same password as the machine's system password for root. The result is a system information dashboard. On the left more interestingly is an extensive menu system for the things webmin can manage. Expand and collapse the menu items to get a sense of the range of capabilities reflected in the submenus.

Let's add a new user. The menu for "System" has a "Users and groups" option on its drop-down submenu. Go there. Do you recognize what you are looking at? (It's the /etc/passwd file, real pretty!) Find the small "Create a new user" icon at the bottom, and create one. Make some choices that you know should be defined in files like /etc/passwd, /etc/shadow, and /etc/group. You will be able to ask for a normal password, but this isn't where you can set it. For that, there's a "Change Passwords" option in the System submenu. In order to perform a test login you can switch to a virtual terminal (raw, white-on-black command line login screen) with the alt-F2 keystroke combination. Do your login testing then return to the graphical desktop and webmin with alt-F1.

Look at some results of what you did:

tail  /etc/passwd
tail  /etc/shadow
tail  /etc/group

Your changes are evident. webmin is apparently a front-end to these critical configuration files, such that you needn't directly compose/edit them yourself. As exactly is the useradd command and others that control accounts. But with webmin, an administrator doesn't know or need to know command options and syntax, given the English labels and prompts webmin presents. And he doesn't know or need to know what files are involved. He needn't know what to edit, nor how. If the question is "what creates user accounts" and the multiple choice answers are webmin, useradd, and /etc/passwd, what's the answer? which is paramount?

Look also at the "Bootup and Shutdown" screen. Its "Start at boot?" and "Running now?" columns are the graphical equivalents of systemctl. If you make a change here, then at the command line view the output of "systemctl status..." it will reflect your change.

Explore the tool. On a practice virtual machine you can afford to mess up, then simply delete the machine from VirtualBox when you're done if you like. Or keep it, in order to use webmin on a future occasion or exercise.

What to turn in

Make a screenshot showing webmin's initial screen with its system information dashboard. Name the screenshot file webmin.jpg (or .png). Upload it to your assignments directory.