61 lines
2.0 KiB
Markdown
61 lines
2.0 KiB
Markdown
# RHELSecureSetup
|
|
|
|
This Bash script is designed for RHEL-based Linux distributions. It automates the process of updating the system, configuring security settings, and optionally installing Docker CE.
|
|
|
|
## Features
|
|
|
|
- **System Updates**: Updates the package manager and upgrades installed packages.
|
|
- **Timezone Configuration**: Sets the system timezone.
|
|
- **Hostname Change**: Changes the hostname of the machine.
|
|
- **Hosts File Update**: Updates the `/etc/hosts` file with the machine's IP address and hostname.
|
|
- **SSH Security Enhancements**:
|
|
- Disables root login.
|
|
- Disables password authentication.
|
|
- Ensures IPv4 address family is explicitly set.
|
|
- **Optional Docker Installation**: Installs Docker CE using the official installation script.
|
|
|
|
## Prerequisites
|
|
|
|
- A RHEL-based Linux distribution (e.g., CentOS, Fedora).
|
|
- Root access or sudo privileges.
|
|
- `dnf` or `yum` package manager.
|
|
- `curl` installed (if not present, install it using your package manager).
|
|
|
|
## Usage
|
|
|
|
1. **Clone the repository**:
|
|
|
|
```bash
|
|
git clone https://git.nickhepler.cloud/nick/RHELSecureSetup.git
|
|
cd RHELSecureSetup
|
|
```
|
|
|
|
2. **Make the script executable**:
|
|
|
|
```bash
|
|
chmod +x setup.sh
|
|
```
|
|
|
|
3. **Run the script with root privileges**:
|
|
|
|
```bash
|
|
sudo ./setup.sh
|
|
```
|
|
|
|
4. **Follow the prompts**:
|
|
- Enter the desired hostname and timezone.
|
|
- Provide a username and password for a new limited user account.
|
|
- Optionally, choose whether to install Docker CE at the end of the script.
|
|
|
|
## Customization
|
|
|
|
- **Time Zone**: Modify the `timezone` variable in the script to set your desired timezone.
|
|
- **Hostname**: The script prompts for a hostname during execution, but you can also set a default value in the script.
|
|
|
|
## License
|
|
|
|
This project is licensed under the GPL-3.0 License. See the [LICENSE](LICENSE) file for more details.
|
|
|
|
## Acknowledgments
|
|
|
|
- Inspired by documentation from Akamai (formerly Linode) for [setting up and securing compute instances](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). |