Serveur ftp droit d'acces
Résolu/Fermé
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
-
Modifié par mamiemando le 18/08/2012 à 12:59
m4-sis - 29 août 2012 à 18:06
m4-sis - 29 août 2012 à 18:06
A voir également:
- Serveur ftp droit d'acces
- Acces rapide - Guide
- Changer serveur dns - Guide
- Impossible d'atteindre le serveur dhcp - Forum Réseau
- Image libre de droit gratuite google - Guide
- Slash droit - Forum Excel
18 réponses
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
18 août 2012 à 21:06
18 août 2012 à 21:06
Parfait maintenant il ne reste plus qu'à configurer proftpd correctement et le redémarrer pour prendre les modifications en compte.
Par défaut la configuration de proftpd sous debian consiste à avoir un utilisateur ftp qui correspond à chaque utilisateur linux (et en utilisant le même mot de passe) hormis root. Par exemple si sur ta machine sont configurés les utilisateurs toto et tata, alors il y a implicitement moyen de se connecter via ftp en tant que toto ou en tant que tata. La seule exception est root.
On va supposer que toto peut se promener partout, tandis que tata doit resté prisonnier dans /home/tata. Pour cela on va utiliser cette option :
http://www.proftpd.org/docs/directives/linked/config_ref_DefaultRoot.html
Pour comprendre cette exemple il faut bien comprendre que en shell, /home/toto = ~toto = ~ quand on est loggué en toto. Sur le même principe, /home/tata = ~tata = ~ quand on est loggué en tata. En écrivant ceci on dit que tous les utilisateurs vont atterrir (et rester prisonniers) dans leur home directory. Ainsi on pourrait par exemple écrire dans /etc/proftpd/proftpd.conf ceci :
Maintenant, supposons que seul tata doit être prisonnier, mais pas toto. Alors on va expliciter qui est soumis à la règle "DefaultRoot" comme suggéré dans le lien précédent :
Il ne reste plus qu'à sauver le fichier /etc/proftpd/proftpd.conf et relancer proftpd :
Enfin, un petit test (par exemple avec le client lftp) et c'est parti :
Une fois authentifié en ftp affiche le contenu du répertoire courant, essaye de remonter, puis réaffiche le contenu du répertoire courant (dans lftp les commandes sont inspirées de celles du shell) :
Même test avec lftp tata@localhost, et normalement l'affaire est dans le sac :-)
Bonne chance
Par défaut la configuration de proftpd sous debian consiste à avoir un utilisateur ftp qui correspond à chaque utilisateur linux (et en utilisant le même mot de passe) hormis root. Par exemple si sur ta machine sont configurés les utilisateurs toto et tata, alors il y a implicitement moyen de se connecter via ftp en tant que toto ou en tant que tata. La seule exception est root.
On va supposer que toto peut se promener partout, tandis que tata doit resté prisonnier dans /home/tata. Pour cela on va utiliser cette option :
http://www.proftpd.org/docs/directives/linked/config_ref_DefaultRoot.html
Pour comprendre cette exemple il faut bien comprendre que en shell, /home/toto = ~toto = ~ quand on est loggué en toto. Sur le même principe, /home/tata = ~tata = ~ quand on est loggué en tata. En écrivant ceci on dit que tous les utilisateurs vont atterrir (et rester prisonniers) dans leur home directory. Ainsi on pourrait par exemple écrire dans /etc/proftpd/proftpd.conf ceci :
DefaultRoot ~
Maintenant, supposons que seul tata doit être prisonnier, mais pas toto. Alors on va expliciter qui est soumis à la règle "DefaultRoot" comme suggéré dans le lien précédent :
DefaultRoot ~ tata,!toto
Il ne reste plus qu'à sauver le fichier /etc/proftpd/proftpd.conf et relancer proftpd :
service proftpd restart
Enfin, un petit test (par exemple avec le client lftp) et c'est parti :
aptitude install lftp lftp toto@localhost
Une fois authentifié en ftp affiche le contenu du répertoire courant, essaye de remonter, puis réaffiche le contenu du répertoire courant (dans lftp les commandes sont inspirées de celles du shell) :
ls cd .. ls bye
Même test avec lftp tata@localhost, et normalement l'affaire est dans le sac :-)
Bonne chance
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
18 août 2012 à 13:00
18 août 2012 à 13:00
En fait ça dépend un peu du serveur ftp que tu utilises (protftpd, vsftpd etc...). Le plus simple c'est peut être d'installer proftpd (par exemple) et une interface graphique pour le configurer (gproftpd).
Bonne chance
Bonne chance
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
18 août 2012 à 13:03
18 août 2012 à 13:03
justement c'est pas possible! car c'est L'OS propriétaire netgear du nas la seul facon que je puisse faire est via ssh en root a l'ancienne :S
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
18 août 2012 à 13:30
18 août 2012 à 13:30
Ok, mais en attendant tu as quand même un serveur ftp qui tourne, non ?
Et ce serveur tu peux le configurer via ssh en altérant ses fichiers de configuration (par exemple avec nano) et en relançant le serveur ftp. Typiquement :
http://www.mistra.fr/tutoriel-linux-nano.html
En root :
Une fois le fichier corrigé :
Ça c'est en admettant que ce soit proftpd qui soit utilisé, mais il faudrait déjà voir quelle serveur est installé sur ton OS. Tu peux par exemple le voir avec la commande "dpkg -l" si tu es sous debian ou en regardant qu'est ce qui écoute sur le port 21 (qui est utilisé par ftp).
Bonne chance
Et ce serveur tu peux le configurer via ssh en altérant ses fichiers de configuration (par exemple avec nano) et en relançant le serveur ftp. Typiquement :
http://www.mistra.fr/tutoriel-linux-nano.html
En root :
nano /etc/proftpd/proftpd.conf
Une fois le fichier corrigé :
service proftpd restart
Ça c'est en admettant que ce soit proftpd qui soit utilisé, mais il faudrait déjà voir quelle serveur est installé sur ton OS. Tu peux par exemple le voir avec la commande "dpkg -l" si tu es sous debian ou en regardant qu'est ce qui écoute sur le port 21 (qui est utilisé par ftp).
(root@silk) (~) # dpkg -l | grep ftp ii lftp 4.3.6-1 Sophisticated command-line FTP/HTTP client programs ii proftpd-basic 1.3.4a-2+b1 Versatile, virtual-hosting FTP daemon - binaries (root@silk) (~) # netstat -ntlp | grep 21 tcp6 0 0 :::21 :::* LISTEN 2398/proftpd: (acce
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
18 août 2012 à 13:34
18 août 2012 à 13:34
c'est proftpd a la base mais la j'ai mis vsftpd mais je n'arrive plus a l'enlever message d'erreur
dpkg: error processing vsftpd (--remove): subprocess installed post-removal script returned error exit status 1 configured to not write apport reports Errors were encountered while processing: vsftpd
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
18 août 2012 à 14:28
18 août 2012 à 14:28
Quelle commande as-tu lancé pour désinstaller vsftpd ? Au pire essaye de le réinstaller et de le supprimer
Bonne chance
aptitude update aptitude safe-upgrade aptitude reinstall vsftpd aptitude purge vsftpd aptitude install proftpd-basic
Bonne chance
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
Modifié par M4-SiS le 18/08/2012 à 15:11
Modifié par M4-SiS le 18/08/2012 à 15:11
j'ai fais un reset du coup c'est de retour proftpd qui fonctionne
root@nas:~# vi /etc/proftpd.conf TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message DenyFilter \*.*/ PersistentPasswd on #Quotas off Port 21 DynMasqRefresh 7200 PassivePorts 1121 1122 AllowForeignAddress off MaxInstances 30 User nobody Group nogroup RequireValidShell off <Directory /*> Umask 022 022 AllowOverwrite on </Directory> Include /etc/frontview/proftpd/ftps.conf Include /etc/frontview/proftpd/User.conf - /etc/proftpd.conf 44/44 100% # Do not edit. ServerName "NETGEAR ReadyNAS" ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on AllowOverwrite on AllowStoreRestart off UseReverseDNS off IdentLookups off TimesGMT off WtmpLog off ServerLog /var/log/proftpd.log SystemLog /var/log/proftpd.log TransferLog /var/log/proftpd.log BanLog /var/log/proftpd.log MaxLoginAttempts 2 BanEngine on BanTable /ramfs/ftp_ban.tbl BanOnEvent MaxLoginAttempts 5/00:10:00 00:15:00 TimeoutNoTransfer 600 TimeoutStalled 600 - /etc/proftpd.conf 1/44 2%
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
Modifié par mamiemando le 19/08/2012 à 19:02
Modifié par mamiemando le 19/08/2012 à 19:02
ok je comprends, on mets ça dans proftpd.conf ?
Moi mon souhait est je me connecte en root je vois tout ceux qui est normal, mais je veux que par exemple toto quand il se connecte voit seulement un dossier qui est a la racine du ftp et non sont dossier user
Moi mon souhait est je me connecte en root je vois tout ceux qui est normal, mais je veux que par exemple toto quand il se connecte voit seulement un dossier qui est a la racine du ftp et non sont dossier user
Mykkel
Messages postés
157
Date d'inscription
dimanche 16 janvier 2011
Statut
Membre
Dernière intervention
25 février 2016
6
19 août 2012 à 19:03
19 août 2012 à 19:03
salut ,
si tu n ' y arrives pas avec vsftpd une autre méthode :
-sftp : utilisation ssh + ftp
-rssh : commandes restrictives pour l 'utilisateur qui se connecte (shell réduit)
-chrootage: l' utilisateur est enfermé dans un répertoire (et sous répertoire) bien défini.
sftp n ' est pas la même chose que ftps qui utilise openssl, à ne pas confondre.
et bien évidement, cela reste compatible aussi avec un client Windows comme WinSCP.
si je t' indique ceci, c' est parceque le noyau en question est Debian.
les explications qui répondent exactement à ce que tu cherches:
https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813
si tu n ' y arrives pas avec vsftpd une autre méthode :
-sftp : utilisation ssh + ftp
-rssh : commandes restrictives pour l 'utilisateur qui se connecte (shell réduit)
-chrootage: l' utilisateur est enfermé dans un répertoire (et sous répertoire) bien défini.
sftp n ' est pas la même chose que ftps qui utilise openssl, à ne pas confondre.
et bien évidement, cela reste compatible aussi avec un client Windows comme WinSCP.
si je t' indique ceci, c' est parceque le noyau en question est Debian.
les explications qui répondent exactement à ce que tu cherches:
https://www.debian-fr.org/t/serveur-sftp-shell-reduit-rssh-et-chroot/26813
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
19 août 2012 à 19:03
19 août 2012 à 19:03
Oui dans /etc/proftpd/proftpd.conf (puis relance proftpd).
Si tu regardes ce que j'ai écrit dans mon précédent message, il suffit de voir ce que j'ai défini pour toto et tata et de l'adapter avec les profils que tu veux utiliser (root et toto).
Si tu regardes ce que j'ai écrit dans mon précédent message, il suffit de voir ce que j'ai défini pour toto et tata et de l'adapter avec les profils que tu veux utiliser (root et toto).
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
Modifié par M4-SiS le 19/08/2012 à 21:21
Modifié par M4-SiS le 19/08/2012 à 21:21
j'ai ajouté la ligne
DefaultRoot ~ tata,!toto
et j'ai essayer DefaultRoot /www ~ webmaster,!root
et aucun changement..
DefaultRoot ~ tata,!toto
et j'ai essayer DefaultRoot /www ~ webmaster,!root
et aucun changement..
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
20 août 2012 à 00:09
20 août 2012 à 00:09
Déjà tu es sûr que ce n'est pas plutôt /var/www (au lieu de /www). Ensuite Tu as mis deux répertoires derrière DefaultRoot (/www et ~) or normalement il n'y en n'a qu'un. Du coup la ligne serait plutôt
Autre possibilité, tu fais atterrir tout le monde dans son ~ (respectivement /home/webmaster et /root), quitte à monter le contenu de /www (ou de /var/www) dans /home/webmaster/ avec un mount bind :
https://forums.commentcamarche.net/forum/affich-16654048-lien-symbolique-sur-ftp
Concrètement ça consiste à ajouter une ligne dans /etc/fstab, ou tu indiques que le contenu de /var/www et de /home/webmaster/www concordent. Ajoute à la fin de /etc/fstab cette ligne :
Ensuite tape les commandes suivantes en root :
Bonne chance
DefaultRoot /var/www webmaster,!root
Autre possibilité, tu fais atterrir tout le monde dans son ~ (respectivement /home/webmaster et /root), quitte à monter le contenu de /www (ou de /var/www) dans /home/webmaster/ avec un mount bind :
https://forums.commentcamarche.net/forum/affich-16654048-lien-symbolique-sur-ftp
Concrètement ça consiste à ajouter une ligne dans /etc/fstab, ou tu indiques que le contenu de /var/www et de /home/webmaster/www concordent. Ajoute à la fin de /etc/fstab cette ligne :
/var/www /home/webmaster/www none bind 0 0
Ensuite tape les commandes suivantes en root :
mkdir -p /home/webmaster/www mount /home/webmaster/www
Bonne chance
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
21 août 2012 à 18:50
21 août 2012 à 18:50
j'ai essayer des solution mais en vain
mon utilisateur a bien un dossier /home/web
mais quand il se connecte il y se trouve la racine..
mon utilisateur a bien un dossier /home/web
mais quand il se connecte il y se trouve la racine..
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
21 août 2012 à 19:34
21 août 2012 à 19:34
Si tu ne me reportes pas la ligne DefaultRoot de /etc/proftpd/proftpd.conf et le résultat pour root (quel répertoire, peut-il aller partout) + pareil pour l'autre utilisateur, je vois difficilement comment je peux t'aider.
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
Modifié par M4-SiS le 21/08/2012 à 22:01
Modifié par M4-SiS le 21/08/2012 à 22:01
Bon j'avance :D
Dernier bug c'est que quand je me log en admin je souhaiterai voir et modifier le dossier web
DisplayLogin welcome.msg DisplayChdir .message DenyFilter \*.*/ PersistentPasswd on #Quotas off Port 21 DefaultRoot ~ DynMasqRefresh 7200 PassivePorts 1121 1122 AllowForeignAddress off MaxInstances 30 User nobody Group nogroup RequireValidShell off <Directory /*> Umask 022 022 AllowOverwrite on </Directory> Include /etc/frontview/proftpd/ftps.conf Include /etc/frontview/proftpd/User.conf root@nas:~# service proftpd restart Stopping ftp server: proftpd. Starting ftp server: proftpd. root@nas:~# service proftpd restart Stopping ftp server: proftpd. Starting ftp server: proftpd. root@nas:~# vi /etc/proftpd.conf TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message DenyFilter \*.*/ PersistentPasswd on #Quotas off Port 21 DefaultRoot ~ !admin DynMasqRefresh 7200 PassivePorts 1121 1122 AllowForeignAddress off MaxInstances 30 User nobody Group nogroup RequireValidShell off <Directory /*> Umask 022 022 AllowOverwrite on </Directory> root@nas:~# service proftpd restart Stopping ftp server: proftpd. Starting ftp server: proftpd.
Dernier bug c'est que quand je me log en admin je souhaiterai voir et modifier le dossier web
drwx------ 2 admin admin 4096 2012-08-19 00:42 admin drwx------ 2 web users 4096 2012-08-21 21:19 web
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
22 août 2012 à 10:07
22 août 2012 à 10:07
Juste quelques remarques, ça m'étonne que tu es la directive DefaultRoot a deux endroits. À mon avis tout peut s'écrire sur une ligne, non ?
Autre conseil, je te conseille d'écrire tes noms de fichiers en minuscules pour avoir des notations homogènes (même si ce que tu as écris est tout à fait juste).
Dernier bug c'est que quand je me log en admin je souhaiterai voir et modifier le dossier web
Plusieurs solution :
- tu attribues le dossier web à admin:web et tu donnes les droits en écriture au groupe web
cd /le/repertoire/dans/lequel/est/place/web
sudo chown -R admin:web web/
find web/ -type f -exec chmod 640 {} \;
find web/ -type d -exec chmod 750 {} \;
Si la gestion des droits te paraît obscure (chown, chmod etc...) je t'invite à lire le man correspondant et ce cours :
http://www.mistra.fr/tutoriel-linux-profils-et-droits.html
http://www.mistra.fr/tutoriels-linux-mode-texte/tutoriel-linux-man.html
Note qu'ici les fichiers appartiennent à admin pour que web ne puisse pas changer les droits associés à ces fichiers.
- autre solution, tu peux utiliser des droits acl :
http://doc.ubuntu-fr.org/acl
DefaultRoot ~ ... DefaultRoot ~ !admin
Autre conseil, je te conseille d'écrire tes noms de fichiers en minuscules pour avoir des notations homogènes (même si ce que tu as écris est tout à fait juste).
Include /etc/frontview/proftpd/ftps.conf Include /etc/frontview/proftpd/User.conf
Dernier bug c'est que quand je me log en admin je souhaiterai voir et modifier le dossier web
Plusieurs solution :
- tu attribues le dossier web à admin:web et tu donnes les droits en écriture au groupe web
cd /le/repertoire/dans/lequel/est/place/web
sudo chown -R admin:web web/
find web/ -type f -exec chmod 640 {} \;
find web/ -type d -exec chmod 750 {} \;
Si la gestion des droits te paraît obscure (chown, chmod etc...) je t'invite à lire le man correspondant et ce cours :
http://www.mistra.fr/tutoriel-linux-profils-et-droits.html
http://www.mistra.fr/tutoriels-linux-mode-texte/tutoriel-linux-man.html
man chown man chmod
Note qu'ici les fichiers appartiennent à admin pour que web ne puisse pas changer les droits associés à ces fichiers.
- autre solution, tu peux utiliser des droits acl :
http://doc.ubuntu-fr.org/acl
M4-SiS
Messages postés
13
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
22 août 2012
22 août 2012 à 12:07
22 août 2012 à 12:07
Bien vu pour le doublon de defaultroot je vai regler le soucis ;)
Pour les histoires de majuscule c'est mon Nas qui le fait ..
donc si je dit pas de betise il suffit de faire:
root@nas:/home# chown -r admin:web web
puis un chmod -r 770 web
exact?
Pour les histoires de majuscule c'est mon Nas qui le fait ..
donc si je dit pas de betise il suffit de faire:
root@nas:/home# chown -r admin:web web
puis un chmod -r 770 web
exact?
mamiemando
Messages postés
33459
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
8 janvier 2025
7 813
29 août 2012 à 11:34
29 août 2012 à 11:34
Ouais, et vu que tu as marqué le problème en résolu, j'imagine que tu es satisfait du résultat !
Bonne continuation
Bonne continuation