Alors probablement que ton ftp est démarré dès le boot de la machine et pas à la demande par inetd.
[code]J'ai fait au plus simple (et qui fonctionne surtout):
# adduser USERNAME
ensuite, dans /etc/passwd
j'ai modifié la ligne contenant le USERNAME avec comme shell "/bin/true"
J'ai aussi déclaré le shell /bin/true comme shell valide dans /etc/shells
[/code]
Rien à dire pour le adduser, c'est correct si tu désactives son shell de login.
Par contre, /bin/true et /bin/false ne sont pas les noms de shells.
Extrait des man pages de true et false:
[code]
true ne fait rien d'autre que renvoyer un code de retour valant 0, signifiant ``réussite''.
false ne fait rien, mais renvoie un code de retour valant 1, signifiant ``échec''.
[/code]
C'est la raison pour laquelle on met /bin/false à la place du shell dans les comptes utilisateurs qui ne doivent pas se logguer sur la machine. Avec ça impossible de se logguer.
Par contre, si tu mets /bin/true ça doit avoir le même effet ... ?
Mais pas très juste, je ne sais pas j'y avais jamais pensé :slightly_smiling:
Peut-être un trou de sécurité potentiel ? (code de retour 0)
Ca serait intéressant de savoir. Quelqu'un a une idée sur le sujet ?
Du côté de proftpd, les users virtuels t'évitent de devoir déclarer tes users au niveau OS. Mais les 2 méthodes fonctionnent sans problème.
[quote]DefaultRoot est activé, ça limite USERNAME à son répertoire racine (celui que j'ai déclaré dans /etc/passwd
[/quote]
Me rappelle plus, ca limite le user à son rép. perso, je pense. Si c'est ça c'est tout à fait correct.
[quote]
Quelle est la différence entre les shells
/bin/true
/bin/bash
/bin/false
[/quote]
On pourrait jouer au jeu: dans cette liste, trouvez-moi un véritable shell ! :laughing:
En fait, comme dit plus haut il n'y a que bash qui soit un shell.
Sur ton système, tu peux trouver les shells suivants:
(y en a certains que je connais pas...)
luciole:~# cat /etc/shells
# /etc/shells: valid login shells
/bin/ash
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/zsh
/bin/sash
/bin/zsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
luciole:~#
/usr/bin/rc <-- cé koi c'machin ???
Tu choisis selon tes préférences ... Le mieux est de consulter la doc.
Alors probablement que ton ftp est démarré dès le boot de la machine et pas à la demande par inetd.
[code]J’ai fait au plus simple (et qui fonctionne surtout):
adduser USERNAME
ensuite, dans /etc/passwd
j’ai modifié la ligne contenant le USERNAME avec comme shell “/bin/true”
J’ai aussi déclaré le shell /bin/true comme shell valide dans /etc/shells
[/code]
Rien à dire pour le adduser, c’est correct si tu désactives son shell de login.
Par contre, /bin/true et /bin/false ne sont pas les noms de shells.
Extrait des man pages de true et false:
true ne fait rien d'autre que renvoyer un code de retour valant 0, signifiant ``réussite''.
false ne fait rien, mais renvoie un code de retour valant 1, signifiant ``échec''.
C’est la raison pour laquelle on met /bin/false à la place du shell dans les comptes utilisateurs qui ne doivent pas se logguer sur la machine. Avec ça impossible de se logguer.
Par contre, si tu mets /bin/true ça doit avoir le même effet … ?
Mais pas très juste, je ne sais pas j’y avais jamais pensé
Peut-être un trou de sécurité potentiel ? (code de retour 0)
Ca serait intéressant de savoir. Quelqu’un a une idée sur le sujet ?
Du côté de proftpd, les users virtuels t’évitent de devoir déclarer tes users au niveau OS. Mais les 2 méthodes fonctionnent sans problème.
[quote]DefaultRoot est activé, ça limite USERNAME à son répertoire racine (celui que j’ai déclaré dans /etc/passwd
[/quote]
Me rappelle plus, ca limite le user à son rép. perso, je pense. Si c’est ça c’est tout à fait correct.
On pourrait jouer au jeu: dans cette liste, trouvez-moi un véritable shell !
En fait, comme dit plus haut il n’y a que bash qui soit un shell.
Sur ton système, tu peux trouver les shells suivants:
(y en a certains que je connais pas…)
luciole:~# cat /etc/shells
/etc/shells: valid login shells
/bin/ash
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/zsh
/bin/sash
/bin/zsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
luciole:~#
/usr/bin/rc <-- cé koi c’machin ???
Tu choisis selon tes préférences … Le mieux est de consulter la doc.