créer un user ftp sur un repertoire precis

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : créer un user ftp sur un repertoire precis

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

par sirakawa » 15 mars 2012, 16:14

Je pense que oui, mais je te laisse tester. Si tu n'y arrives pas, j'irai voir.

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

par olivxii » 15 mars 2012, 11:29

ok mais ya t il possibilité dans ma ligne de commande

adduser --home /var/www/mbrs/clients/clients/n1kwb2bb olivxii

je puisse y bloquer au répertoire et non pas au ftp compte, après je m’attaquerais au code en php mais déjà voir si j'y arrive e ligne de commande

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

par sirakawa » 10 mars 2012, 16:42

c'est bon puisque n'importe qui peut aller dans /var : le r-x le plus à droite signifie n'importe qui peut lire et exécuter.
à cemoment-là en ligne de commande tu crées /var/clients
et tu essaies une fois en ligne de commande
adduser --home /var/clients/tutu1 tutu1
qui devrait à la fois créer l'utilisateur et son répertoire
tu devrais obtenir un rép /var/clients/tutu1
regarde les droits et on verra si ça suffit ou s'il faut encore faire une manip. Je ne peux pas prévoir quels seront les droits. (ça dépend de umask que je ne sais plus comment régler.)
On touche le but

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

par olivxii » 10 mars 2012, 16:24

en fais ca :
drwxr-xr-x 18 root root 4096 6 mars 23:55 var

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

par sirakawa » 10 mars 2012, 11:25

Je ne vois pas plus simple que cette version avec laquelle les clients ne peuvent pas aller voir chez le voisin
Travail préliminaire.
-----------------------------
En étant root et en ligne de commande:
1) vérifier que tout le monde peut passer dans /var
cd /
ls -al
il suffit que dans les 3 derniers droits, il y ait les droits --x
drwxrwx--x 2 root root 4096 10 mars 09:57 var
2) passer dans /var
cd /var
a) créer un répertoire clients
mkdir clients
b) vérifier que tout le monde peut passer dans /clients
ls -al
il suffit que dans les 3 derniers droits, il y ait les droits --x
Exploitation
-----------------
Après quoi, tu créeras chaque client, EN MEME TEMPS que son répertoire
adduser --home-dir /var/clients/tutu1 tutu1 --create-home
commande que tu peux passer par system() de php.

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

par sirakawa » 09 mars 2012, 11:04

Je vais expliquer en premier pourquoi l'utilisateur peut remonter:
le répertoire de ton client est:
/var/www/mbrs/clients/clients/n1kwb2bb
pour y aller, il faut qu'il passe par /var, puis par www, etc et pour pouvoir passer par ces répertoires, il faut qu'il y ait le droit de lecture, et c'est pour ça qu'il peut remonter. (il y passe de fait en faisant

Code : Tout sélectionner

cd /var/www/mbrs/clients)
Pour comprendre ce point:
va à la racine / et fais ls -al et relève les droits, les propriétaires et les groupes
idem pour
/var/www/mbrs
et
/var/www/mbrs/clients
et
/var/www/mbrs/clients/clients
et
/var/www/mbrs/clients/clients/n1kwb2bb
maintenant, mets-toi en:
/var/www/mbrs/clients
et balance
chmod 000 clients. (aucun droit) et essaie cd clients: inaccessible même à root
une fois ceci compris, on passera à la deuxième partie de ma suggestion.

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

par olivxii » 09 mars 2012, 02:24

j'ai rien pigé !!!!

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

par sirakawa » 08 mars 2012, 22:49

scusi ce soir la pauwellkack m'a trop fatigué == fautes de frappe non vues ou vues triples, mais pensée juste
Ce que je voulais dire, c'est que si tu crées :
/xxx/yyy/rep_de_quelqu'un
il fut que quelqu'un ait le droit de lecture dans xxx pour y entrer, puis de lecture dans yyy pour y entrer, et de lecture/écriture dans rep_de_quelqu'un, ce qui fait qu'il peut forcément lire tous les répertoires parents.
-* D'où une solution qui me semble la plus simple:
créer un répertoire collectif avec tous les droits à un groupe donné (ex: clients)
puis dans ce répertoire créer des sous-rep pour chacun avec tous les droits pour le proprio.
/ftp/bilou
/ftp/billy
/ftp/etc
et bien sûr il faut mettre chaque utilisateur qu'on crée dans le groupe clients (je sais faire)
-* une autre solution est de donner le droit de lecture sur le répertoire et aucun droit sur les fichiers SAUF les sous-répertoires
On est en train de réinventer les répertoires ftp des unix de la préhistioire avec les ftp anonymes dans ftp/public et les ftp nommés dans ftp/perso/ bilou....

Surtout ne te presse ps côté PHP tant que tu n'as pas trouvé une solution satisfaisante en ligne decommande. Je répète que ton problème c'est exclusivement du système.
Espérant n'avoir pas trop bégayé...

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

par olivxii » 08 mars 2012, 21:29

tu m'excusera mais j'ai pas trop pigé, que faut il ajouter a cette ligne

adduser --home /var/www/mbrs/clients/clients/n1kwb2bb olivxii

pour que l'acces reste sur ce repertoire ?

merci
root@ns303583:/etc# ls -al /var/www/mbrs/clients/clients/n1kwb2bb
total 12
drwxr-xr-x 2 ftp www-data 4096 7 mars 19:13 .
drwxrwxrwx 4 root root 4096 7 mars 19:13 ..
-rw-r--r-- 1 www-data www-data 702 7 mars 19:13 index.html

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

par sirakawa » 08 mars 2012, 21:22

alors essaie concluant en faisant
adduser --home /var/www/mbrs/clients/clients/n1kwb2bb olivxii

par contre l'user créer peut remonter dans le ftp alors qu'il devrais rester sur son répertoire

je tombe bien sur le bon répertoire, maintenant comment réaliser cette opération en php ?

merci
_________________________________
pour passer per php
normalement:
system("ce que tu fais pour être root"); // mais l'ennui c'est que tu es obligé de lauisser traîner le mot de passe de root
system ("adduser --home /var/www/mbrs/clients/clients/n1kwb2bb olivxii");

Mais'il y a moyen de confier à un utilisateur, apache par exemple, de créer des utilisateurs, mais en n'ayant pas tous les droits de root. (c'est la commande sudo, pour le chapitre suivant; mais tu pourrais voir les forums debian pour ça)
________________________________
par contre l'user créer peut remonter dans le ftp alors qu'il devrais rester sur son répertoire:
Il faudrait aller voir par ls -al les droits sur /var/www/mbrs/clients/clients/n1kwb2bb olivxii
et sur les répertoires au-dessus.
-rw-rw-r-- 1 bilou bilou 4971 8 mars 17:07 correction.php
_______ =........ :::::::::
les droits ___
= ignorer
.... le proprio
:::: un groupe d'utilisateurs
rw- (le premier) : droits du proprio (Read lecture et Write écriture)
rw- (le second) : droits du groupe
r-- les doits de tous les utilisateurs de cette machine
Pour pouvoir entrer dans un répertoire, et passer dans ses sous-répertoires, il faut avoir le droit de lecture r.
drwxrwxr-x 12 bilou bilou 4096 28 déc. 11:46 ..
d: ça c'est un répertoire, idem pour le reste

Il faut sans doute penser à créer un répertoire ftp et dans ce répertoire, créer les sous-répertoires dont tu as besoin.
Trouve d'abord une solution qui te convient en ligne de commande. On trouvera toujours le moyen de passer par php.

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

par olivxii » 08 mars 2012, 20:37

alors essaie concluant en faisant
adduser --home /var/www/mbrs/clients/clients/n1kwb2bb olivxii

par contre l'user créer peut remonter dans le ftp alors qu'il devrais rester sur son répertoire

je tombe bien sur le bon répertoire, maintenant comment réaliser cette opération en php ?

merci

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

par sirakawa » 08 mars 2012, 19:32

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
Planque en urgence le pass de root...

Oui parce que c'est l'usage unix lorsqu'il y a une erreur dans une commande de balancer toutes les options possibles
Normalement man adduser devrait être plus clair, mais de ça :

Code : Tout sélectionner

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
où tout ce qui est entre crochets est facultatif, et --home et autres sont le nom de l'option et DIR et autres sont les valeurs des options,
on peut tirer ça, je pense(c'est ce que je tenterais):

Code : Tout sélectionner

adduser --home /var/www/mbrs/clients/clients/n1kwb2bb [--no-create-home] toto
si le répertoire existe déja,
sinon

Code : Tout sélectionner

adduser --home /var/www/mbrs/clients/clients/n1kwb2bb toto
s'il faut créer le répertoire
qui devraient faire l'affaire.
Si ce n'est pas ça essaie de trouver de l'aide sur un forum debian pour la commande, et reviens après si besoin quand tu sais le faire en ligne de commande.

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

par olivxii » 08 mars 2012, 18:10

j'ai suivis ce tuto http://www.xenetis.org/a_29_installer_l ... lenny.html

mainteant je bloque pour créer mes utilisateurs en php

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

par xTG » 08 mars 2012, 17:36

A priori il ne connait pas l'argument d pour cette commande.

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

par olivxii » 08 mars 2012, 17:16

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