diff --git a/Dev/fedora_toolbox/.env b/Dev/fedora_toolbox/.env new file mode 100644 index 0000000..547c454 --- /dev/null +++ b/Dev/fedora_toolbox/.env @@ -0,0 +1 @@ +SSH_PASSWORD=virgI6774 \ No newline at end of file diff --git a/Dev/fedora_toolbox/Dockerfile b/Dev/fedora_toolbox/Dockerfile new file mode 100644 index 0000000..f77728b --- /dev/null +++ b/Dev/fedora_toolbox/Dockerfile @@ -0,0 +1,47 @@ +# Fedora alapimage használata +FROM fedora:latest + +# Metaadatok az image-hez +LABEL maintainer="Your Name" +LABEL description="Fedora-based toolbox with SSH, nmap, and other utilities." + +# Build-time argumentum a jelszóhoz +ARG SSH_PASSWORD + +# Szükséges csomagok telepítése +RUN dnf -y update && \ + dnf -y install \ + openssh-server \ + sudo \ + nmap \ + iputils \ + procps-ng \ + net-tools && \ + dnf clean all + +# SSH host kulcsok generálása +RUN ssh-keygen -A + +# 'wpanda' felhasználó létrehozása és jelszó beállítása +# A jelszót a build-time argumentumból kapja +RUN useradd -m -s /bin/bash wpanda && \ + echo "wpanda:${SSH_PASSWORD}" | chpasswd + +# Jelszavas SSH bejelentkezés engedélyezése +RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \ + sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config + +# 'wpanda' felhasználó hozzáadása a sudo csoporthoz jelszó bekérése nélkül +RUN echo 'wpanda ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers + +# Váltás a 'wpanda' felhasználóra +USER wpanda + +# Munkakönyvtár beállítása a felhasználó home könyvtárára +WORKDIR /home/wpanda + +# Az SSH port (22) megnyitása +EXPOSE 22 + +# Az SSH szerver indítása előtérben +CMD ["/usr/sbin/sshd", "-D"] diff --git a/Dev/fedora_toolbox/docker-compose.yml b/Dev/fedora_toolbox/docker-compose.yml new file mode 100644 index 0000000..df0e29a --- /dev/null +++ b/Dev/fedora_toolbox/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3.8' + +services: + toolbox: + # Az image a jelenlegi könyvtárban lévő Dockerfile-ból épül + build: + context: . + args: + # Átadja az .env fájlból beolvasott SSH_PASSWORD változót a Dockerfile-nak + - SSH_PASSWORD=${SSH_PASSWORD} + # Konténer neve a könnyebb azonosíthatóságért + container_name: fedora-toolbox + # Hoszt port 2222 átirányítása a konténer 22-es portjára + # Azért nem a 22-t használjuk a hoszton, hogy ne ütközzön a gép saját SSH szolgáltatásával + ports: + - "2222:22" + # A külső 'data' könyvtár felcsatolása a konténeren belüli /home/wpanda helyre + # A 'data' könyvtár a Dev/fedora_toolbox/data útvonalon található + volumes: + - ./data:/home/wpanda + # A konténer automatikusan újraindul, hacsak nem állítod le kézzel + restart: unless-stopped diff --git a/Dev/mysql/mysql_all/.env b/Dev/mysql/mysql_all/.env new file mode 100644 index 0000000..80f7726 --- /dev/null +++ b/Dev/mysql/mysql_all/.env @@ -0,0 +1,12 @@ +# Docker-Compose Environment Variables for MySQL + +# Path for MySQL data storage on the host machine +# Az adatbázis adatai a 'Dev/mysql/data' mappába kerülnek mentésre. +# Ezt az elérési utat tetszés szerint módosíthatod. +MYSQL_DATA_PATH=/home/wpanda/mysql_data/sw_all_db + +# MySQL Credentials +MYSQL_ROOT_PASSWORD=virgI6774 +#MYSQL_DATABASE=switch_ip +#MYSQL_USER=switchip +#MYSQL_PASSWORD=virgI6774 diff --git a/Dev/mysql/mysql_all/CREATE TABLE switches_ip.md b/Dev/mysql/mysql_all/CREATE TABLE switches_ip.md new file mode 100644 index 0000000..053d36c --- /dev/null +++ b/Dev/mysql/mysql_all/CREATE TABLE switches_ip.md @@ -0,0 +1,20 @@ +CREATE TABLE clients ( + id INT AUTO_INCREMENT PRIMARY KEY, + switch_name VARCHAR(255) NOT NULL COMMENT 'A switch hosztneve, amelyhez a kliens csatlakozik', + mac_address VARCHAR(17) NOT NULL UNIQUE COMMENT 'A kliens MAC címe (egyedi azonosító)', + interface VARCHAR(50) NOT NULL COMMENT 'A switch interfésze, amelyhez a kliens csatlakozik (pl. 1/1/3)', + vlan VARCHAR(10) NOT NULL COMMENT 'A kliens VLAN azonosítója', + ip_address VARCHAR(45) NOT NULL COMMENT 'A kliens IP címe (IPv4 vagy IPv6)', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'A rekord létrehozásának időpontja', + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'A rekord utolsó frissítésének időpontja' +) COMMENT='Hálózati kliensek adatainak tárolása switchenként'; + +**Magyarázat:** + +* `id INT AUTO_INCREMENT PRIMARY KEY`: Egy automatikusan növekvő egyedi azonosító minden bejegyzéshez. +* `switch_name VARCHAR(255) NOT NULL`: A switch neve, amihez a kliens csatlakozik. +* `mac_address VARCHAR(17) NOT NULL UNIQUE`: A kliens MAC címe. `VARCHAR(17)` elég a `XX:XX:XX:XX:XX:XX` formátumhoz, és `UNIQUE` constraint-et is kapott, mivel ez az elsődleges egyedi azonosítója egy hálózati kliensnek. +* `interface VARCHAR(50) NOT NULL`: Az interfész, amelyhez a kliens csatlakozik. +* `vlan VARCHAR(10) NOT NULL`: A VLAN, amihez a kliens tartozik. `VARCHAR`-ként kezeltem, hogy rugalmasabb legyen, ha esetleg nem csak számok lennének. +* `ip_address VARCHAR(45) NOT NULL`: A kliens IP címe. +* `created_at` és `updated_at`: Automatikus időbélyegek a bejegyzés létrehozására és utolsó módosítására. diff --git a/Dev/mysql/mysql_all/README.md b/Dev/mysql/mysql_all/README.md new file mode 100644 index 0000000..8a2aabf --- /dev/null +++ b/Dev/mysql/mysql_all/README.md @@ -0,0 +1,25 @@ +# MySQL Docker Container + +This directory contains the configuration for running MySQL in a Docker container. + +## Configuration + +The configuration is managed through the `.env` file. You can change the following variables: + +- `MYSQL_DATA_PATH`: The local directory where the database data will be stored. By default, it's set to `./data` within this directory. +- `MYSQL_ROOT_PASSWORD`: The root password for the MySQL instance. +- `MYSQL_DATABASE`: The name of the database to be created on startup. +- `MYSQL_USER`: The username for a non-root user. +- `MYSQL_PASSWORD`: The password for the non-root user. + +## Usage + +To start the container, navigate to this directory (`Dev/mysql`) and run the following command: +```bash +docker-compose up -d +``` + +To stop the container: +```bash +docker-compose down +``` diff --git a/Dev/mysql/mysql_all/docker-compose.yml b/Dev/mysql/mysql_all/docker-compose.yml new file mode 100644 index 0000000..cdcbd0c --- /dev/null +++ b/Dev/mysql/mysql_all/docker-compose.yml @@ -0,0 +1,20 @@ +services: + mysql_ip: + image: mysql:latest + container_name: mysql_all_db + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} +# MYSQL_DATABASE: ${MYSQL_DATABASE} +# MYSQL_USER: ${MYSQL_USER} +# MYSQL_PASSWORD: ${MYSQL_PASSWORD} + ports: + - '3306:3306' + volumes: + - ${MYSQL_DATA_PATH}:/var/lib/mysql + networks: + - shared-network + +networks: + shared-network: + external: true