MARTINBRANDA

Navigation
louis MARTINBRANDA
Author

louis MARTINBRANDA

Rechercher


  • Accueil
  • À propos de
  • Blog
  • Contact

  • CSS 2
  • Divers 1
  • HTML 9
  • JQuery 1
  • Linux 39
  • MacOSX 15
  • Network 1
  • PHP 3
  • Raspberry PI 2
  • SQL 3
  • Vmware 4
  • Windows 3

Étiquettes


.htaccess Annuaire LDAP Apache Backup cisco command css debian debian6 derniers erreur ESXi extension fichiers History html htop iftop LDAP Linux MAC modifiés Mysql ntp OSX pages d’erreurs password PHP pi Proftpd raspberry RewriteEngine router sarg server ssh switch tar terminal Trouver url Welcome Windows WWW / No-WWW zimbra

Copyright © MARTINBRANDA. 2023 • All rights reserved.

Hydra WordPress Theme by EckoThemes.

Published with WordPress.

Related Articles

Filter by Category

  • Linux(39)
  • MacOSX(15)
  • HTML(9)
  • Vmware(4)
  • PHP(3)
  • SQL(3)
  • Windows(3)
  • CSS(2)
  • Raspberry PI(2)
  • Divers(1)
  • JQuery(1)
  • Network(1)

Filter by Author

  • louis MARTINBRANDA louis MARTINBRANDA (70)
Back to Latest Articles
Linux

Serveur FTP avec Proftpd plus proftpd-mysql

Installation [bash]apt-get install proftpd[/bash] Edition de la configuration : [bash]vi /etc/proftpd/proftpd.conf[/bash] Nous allons modifier les options suivantes :...

Posted on 4th avril 2011 by louis MARTINBRANDA

Linux

Installer Webmin sur Debian

Si vous utilisez la version de webmin DEB, d’abord télécharger le fichier, puis exécutez la commande: [bash]dpkg –install webmin_1.540_all.deb[/bash] Ce qui va...

Posted on 4th avril 2011 by louis MARTINBRANDA

MacOSX

synchroniser un iPhone avec deux librairies iTunes

Trouvez l’ID de votre librairie iTunes Sur l’ordinateur avec lequel votre iPhone/iPod touch est déjà synchronisé, trouvez trouvez puis ouvrez le dossier “iTunes Music Library.xml”...

Posted on 4th avril 2011 by louis MARTINBRANDA

Linux

Installation d’un Serveur OpenVPN sous Debian

OpenVPN est un VPN SSL se basant sur la création d’un tunnel IP. Installation du Serveur OpenVPN On commence par installer le package OpenVPN

Posted on 31st mars 2011 by louis MARTINBRANDA

Linux

FFmpeg, FFmpeg-PHP, Lame, Libogg, Libvorbis, FLVtool2, Mplayer, Mencoder, AMR Installation

Voici un petit tuto, pour vous expliquer comment installer FFMPEG sur Debian et Ubuntu. Ci-dessous la liste des packages qui seront installés : FFmpeg FFmpeg-PHP Mplayer +...

Posted on 9th mars 2011 by louis MARTINBRANDA

Linux

NO_PUBKEY DD1A5E9CEED949F0

Quand vous rajoutez des sources dans /etc/apt/sources.list et que vous faites un apt-get update. Il peut vous arrivez de recevoir ce message :

Posted on 14th février 2011 by louis MARTINBRANDA

Linux

Changer l’éditeur par défaut de Crontab

Par défaut maintenant sur Debian quand vous faites : crontabt -e il est automatiquement edité via nano.

Posted on 2nd février 2011 by louis MARTINBRANDA

Linux

Sarg : Supprimer vieux répertoires

Suite au post préédent, j’ai créé un script qui vous permet de supprimer quotidiennement les anciens répertoires de SARG. Créé un script nommé : nettoyage_sarg.sh

Posted on 21st janvier 2011 by louis MARTINBRANDA

Linux

Installer Squid Report Generator (Sarg) Debian

Qu’est ce que SARG? C’est un outil simple qui s’installe sur le serveur et qui analyse le trafic lié à internet. Il permet de connaitre les sites visités pour...

Posted on 19th janvier 2011 by louis MARTINBRANDA

Linux

Backup Cisco conf avec SNMP et SQL

Je cherchais depuis peu un moyen simple et efficace de sauvegarder mes configuration Cisco automatiquement. En cherchant un peu sur le net, j’ai trouvé que la solution la...

Posted on 8th janvier 2011 by louis MARTINBRANDA

View Latest Posts
Linux

Serveur FTP avec Proftpd plus proftpd-mysql


louis MARTINBRANDA
louis MARTINBRANDA
Serveur FTP avec Proftpd plus proftpd-mysql
Posted on 4th avril 2011 by louis MARTINBRANDA

Installation

[bash]apt-get install proftpd[/bash]

Edition de la configuration :

[bash]vi /etc/proftpd/proftpd.conf[/bash]

Nous allons modifier les options suivantes :

[bash]UseIPv6 off #Ne pas utiliser IPv6 si ce n’est pas nécessaire
DefaultRoot ~ #Le répertoire de destination par défaut des utilisateurs est leur propre home directory.
IdentLookups off #Désactive l’identification distante
RequireValidShell off #Permet la connexion des utilisateurs qui ne possèdent pas d’accès shell
IdentLookups off #Désactive l’identification distante
ServerIdent on « FTP Server ready. » #Message minimaliste affiché à la connexion
ShowSymlinks off #Ne pas afficher les liens symboliques
AllowStoreRestart on #Autoriser la reprise d’un upload de fichier (resuming)
AllowRetrieveRestart on #Autoriser la reprise d’un téléchargement de fichier[/bash]

Si vous ne parvenez pas à vous connecter, une parade consiste à désactiver le module sql postgres, en commentant avec # la ligne correspondante dans le fichier
/etc/proftpd/modules.conf :

[bash]vi /etc/proftpd/modules.conf
# LoadModule mod_sql_postgres.c[/bash]

Redémarrer le tout :

[bash]/etc/init.d/proftpd restart[/bash]

Proftpd-mysql

Par défaut, les comptes FTP sont ceux des utilisateurs de la machine. Dans le cas d’un serveur d’hébergement, il peut être intéressant de gérer les utilisateurs et groupes indépendamment. Le module proftpd-mysql permet de stocker ces informations dynamiquement dans une base de données MySQL.

[bash]apt-get install proftpd-mysql[/bash]

Il faut ensuite créer la structure de la base de données. Connectez-vous en root pour définir les droits d’accès :

[sql]CREATE DATABASE `proftpd`;
GRANT SELECT, INSERT, UPDATE, DELETE ON proftpd.* TO ‘proftpd’@’localhost’
IDENTIFIED BY motdepasse_proftpd;
FLUSH PRIVILEGES;
Puis mettre en place les tables :

USE proftpd;
CREATE TABLE `ftpgroup` (
`groupname` varchar(16) NOT NULL default  »,
`gid` smallint(6) NOT NULL default ‘5500’,
`members` varchar(16) NOT NULL default  »,
KEY `groupname` (`groupname`)
) TYPE=MyISAM COMMENT=’Table des groupes ProFTPD’;

CREATE TABLE `ftpquotalimits` (
`name` varchar(30) default NULL,
`quota_type` enum(‘user’,’group’,’class’,’all’) NOT NULL default ‘user’,
`par_session` enum(‘false’,’true’) NOT NULL default ‘false’,
`limit_type` enum(‘soft’,’hard’) NOT NULL default ‘soft’,
`bytes_up_limit` float NOT NULL default ‘0’,
`bytes_down_limit` float NOT NULL default ‘0’,
`bytes_transfer_limit` float NOT NULL default ‘0’,
`files_up_limit` int(10) unsigned NOT NULL default ‘0’,
`files_down_limit` int(10) unsigned NOT NULL default ‘0’,
`files_transfer_limit` int(10) unsigned NOT NULL default ‘0’
) TYPE=MyISAM COMMENT=’Table des quotas ProFTPD’;

CREATE TABLE `ftpquotatotal` (
`name` varchar(30) NOT NULL default  »,
`quota_type` enum(‘user’,’group’,’class’,’all’) NOT NULL default ‘user’,
`bytes_up_total` float NOT NULL default ‘0’,
`bytes_down_total` float NOT NULL default ‘0’,
`bytes_transfer_total` float NOT NULL default ‘0’,
`files_up_total` int(10) unsigned NOT NULL default ‘0’,
`files_down_total` int(10) unsigned NOT NULL default ‘0’,
`files_transfer_total` int(10) unsigned NOT NULL default ‘0’
) TYPE=MyISAM COMMENT=’Table des compteurs des quotas ProFTPD’;

CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default  »,
`passwd` varchar(32) NOT NULL default  »,
`uid` smallint(6) NOT NULL default ‘5500’,
`gid` smallint(6) NOT NULL default ‘5500’,
`homedir` varchar(255) NOT NULL default  »,
`shell` varchar(16) NOT NULL default ‘/bin/false’,
`count` int(11) NOT NULL default ‘0’,
`accessed` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`modified` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`LoginAllowed` enum(‘true’,’false’) NOT NULL default ‘true’,
PRIMARY KEY (`id`)
) TYPE=MyISAM COMMENT=’Table des utlisateurs ProFTPD'[/sql]

Editez /etc/proftpd/proftpd.conf pour activer le support MySQL en vérifiant les identifiants de connexion :

 

[bash]# Cryptage
SQLAuthTypes Crypt
SQLAuthenticate users* groups*

# Identifiants de connexion
SQLConnectInfo proftpd@localhost proftpd motdepasse_proftpd

# Colonnes utilisées pour les utilisateurs
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLUserWhereClause « LoginAllowed = ‘true' »

# Colonnes utilisées pour les groupes
SQLGroupInfo ftpgroup groupname gid members

# Créer le répertoire home par défaut
SQLHomedirOnDemand on

# Mise à jour des compteurs de connexion
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE « count=count+1, accessed=now() WHERE userid=’%u' » ftpuser

# Mise à jour des compteurs de trafic
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE « modified=now() WHERE userid=’%u' » ftpuser

# Quota
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

# Requêtes SQL relatives aux quotas

SQLNamedQuery get-quota-limit SELECT « name, quota_type, par_session, limit_type, bytes_up_limit, bytes_down_limit, bytes_transfer_limit, files_up_limit, files_down_limit, files_transfer_limit FROM ftpquotalimits WHERE name = ‘%{0}’ AND quota_type = ‘%{1}' »

SQLNamedQuery get-quota-tally SELECT « name, quota_type, bytes_up_total, bytes_down_total, bytes_transfer_total, files_up_total, files_down_total, files_transfer_total FROM ftpquotatotal WHERE name = ‘%{0}’ AND quota_type = ‘%{1}' »

SQLNamedQuery update-quota-tally UPDATE « bytes_up_total = bytes_up_total + %{0}, bytes_down_total = bytes_down_total + %{1}, bytes_transfer_total = bytes_transfer_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = files_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE name = ‘%{6}’ AND quota_type = ‘%{7}' » ftpquotatotal

SQLNamedQuery insert-quota-tally INSERT « %{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7} » ftpquotatotal

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally;[/bash]

Redémarrez le service :

[bash]/etc/init.d/proftpd restart[/bash]

La gestion des utilisateurs dans ces tables étant relativement explicite d’après leur structure, celle-ci ne sera pas développée pour le moment. Reportez-vous à la Documentation Ubuntu Francophone si nécessaire.

Ajoutez un enregistrement dans la table ftpuser pour chaque utilisateur, le mot de passe étant encrypté par la fonction mysql ENCRYPT. Ajoutez un enregistrement dans la table ftpgroup pour chaque groupe. Le champ members contenant les logins (en texte) des membres de ce groupe.

louis MARTINBRANDA
louis MARTINBRANDA
  • Proftpd
  • proftpd-mysql
  • Share Article:
Show Comments (0)

Comments

Cancel Reply

Connecter avec:
Facebook Google Twitter WordPress

Subscribe to MARTINBRANDA

Subscribe to our email newsletter to receive useful articles and special offers.

We won't share your email address.