Interdire caracteres logins utilisateur.

Résolu
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   -  
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir a tous,
Je vient vous voir car j'ai un ftp sur lesquel les gens peuvent créer leur compte au travers c'un site ... et en metttant des nom du genre ../../user ils peuvent mettre leur home nimporte ou dans l'arborescence.
J'ai donc besoin d'interdire certains caracteres dans le login des utilisateur ("/") ...

Pour cela j'ai essayer d'editer le fichier /etc/login.defs en y rajoutant :
CHARACTER_CLASS [A-Za-z_] [A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\?
(que j'avais vu dans le livre "LINUX Maitrisez l'administration du systeme").
Mais quand j'essaye de créer un utilisateur ce message d'erreur aparait.
configuration error - unknown item 'CHARACTER_CLASS' (notify administrator)


Merci d'avance pour votre aide.

ps : je suis sous raspbian




--
A voir également:

4 réponses

zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Salut,

Essaies de voir dans
/etc/adduser.conf
, dont voici un extrait :
# check user and group names also against this regular expression.
#NAME_REGEX="^[a-z][-a-z0-9_]*\$"

En adaptant la regex avec la tienne…

0
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci pour ta reponce zipe31,
j'ai mis la regex dans mon fichier (la meme que toi) mais les utilisateurs peuvent toujour créer des login du genre "../lol"
0
UnGars > CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Apparemment la regex citée plus haut est l'exemple par défaut que l'on trouve dans le fichier
/etc/adduser.conf
. Il te faut l'adapter à tes besoins.
0
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   3 > UnGars
 
Salut UnGars ^^
Merci pour ta reponse mais comment éditer la regex ? quelle est sa syntaxe ?
0
UnGars > CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention  
 
Déjà essaye de mettre la même que celle de ton 1er post.
0
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   3 > UnGars
 
Enfaite ça marche mais le seul problème c'est que avec PHP j'utilise useradd (et pas adduser) car c'est non interactif.
Savez vous comment faire ?
0
dna.factory Messages postés 29293 Date d'inscription   Statut Modérateur Dernière intervention   1 619
 
[A-Za-z_] [A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\ 

Les gens ont vraiment le droit de mettre des points et des dollars dans leurs logins ?

Une autre solution, que personnellement je trouverais plus simple consiste à intercepter l'information entrée sur le site, et à la contrôler AVANT de créer le compte avec.
(de toute façon, c'est quelque chose qu'il faut systématiquement faire pour eviter les injections)
Par contre, ça sous-entends que vous ayez contrôle sur le site
0
UnGars
 
Les gens ont vraiment le droit de mettre des points et des dollars dans leurs logins ?
La regex est extraite du fichier
/etc/login.defs
(obsolète apparemment de nos jours), qui si j'ai bien compris, s'occupait surtout de la structure des mots de passe, d'où l'acceptation des caractères sus-cités ;-\
0
dna.factory Messages postés 29293 Date d'inscription   Statut Modérateur Dernière intervention   1 619
 
je comprends mieux.
0
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   3
 
Merci a tous pour vos réponses ^^

dna.factory : non avec adduser ils n'ont pas le droit.

Quand au contrôle avec php je comptais faire ça en 2eme solution si la règle adduser ne marchais pas ...
--
0
CyRux Messages postés 164 Date d'inscription   Statut Membre Dernière intervention   3
 
Finalement j'ai fait ça en PHP ^^
Merci de votre aide

--
0