

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Site de Francis Hilaire étudiant à Supinfo Orléans : prometee-creation.com &#187; Logiciel</title>
	<atom:link href="http://www.prometee-creation.com/pages/tutoriels/logiciel/feed" rel="self" type="application/rss+xml" />
	<link>http://www.prometee-creation.com</link>
	<description>Bonjour et bienvenue sur le site Prometee-creation.com. Vous trouverez ici, le parcours de Francis Hilaire, ses créations, les actualités en tout genre, ainsi que quelques tutoriels élaborés par une équipe de passionnés</description>
	<lastBuildDate>Thu, 13 May 2010 18:00:20 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Configurer un serveur ftp : vsftpd et utilisateurs virtuels</title>
		<link>http://www.prometee-creation.com/tutoriels/un-serveur-ftp-avec-vsftpd-et-utilisateurs-virtuels.html</link>
		<comments>http://www.prometee-creation.com/tutoriels/un-serveur-ftp-avec-vsftpd-et-utilisateurs-virtuels.html#comments</comments>
		<pubDate>Tue, 17 Apr 2007 14:58:05 +0000</pubDate>
		<dc:creator>Francis Hilaire</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[Tutoriels]]></category>

		<guid isPermaLink="false">http://www.prometee-creation.com/tutoriels/un-serveur-ftp-avec-vsftpd-et-utilisateurs-virtuels.html</guid>
		<description><![CDATA[Installation de vsftpd apt-get install vsftpd Une fois le serveur installé, il créé un user &#8216;ftp&#8217; avec un groupe &#8216;nogroup&#8217;. L&#8217;utilisateur ftp possède maintenant un répertoire dans /home/ftp/ en root:nogroup. On peut d&#8217;or et déjà se logguer en tant qu&#8217;utilisateur anonyme. Si on veut modifier le répertoire du serveur il suffit de modifier son chemin. [...]]]></description>
			<content:encoded><![CDATA[<h3>Installation de vsftpd</h3>
<p><code><br />
apt-get install vsftpd<br />
</code></p>
<p>Une fois le serveur installé, il créé un user &#8216;ftp&#8217; avec un groupe &#8216;nogroup&#8217;.<br />
L&#8217;utilisateur ftp possède maintenant un répertoire dans /home/ftp/ en root:nogroup.</p>
<p><span id="more-52"></span></p>
<p>On peut d&#8217;or et déjà se logguer en tant qu&#8217;utilisateur anonyme.</p>
<p>Si on veut modifier le répertoire du serveur il suffit de modifier son chemin.<br />
Ex :<br />
on va choisir le chemin <strong><em>/var/ftp</em></strong><br />
donc  :<br />
<code><br />
mkdir /var/ftp<br />
chown root:nogroup /var/ftp<br />
</code></p>
<p>On modifie le répertoire personnel de l&#8217;user ftp et tout devrait être bon.</p>
<p>Installation de db nécessaire pour la gestion des utilisateurs au cas par cas :</p>
<p><code><br />
apt-get install libdb3-util<br />
</code></p>
<p>(J&#8217;ai choisit de ne pas utiliser une des dernière version du au faite de certains problèmes<br />
que je n&#8217;ai pas réussi à résoudre ).</p>
<p>Maintenant que tout ca marche pensons à sauvegarder les fichiers de configuration même<br />
si les modifications sont des plus légères.</p>
<p><code><br />
cp /etc/vsftpd.conf /etc/vsftpd.conf1<br />
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak1<br />
</code></p>
<p>Attaque au cas du cas par cas :<br />
pour la liste des utilisateurs virtuels il faut créér un fichier virtual.txt<br />
( on peut choisir un autre nom, il vous suffira d&#8217;adapter ), du style :<br />
jack<br />
none<br />
polo<br />
senva</p>
<p>jack étant l&#8217;user et none son passe, polo l&#8217;user et senva son passe, donc pour résumer :<br />
login<br />
pass<br />
login<br />
pass</p>
<p>Ensuite il nous faut formater les données de ce fichier pour qu&#8217;elles puissent être lu par PAM :</p>
<p><code><br />
db3_load -T -t hash -f virtual.txt virtual.db<br />
</code></p>
<p>Un petit <strong><em>chmod 600 virtual.*</em></strong> s&#8217;impose sinon juste le .db et vous supprimer le .txt qui ne sert plus à rien.</p>
<p>Direction /etc/pam.d/ :</p>
<p><code><br />
gedit vsftp<br />
</code></p>
<p>Soit vous supprimez les lignes déjà existantes soit vous mettez des commentaires<br />
et placez y ces lignes :</p>
<p><code><br />
auth required /lib/security/pam_userdb.so db=/etc/virtual<br />
account required /lib/security/pam_userdb.so db=/etc/virtual<br />
</code></p>
<p>Reste à configurer vsftpd.conf pour accepter ces utilisateurs :</p>
<p><code><br />
anonymous_enable=NO #désactive les anonymes<br />
guest_enable=YES #active les users virtuels<br />
guest_username=ftp #nom de l'utilisateur, j'ai choisit de mettre celui créé à l'installation<br />
</code></p>
<p>par vsftpd.</p>
<p>Testez maintenant le serveur en vous connectant avec un des comptes de la base PAM, essayez en anonyme ou avec un compte réel, pour voir le résultat.</p>
<p>Maintenant que ca marche, nous pouvons passer à un paramétrage plus complet de vsftpd.conf<br />
avant de vraiment attaquer le cas par cas.</p>
<p><code><br />
listen=YES<br />
#<br />
#listen_ipv6=YES<br />
#<br />
#definie le nombre de clients et de fois qu'il peut-être connecté<br />
max_clients=4<br />
max_per_ip=1<br />
#<br />
#montre les fichiers et répertoire comme appartenant a FTP<br />
hide_ids=YES<br />
#<br />
anonymous_enable=NO<br />
#<br />
# Uncomment this to allow local users to log in.<br />
local_enable=YES<br />
guest_enable=YES<br />
guest_username=ftp<br />
user_config_dir=/etc/vsftpd_user<br />
#<br />
#<br />
#écrire sur le serveur et droit des anonymes<br />
write_enable=NO<br />
anon_upload_enable=NO<br />
anon_mkdir_write_enable=NO<br />
anon_world_readable_only=YES<br />
#<br />
local_umask=022<br />
#<br />
dirmessage_enable=YES<br />
#<br />
# Activate logging of uploads/downloads.<br />
xferlog_enable=YES<br />
#<br />
# Make sure PORT transfer connections originate from port 20 (ftp-data).<br />
connect_from_port_20=YES<br />
#<br />
# If you want, you can arrange for uploaded anonymous files to be owned by<br />
# a different user. Note! Using "root" for uploaded files is not<br />
# recommended!<br />
#chown_uploads=YES<br />
#chown_username=whoever<br />
#<br />
# You may override where the log file goes if you like. The default is shown<br />
# below.<br />
#xferlog_file=/var/log/vsftpd.log<br />
#<br />
# If you want, you can have your log file in standard ftpd xferlog format<br />
#xferlog_std_format=YES<br />
#<br />
idle_session_timeout=600<br />
#<br />
data_connection_timeout=120<br />
#<br />
# It is recommended that you define on your system a unique user which the<br />
# ftp server can use as a totally isolated and unprivileged user.<br />
#nopriv_user=ftpsecure<br />
#<br />
async_abor_enable=YES<br />
#<br />
#pas d'up ni dl en ascii<br />
ascii_upload_enable=NO<br />
ascii_download_enable=NO<br />
#<br />
ftpd_banner=Welcome On My Domain.<br />
#<br />
#deny_email_enable=YES<br />
#<br />
#banned_email_file=/etc/vsftpd.banned_emails<br />
#<br />
#cantonne les utilisateurs locaux à leur répertoire personnel<br />
chroot_local_user=YES<br />
#<br />
#<br />
#chroot_list_enable=YES<br />
# (default follows)<br />
#chroot_list_file=/etc/vsftpd.chroot_list<br />
#<br />
#désactivation du ls récursif<br />
ls_recurse_enable=NO<br />
#<br />
secure_chroot_dir=/var/run/vsftpd<br />
#<br />
# nom du fichier pam<br />
pam_service_name=vsftpd<br />
#<br />
#location de la certification rsa pour le ssl<br />
rsa_cert_file=/etc/ssl/certs/vsftpd.pem<br />
</code></p>
<p>Aprés avoir créér la base de la gestion par utilisateurs, passons à un affinement des règles. Dans le fichier vsftpd.conf, il faut rajouter la ligne:</p>
<p><code><br />
user_config_dir=/etc/vsftpd_user<br />
</code></p>
<p>Avec ca on indique à vsftpd qu&#8217;il existe un répertoire /etc/vsftpd_user qui contiendra les fichiers de configurations pour chaque utilisateur.</p>
<p><code><br />
mkdir /etc/vsftpd_user<br />
</code></p>
<p>Il suffit maintenant de créér un fichier portant le nom de la personne voulu dans ce dossier avec les options désirées pour chaque personne et créér une réelle gestion des membres au cas par cas.</p>
<p>Petit exemple :<br />
nous voulons que l&#8217;utilisateur polo puisse monter et télécharger des données, il nous faut donc lui créér un fichier de configuration à son nom dans /etc/vsftpd_user</p>
<p><code><br />
touch polo<br />
gedit polo<br />
</code></p>
<p>et les options à mettre pour contrer les règles principales définies pour vsftpd :</p>
<p><code><br />
anon_upload_enable=YES<br />
write_enable=YES<br />
anon_world_readable_only=NO<br />
</code></p>
<p>Maintenant il peut télécharger mais aussi stocker des données sur le serveur.</p>
<p>Ca peut-être utile de traiter les utilsateurs au cas par cas ou par groupe, mais pour certains cas rien ne faut un répertoire &laquo;&nbsp;chrooter&nbsp;&raquo; ou seul le membre pourra y rentrer.</p>
<p><code><br />
echo "local_root=polo" &gt;&gt; /etc/vsftpd_user/polo<br />
</code></p>
<p>Ceci permet de créér un répertoire perso à polo ( bien entendu penser au mkdir et chown ).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.prometee-creation.com/tutoriels/un-serveur-ftp-avec-vsftpd-et-utilisateurs-virtuels.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
