Article archivé, dernière mise à jour 2007.
Certains service de Projet Bender nécessitent une authentification. Afin de la gérée, j'utilise une base SQL éditable en web.
Cette base est utilisée pour :
Cela offre :
Nous considérons que Serveur Web (Apache) et Mysql sont déjà installés.
Cette configuration est utilisée pour Projet Bender.
Liste des tables :
users | |
---|---|
Champ | Description |
login | login de l'utilisateur |
name | nom réel |
password | mot de passe chiffré |
uid | UID (pour le FTP) |
gid | GID (pour le FTP) |
homedir | répertoire racine (pour le FTP) |
shell | shell (pour le FTP) |
language | langage (pour le site web) |
creation_date | date de création |
last_logged | date de dernière connexion |
comments | commentaires |
groupes_apache | |
---|---|
Champ | Description |
groupe | nom du groupe |
login | login de l'utilisateur |
pending | |
---|---|
Champ | Description |
login | login de l'utilisateur |
name | nom réel de l'utilisateur |
language | langue |
date | date de la demande |
Voici le script SQL permettant de générer la structure de la base :
-- phpMyAdmin SQL Dump -- version 2.9.0.2-Debian-1 -- http://www.phpmyadmin.net -- -- Serveur: localhost -- Généré le : Mardi 31 Juillet 2007 à 23:22 -- Version du serveur: 5.0.24 -- Version de PHP: 4.4.2-1.1 -- -- Base de données: `users` -- CREATE DATABASE `users` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `users`; -- -------------------------------------------------------- -- -- Structure de la table `groupes_apache` -- CREATE TABLE `groupes_apache` ( `groupe` varchar(30) NOT NULL default '', `login` varchar(20) NOT NULL default '', PRIMARY KEY (`groupe`,`login`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Liste des users par groupe'; -- -------------------------------------------------------- -- -- Structure de la table `pending` -- CREATE TABLE `pending` ( `login` varchar(20) NOT NULL default '', `name` varchar(50) default NULL, `email` varchar(50) default NULL, `language` char(3) NOT NULL default 'fr', `date` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`login`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Structure de la table `users` -- CREATE TABLE `users` ( `login` varchar(20) NOT NULL default '', `name` varchar(50) default NULL, `email` varchar(50) default NULL, `password` varchar(50) default NULL, `uid` int(11) NOT NULL default '500', `gid` int(11) NOT NULL default '500', `homedir` varchar(50) NOT NULL default '/ftp', `shell` varchar(50) NOT NULL default '/bin/false', `language` char(3) NOT NULL default 'fr', `creation_date` date default NULL, `last_logged` date default NULL, `comments` varchar(255) default NULL, PRIMARY KEY (`login`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Creer les utilisateurs nécessaires à l'utilisation de la base, par exemple :
CREATE USER 'apache'@ 'localhost' IDENTIFIED BY '****************'; GRANT USAGE ON * . * TO 'apache'@ 'localhost' IDENTIFIED BY '****************' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; GRANT SELECT ON `users` . * TO 'apache'@'localhost';
CREATE USER 'ftp'@ 'localhost' IDENTIFIED BY '****************'; GRANT USAGE ON * . * TO 'ftp'@ 'localhost' IDENTIFIED BY '****************' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; GRANT SELECT ON `users` . * TO 'ftp'@'localhost';
CREATE USER 'users_admin'@ 'localhost' IDENTIFIED BY '****************'; GRANT USAGE ON * . * TO 'users_admin'@ 'localhost' IDENTIFIED BY '****************' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; GRANT SELECT , INSERT , UPDATE , DELETE ON `users` . * TO 'users_admin'@'localhost';
Pour la confirugation des clients, voir directement :