Page 1 sur 2

créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 17:27
par olivxii
bonjour, je suis novice en language php mais j'ai besoins de créer un user ftp vers un repertoire precis en php, et je ne sais pas comment faire, pourriez vous eclairer ma lanterne svp.

merci

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 17:39
par moogli
Salut,

Il savoir "dialoguer" avec le serveur FTP.
À savoir
- comment on créer un utilisateur sur le serveur
- comment le faire savoir au serveur

Le tout en ligne de commande ;)

@+

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 17:43
par olivxii
oui je me doute mais comment faire, je n'y connais que dalle a ce niveau, peut tu m'expliquer ? stp

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 18:00
par moogli
Ben je sais pas moi je ne connais pas ton serveur FTP, après y a des fonctions php pour utiliser un shell http://fr.php.net/exec !

Bonne lecture.

@+

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 21:28
par olivxii
comme sur tout les forums ... demerde toi ... je me demande a quoi servent les forums !!!!!!!

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 23:12
par moogli
Attend tu veux quoi que l'on te fasse ton code ?

rêve pas beaucoup d'entre nous en vive du dev hein.

le but du forum c'est d'aider les gens a apprendre.

De plus on ne connais pas le type de serveur FTP on va pas faire dans la lecture de boule de cristal c'est du temps perdu.

il y existe des fonctions pour utiliser un shell.
si le serveur FTP est commandable en ligne de commande il faut utiliser ces fonctions.

maintenant si tu ne t'investis pas (lecture des specs du soft, et ébauche d'un script).

c'est le minimum si tu veux de l'aide !!!!

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 23:42
par olivxii
ok merci pour l'aide salut

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 23:46
par xTG
La seule réponse qu'on puisse te donner comme tu as pu aussi le voir sur les autres forums sur lesquels tu as posé ta question c'est que cela dépend de ton serveur FTP...
Et donc il faut regarder sa doc !

Re: créer un user ftp sur un repertoire precis

Posté : 07 mars 2012, 23:52
par olivxii
jen'y connais rien mais pas grave je lache l'affaire ... merci

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 00:13
par xTG
Ce n'est pas la volonté qui nous manque pour t'aider...
Mais malheureusement on va pas lire 36 000 documentations et te donner une liste de commandes à tester au pif...
Donc pour pouvoir t'aider il nous faut savoir quel est ton type de serveur FTP...
Demande à ton administrateur système, ou bien au support de ton hébergement.

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 04:50
par olivxii
mais c'est mon serveur, c un dédié équipé de squeeze 6.0 et purftpd, mais j'ai aussi dn panel dessus j'ai bien tenter de créer des compte clients ce qui ce fais mais ce genre de panel te réclame un nom de domaine alors que dans mes offre j'offre un adresse provisoire, donc du sous domaine a la volé, donc je créer bien mon compte client , ses bases de données mais je n'arrive pas a lui attribuer un login et passs pour son espace crée pour avoir un accès ftp.. voila, apres si vous voulez m'aider tant mieux sinon bais ....

olivv

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 09:18
par sirakawa
bonjour, je suis novice en language php mais j'ai besoins de créer un user ftp vers un repertoire precis en php, et je ne sais pas comment faire, pourriez vous eclairer ma lanterne svp.

merci
Je ne comprends pas bien la question. Mais le problème est moins PHP qu'administration de système.
Je suppose donc que
I) le répertoire précis se trouve sur une machine sous quel système?
II) l'utilisateur existe déja
III par un moyen qui ne concerne pas le sujet, on arrive à une page qui associfie ce nom d'utilisateur et un répertoire:
a) ce répertoire existe déja
b) ce répertoire est à créer
Dans les deux cas, cet utilisateur doit pouvoir faire du ftp avec ce répertoire: dans quel sens.

Il s'agit essentiellement d'être administrateur du système qui gèrera le ftp et d'en connaître les commandes de création de comptes, de répertoires et d'autorisation d'accès, commandes que l'on peut lui passer, soit en ligne de commande si on est sur place, soit via les fonctions system ou exec de php.
Un truc dans ce genre:
<?PHP
$z = system ("cd /home/bilou", $rval);
print "$rval";
$z= exec("ls",  $rval);
?>
Avec ce bémol pas négligeable que c'est l'utilisateur apache ou son équivalent qui exécute le PHP des pages Web, et qu'il n'aura pas le droit de changer les droits sur les répertoires. Mais en passant par la commande sudo ou son équivalent on y arrivera.
Dans le cas b) le répertoire peut être créé de la même façon
Si l'utilisateur n'existe pas déjà on peut le créer de la même façon.

Mais mettre sur Internet une page Web qui permet de passer comme administrateur d'un système, il va falloir travailler dur pour éviter qu'elle soit détournée par quelque malintentionné. Ou alors, il faut créer sur le serveur une zone spéciale, avec un administateur restreint ayant tous les droits sur elle. Il me semble que sudo permet tout cela, mais je n'en connais pas plus sur cette commande.

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 16:00
par olivxii
en fait je suis sur un serveur dedié donc administrateur du systeme (linux squezze 6) et vsftp, pour créer mon repertoir aa mon client je passe en php de cete afcon :
//// création du repertoire

$DESTINATION_FOLDER = "clients";
if (!is_dir($DESTINATION_FOLDER.'/'.$nic_handle))
    if (!mkdir($DESTINATION_FOLDER.'/'.$nic_handle))
        echo 'Impossible de créer le dossier';

/// copie du fichier
$fichierAcopier = 'index.html';
$emplacementFinal = $DESTINATION_FOLDER . '/' . $nic_handle . '/';
copy($fichierAcopier, $emplacementFinal . $fichierAcopier);
ce que je cherche a faire c'est en même temps créer un compte ftp avec cet identifiant $nic_handle et un mot de passe mais uniquement avec accès a ce répertoire.

on m'a parler de adduser + shell(exec) mais j'ai cherché un peut sur le net et comme je suis novice j'ai du mal a saisir, je pense avoir compris pour créer l'user avec son passe mais comment le faire pointer sur un répertoire en particulier et non pas au ftp entier.

merci

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 16:32
par sirakawa
tu as une série de commandes linux:
adduser qui s'exécute entant que root, et que tu dois pouvoir passer à partir de Php par un shel ("adduser et tout le tralala");
tester d'abord en ligne de commande jusqu'à ce que ça donne ce que tu veux
adduser "toto" -d /home/zorglub
crée l'utilisateur toto avec comme répertoire personnel /home/zorglub, lequel est créé ou pas suivant les versions de unix; sur ma Fedora, il est créé quand il n'existe pas; je ne peux rien te dire sur le comportement précis de ta Debian.
Si besoin, tu as chgrp, chown, chmod à ta disposition.
Je répète, teste en ligne de commande jusqu'à ce que tu sois sûr d'obtenir ce que tu veux; ensuite, si

Code : Tout sélectionner

commande paramètres
fonctionne
tu balances un

Code : Tout sélectionner

system ("commande paramètres");
dans PHP

Re: créer un user ftp sur un repertoire precis

Posté : 08 mars 2012, 17:16
par olivxii
j'ai fais comme ca en ssh
root@ns303583:~# adduser "toto" -d /var/www/mbrs/clients/clients/n1kwb2bb
Option d is ambiguous (debug, disabled-login, disabled-password)
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID]
[--disabled-password] [--disabled-login] USER
Ajoute un utilisateur normal

adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GROUP | --gid ID] [--disabled-password]
[--disabled-login] USER
Ajoute un utilisateur système

adduser --group [--gid ID] GROUP
addgroup [--gid ID] GROUP
Ajoute un groupe utilisateur

addgroup --system [--gid ID] GROUP
Ajoute un groupe système

adduser USER GROUP
Ajoute un utilisateur existant à un groupe existant

options générales :
--quiet | -q ne pas délivrer sur la sortie standard des informations sur le processus
--force-badname autoriser l'utilisation de noms d'utilisateur ne correspondant pas
à la variable de configuration NAME_REGEX
--help | -h obtenir de l'aide sur la syntaxe de la commande
--version | -v numéro de version et copyright
--conf | -c FICHIER utiliser le fichier de configuration indiqué
mais je n'est aucun resultat