Jump to content

Débian, VSFTPD et comptes utilisateurs


Recommended Posts

Bonjour à tous,

Je tente d'installer VSFTPD sur une débian toute fraîche... Mais j'ai quelques problèmes... :pleure:

En résumé, voilà ce que je tente de faire:

> Un compte utilisateur/unix par personne + root

> Tous font parti d'un même groupe: users

> Une seule /home pour tout le monde: dossier

> un utilisateur en est le proprio: mainuser

> le groupe est aussi le proprio

Niveau fichier de conf ça donne ça:

# vi passwd

root:x:0:0:root:/root:/bin/bash
mainuser:x:1000:100::/home/dossier:/bin/bash
userA:x:1001:100::/home/dossier:
userB:x:1002:100::/home/dossier:
userC:x:1003:100::/home/dossier:
[...]

#vi group

root:x:0:
users:x:100:mainuser,userA,userB,userC
nogroup:x:65534:
[..]

#ls -l /home

drwxrwxrwx  6 mainuser users 4096 2006-09-30 04:35 dossier

(tous ont tous les droit, pour l'instant...)

#vi /etc/vsftpd.conf

# Run standalone?
listen=YES

# Run standalone with IPv6?
#listen_ipv6=YES

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO

# Uncomment this to allow local users to log in.
local_enable=YES

# Uncomment this to enable any form of FTP write command.
write_enable=YES

# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022

# Uncomment this to allow the anonymous FTP user to upload files.
#anon_upload_enable=YES

# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES

# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES

# Activate logging of uploads/downloads.
xferlog_enable=YES

# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES

# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever

# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log

# If you want, you can have your log file in standard ftpd xferlog format
#xferlog_std_format=YES

# You may change the default value for timing out an idle session.
#idle_session_timeout=600

# You may change the default value for timing out a data connection.
#data_connection_timeout=120

# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure

# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES

#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.


# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails

# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
#
# Debian customization
#
# Some of vsftpd's settings don't fit the Debian filesystem layout by
# default.  These settings are more Debian-friendly.
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

Mon problème ? Tout fonctionne impeccable avec le mainuser et j'ai un "Login incorrect" avec tous les autres...

J'ai tenté de faire un "#chown userA dossier" pour changer le proprio principal, même résultat !!!

Aucun prb avec le mainuser, "Login incorrect" avec tous les autres...

J'ai activé le chroot "chroot_local_user=YES" tjs pareil...

:craint::craint::pleure:

J'avoue que je comprends pas trop bien là... J'espère vous avoir donné assez d'éléments...

D'ailleurs, merci à tous ceux qui liront jusqu'ici, c'est déjà pas mal ! :vomi2:

Toutes les suggestions seront les bienvenues ! :-D

:pleure:

PS: je redémarre bien le serveur à chaque modif "#/etc/init.d/vsftpd restart"

Link to comment
Share on other sites

essayes de leur mettre comme répertoire home le répertoire /home/ftp...c'est celui utilisé par défault pour les connections anonymes...Ensuite essayes d'autoriser les anonymous pour voir si ca fonctionne avec eux, si ca marche c'est que c'est pas une quetion de droits utilisateurs mais de login...

tu peux faire un # testparm /etc/vsftpd.conf pour tester tes paramètres du fichier conf...

Procède par éliminations...désactive le chroot et teste... si ca marche c'est qu'ils ne peuvent pas etre tous chrootés dans le même home...

tu as crée tes users avec quelle commande? adduser/useradd ou manuellement dans les passwd ??

et petit plus active les logs... tu veras ce qu'il s'y passe...

sinon si t'as pas beaucoup d'utilisateurs je te conseille de créer un répertoire commun (chmod 755) à la racine de home et ensuite de créer un point de montage de ce rép. dans leur home à chacun dans le fstab (/home/commun /home /user1/commun auto bind,default 0 0). N'oublies pas de faire un mount /home/user1/commun par la suite...

C'est fort possible que tu sois bloqué par le fait que tes users ont tous le même home, c'est une config anonyme ça... Essayes avec les points de montage comme cités ci-dessus je l'ai fait sur mon server et ca tourne impec...

:francais:

Link to comment
Share on other sites

J'avais fait un serveur FTP sous debian y'a une époque et je montais un répertoire commun dans chaque /home/user avec un mount --bind (cf post de blasta) au boot de la machine. Sauf qu'apparemment l'option --bind semble avoir disparu de mon mount...

Link to comment
Share on other sites

Salut Blasta, merci de te pencher sur mon problème... :francais:

essayes de leur mettre comme répertoire home le répertoire /home/ftp...c'est celui utilisé par défault pour les connections anonymes...
Je veux bien mais je l'ai déjà virer... Tu pourrais me rappeler ça conf (Proprios, droits, etc) ? :francais:
Tu peux faire un # testparm /etc/vsftpd.conf pour tester tes paramètres du fichier conf...
AH ? je connaissais pas... C'est valable pour n'importe quel fichier de conf ?
Tu as crée tes users avec quelle commande? adduser/useradd ou manuellement dans les passwd ??
Bien proprement avec les fonctions adéquates (useradd / usermod / passwd).
et petit plus active les logs... tu veras ce qu'il s'y passe...
Hum... Comment fait-on ? C'est pas activé par défaut ?
Ensuite essayes d'autoriser les anonymous pour voir si ca fonctionne avec eux, si ca marche c'est que c'est pas une quetion de droits utilisateurs mais de login...

Procède par éliminations...désactive le chroot et teste... si ca marche c'est qu'ils ne peuvent pas etre tous chrootés dans le même home...

Oki oki

Sinon, je vais essayé aussi ton sytème de point de montage. Petite question: Le fstab et le mount seront permanent ?

Je te/vous donne des news rapidement. :francais:

Bonne journée !

Link to comment
Share on other sites

Sauf qu'apparemment l'option --bind semble avoir disparu de mon mount...

Non non, elle est toujours là dans la dernière version que j'ai trouvée sur kernel.org :

wget http://www.kernel.org/pub/linux/utils/util-linux/util-linux-2.12r.tar.gz
tar xzf util-linux-2.12r.tar.gz
grep bind util-linux-2.12r/mount/mount.c 
/* Nonzero for mount {--bind|--replace|--before|--after|--over|--move} */
 { "bind",	 0, 0, MS_BIND   },	  /* Remount part of tree elsewhere */
 { "rbind",	0, 0, MS_BIND|MS_REC }, /* Idem, plus mounted subtrees */
  *types = "none";		  /* random, but not "bind" */
	{ "bind", 0, 0, 128 },
	{ "rbind", 0, 0, 135 },
	  "	   mount --bind olddir newdir\n"
	bindtextdomain(PACKAGE, LOCALEDIR);
			case 128: /* bind */

Par contre bind n'existe pas dans la version BSD. C'est peut être ça qui t'a induit en erreur.

Link to comment
Share on other sites

alors...

*le "testparm" est valable pour tous les fichiers conf... c'est pas tres tres précis mais ca peut t'aider

*pour activer les logs, décommente les lignes qui parlent de "xferlog". le chemin du fichier sera normalement

/var/log/vsftpd.log... s'il n'existe pas crées-le. Ensuite pour suivre tes logs en temps réel tapes: tail -f /var/log/vsftpd.log

ca t'éclairera déja un peu plus.

*sinon je pense que le problème vient des users crées ou des droits apropriés...bref si t'en a pas beaucoup (je suppose que c'est un ftp pour partager entre pôtes?!) efface les users , fait un apt-get remove vsftpd puis un --purge vsftpd histoire de tout remettre bien propre avec le répertoire ftp etc...

et voici un exemple de fichier conf et de fstab ave les points de montage.

A savoir que le "mount /home/user" ne sera nécéssaire qu'après modif de ton fstab, sinon a chaque démarage le systeme lra ton fstab et monteras lui meme le point cités.

Et pense à mettre les droits en lecture et execution sur le dossier commun qui est à la racine de home (chmod 755 nomrép.) et à celui qui sert de point de montage dans le home de l'utilisateur.

**************************vsftpd.conf************************************

#tu laisses le reste par défaut et pense à activer quota si tu laisse l'écriture activée

listen=YES

anonymous_enable=no

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

chroot_local_user=YES

chroot_list_file=/etc/vsftpd.chroot_list

secure_chroot_dir=/var/run/vsftpd

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/vsftpd.pem

*******************

*********************

*************************fstab avec points de montage pour users ftp*************************

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>	   <dump>  <pass>
proc			/proc		   proc	defaults		0	   0
/dev/hda1	   /			   ext3	defaults,errors=remount-ro 0	   1
/dev/hda6  /home  ext3  suid,dev,resuid=1003,usrquota,exec  0  2
/dev/hda5	   none			swap	sw			  0	   0
/dev/hdc		/media/cdrom0   iso9660 ro,user,noauto  0	   0
/dev/fd0		/media/floppy0  auto	rw,user,noauto  0	   0
/home/commun	/home/user/commun auto	default,bind	0		0
#
#
#la derniere ligne sert à monter un dossier avec des ressources dans le dossier d'un utilisateur
#chrooté dans son home.
#on remarquera les quotas activé sur la partition /home   (usrquota= quota par user)

Voilà avec ca tu devrais t'en sortir... tiens nous au jus!

:|

Link to comment
Share on other sites

ps: utilise plutot "adduser" que "useradd" pour créer tes utilisateurs...la commande est plus complète (elle crée l'entrée dans le passwd, la mot de passe dans shadow et le dossier home de l'utilisateur avec les bons droits sans autre intervention de ta part)

bon week end alors!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...