Web app switched to non-root SQL account.

This commit is contained in:
Christos Choutouridis 2026-01-12 12:02:58 +02:00
parent fb80cb78eb
commit 7eccb71315
3 changed files with 11 additions and 5 deletions

View File

@ -22,6 +22,12 @@ CREATE TABLE IF NOT EXISTS `dummy` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Create a dedicated DB user for the web application (least privilege).
-- Grant only the required privileges on the application database.
CREATE USER IF NOT EXISTS 'passman_app'@'%' IDENTIFIED BY 'passman_app_pw';
GRANT SELECT, INSERT, UPDATE, DELETE ON pwd_mgr.* TO 'passman_app'@'%';
FLUSH PRIVILEGES;
CREATE TABLE IF NOT EXISTS `login_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
@ -31,7 +37,7 @@ CREATE TABLE IF NOT EXISTS `login_users` (
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `login_users` (`id`, `username`, `password`) VALUES
(1, 'u1', '$2y$10$L18u5/PyVkDgsce/DsUOQu0sKhTzh854Euhog3cVb1W4YAfgRzY8W'); /* php -r 'echo password_hash("p1", PASSWORD_DEFAULT), PHP_EOL;' */
(1, 'u1', '$2y$10$L18u5/PyVkDgsce/DsUOQu0sKhTzh854Euhog3cVb1W4YAfgRzY8W'); -- php -r 'echo password_hash("p1", PASSWORD_DEFAULT), PHP_EOL;'
CREATE TABLE IF NOT EXISTS `notes` (
`notesid` int(11) NOT NULL AUTO_INCREMENT,

View File

@ -8,9 +8,9 @@ services:
- ./php:/var/www/html
environment:
DB_HOST: db
DB_USER: root
DB_PASS: rootpass
DB_NAME: pwd_mgr
DB_USER: passman_app
DB_PASS: passman_app_pw
depends_on:
- db

View File

@ -3,8 +3,8 @@
// NOTE: In Docker, the DB host is the service name (e.g., "db"), not "localhost".
$DB_HOST = getenv('DB_HOST') ?: 'db';
$DB_USER = getenv('DB_USER') ?: 'root';
$DB_PASS = getenv('DB_PASS') ?: 'rootpass';
$DB_USER = getenv('DB_USER') ?: 'passman_app';
$DB_PASS = getenv('DB_PASS') ?: 'passman_app_pw';
$DB_NAME = getenv('DB_NAME') ?: 'pwd_mgr';
// Create a DB connection.