Ajout user ncftpd
c dommage d'abandonner comme ça alors que le soucis doit être minime
faut percévérer y a plein de choses géniales à faire!!
En tout cas si tu te cherches des infos va sur le site de
ncftp dans la FAQ
Laisse tomber, c bcp trop long tout ça. J'ai créé en 1 min un accès FTP sur un serveur win et je me pencherai sur linux quand ca sera plus user friendly.
Merci quand meme !
en complément les raisons possibles liés à ton pb:
* User has an illegal shell;
Fix: Add the user's shell to /etc/shells, or change the user's shell. Then restart NcFTPd.
* User is blacklisted;
Fix: Remove the username from /etc/ftpusers. Remember, this file is used to block usernames, not allow them! Then restart NcFTPd.
* User’s home directory doesn’t exist;
* The file /etc/nologin or /etc/nologin.ftp is present.
* User had UID 0 but is not “root”.
Fix: If you really want to allow that, you can use the allow-u0 general.cf option. Then restart NcFTPd.
* Server is full, no more users are allowed.
il me semble que le résultat de tes commandes représente le contenu de ton répertoire et non pas ton répertoire. Je souhaite voir les permissions et groupe de ton user (à priori baboo)
la commande:
ls -l /home | grep tonuser doit retourner un résultat du type
ls -l /home |grep toto
drwx--x--- 9 toto users 4096 fev 23 15:59 toto
==> ça veut dire liste /home et donne moi les résultats qui contiennent le mot toto
il y a un moyen de savoir ou est le pb en relancant ncftpd en mode verbose
vérifie ou est lancé ncftpd
si c'est dans /etc/inittab
copie /etc/inittab au cas ou....
cp /etc/inittab /etc/inittab.old
edite le fichier /etc/inittab et remplace la ligne contenant
/usr/local/etc/ncftpd/ncftpd -q /usr/local/etc/ncftpd/general.cf /usr/local/etc/ncftpd/domain.cf
par
/usr/local/etc/ncftpd/ncftpd -v /usr/local/etc/ncftpd/general.cf /usr/local/etc/ncftpd/domain.cf
relance ensuite le serveur ftp
connecte toi en ftp avec ton user
ftp localhost
et post les retours
si ce n'est pas dans /etc/inittab
tu dois avoir un fichier nommé ncftpd_restart à priori dans /usr/local/sbin/restart_ncftpd
fait une copie du fichier au cas ou...
édite le et met la valeur de la variable NCFTPD_VERBOSITY à
NCFTPD_VERBOSITY=-v
relance ensuite le serveur ftp
connecte toi en ftp avec ton user
ftp localhost
et post les retours
drwxr-xr-x 2 baboo users 4096 fév 23 14:23 cgi-bin
drwxr-xr-x 2 baboo users 4096 fév 23 14:23 www
C'est ce que j'ai en retour
excuse je voulais dire ls -l /home | grep tonuser, ça ne m'aide pas ce que je t'ai demandé précédemment
psl écrivait :
[B]ok
Peux tu préciser toutes les manipes que t'as faites, faire un
ls -l /home/detonuser
total 8
drwxr-xr-x 2 baboo users 4096 fév 23 14:23 cgi-bin
drwxr-xr-x 2 baboo users 4096 fév 23 14:23 www
t'as modifié le fichier de conf de ncftpd?
Non je n'y ai pas touché.
ok
Peux tu préciser toutes les manipes que t'as faites, faire un
ls -l /home/detonuser
t'as modifié le fichier de conf de ncftpd?
et éventuellement les erreurs que t'as eu lors de tes manipes
as tu mis un passwd à ton user (tu ne l'as pas mentionné dans ton post)?
Ok c bon j'ai créé le user en lui affectant un home directory mais lorsque je me connecte en FTP, j'ai l'erreur suivante:
451 Login failed, can't set startup dir to your home directory: Permission denied.
Le répertoire en question est pourtant mis en 755. Que faut il modifier d'autre ?
Merci !
C'est marqué juste au dessus : useradd ...
De plus, tu as du recevoir un mail lorsque tu as acheté ton dédié, expliqant très bien les commandes de bases...(Fichier Faq-sd-20020124.txt)
Lis le, il te sera très utile...
Merci beaucoup mais comment fait on pour créer un user linux ?
si ton ftp fonctionne déjà tu n'as qu'a simplement à rajouter un user avec la commande
useradd le_nom_de_ton_user
Plusieurs options courantes sont possibles:
-g tu précises un nom de groupe
-d tu précises le home directory
-s pour préciser le shell. Si ton user ne doit pas avoir de shell met le à /bin/false
ex:
useradd -g tata -d /home/toto -s /bin/false toto
tu viens de rajouter le user toto appartenant au groupe tata, son directory est /home/toto et il n'a pas de connection shell
Maintenant il faut lui donner un password. Utilise la commande
passwd le_nom_de_ton_user
ça doit te donner
passwd toto
Changing password for user toto.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Voici un script perl en dessous pour générer un mot de passe aléatoire de 8 caractères (lettre, chiffre, lettre majuscules) en enlevant les caractères ambigus qui pourraient être confondus:
#!/usr/bin/perl -w
###############################
# Generateur de mots de passe #
###############################
#Initialisations
@lettres = ( 'a'..'z' );
@lettresMaj = ( 'A'..'Z' );
@chiffres= ( 1..9 );
@choice = ( 1,2,3 );
srand;
$res = "";
for( $i=0; $i<8; $i++ )
{
$nb = $choice[int rand(3)];#Je choisis aleatoirement un nombre entre 1 et 3
#En fonction du resultat, j'assigne mes variables @tab et $size
#@tab sera soit le tableau de lettres, de chiffres ou de lettresMaj
#$size est la taille du tableau associe
if ($nb == 1){
@tab = @lettres;
$size = 26;
}
elsif ($nb == 2){
@tab = @chiffres;
$size = 9;
}
else {
@tab = @lettresMaj;
$size = 26;
}
$l = $tab[int rand($size)]; #generation aleatoire du caractere
if ($l =~ /^[01loOI]/){ #si le caractere genere est ambigu, je decremente le compteur de la boucle
$i --;
}
else { #sinon je concatene avec la chaine de caractere $res
$res .= $l;
}
}
print "$res\n";
Merci pour votre réponse mais je suis nul en linux. Qui pourrait me donner la liste des commandes pour exécuter les opérations suivantes:
- créer un user linux
- créer un group ncftpd avec des droits
- ajouter le nouveau user linux dans le groupe ncftpd
Merci!
A+
ncftpd (et comme tous les serveurs ftp) utilisent la base des utilisateurs du systeme. C'est à dire que lorsque vous ajoutez un nouveau utilisateurs avec la commande adduser il a automatiquement l'accès via le serveur ftp (ncftpd donc) sur son espace.
Salut !
Comment ajouter simplement un user FTP à ncftpd ? Peut on administrer Ncftpd à partir de Webmin ?
A+
Marquis