5.5. Summary

5.5. Summary

In this chapter, we learned how to configure Kali Linux. We configured network settings, talked about users and groups, and discussed how to create and modify user accounts, set passwords, disable accounts, and manage groups. Finally, we discussed services and explained how to set up and maintain generic services, specifically SSH, PostgreSQL, and Apache.

Summary Tips:

  • In a typical desktop installation, you will have NetworkManager already installed and it can be controlled and configured through GNOME's control center and through the top-right menu.

  • You can configure the network from the command line with the ifup and ifdown tools, which read their instructions from the /etc/network/interfaces configuration file. An even newer tool, systemd-networkd works with the systemd init system.

  • By default, the database of Unix users and groups consists of the textual files /etc/passwd (list of users), /etc/shadow (encrypted passwords of users), /etc/group (list of groups), and /etc/gshadow (encrypted passwords of groups).

  • You can use the getent command to consult the user database and other system databases.

  • The adduser command asks a few questions before creating the account, but is a straightforward way to create a new user account.

  • Several commands can be used to modify specific fields in the user database including: passwd (change password), chfn (change full name and the GECOS, or general information field), chsh (change login shell), chage (change password age), and passwd -e user (forces the user to change their password the next time they log in).

  • Each user can be a member of one or multiple groups. Several commands can be used to modify group identity: newgrp changes the current group ID, sg executes a command using the supplied alternate group, the setgid bit can be placed on a directory, causing files created in that directory to automatically belong to the correct group. In addition, the id command displays the current state of a user including a list of their group membership.

  • You can manually start SSH with systemctl start ssh or permanently enable it with systemctl enable ssh. The default configuration disables password-based logins for the root user, which means you must first setup SSH keys with ssh-keygen.

  • PostgreSQL is a database server. It is rarely useful on its own but is used by many other services to store data.

  • A typical Kali Linux installation includes the Apache web server, provided by the apache2 package. Being a network service, it is disabled by default. You can manually start it with systemctl start apache2.

  • With its default configuration, Apache listens on port 80 (as configured in /etc/apache2/ports.conf), and serves pages from the /var/www/html/ directory by default (as configured in /etc/apache2/sites-enabled/000-default.conf).

Now that we have tackled Linux fundamentals and Kali Linux installation and configuration, let's discuss how to troubleshoot Kali and teach you some tools and tricks to get you back up and running when you run into problems.