Jusqu'à présent, je n'ai pas pu garder un utilisateur FTP emprisonné dans le répertoire de leur site Web. Existe-t-il une solution qui corrige ce bogue et garde l'utilisateur emprisonné dans son répertoire?
Mes paramètres vsFTPd que j'ai modifiés:
listen_port=9000
Set: anonymous_enable=NO
Uncomment: local_enable=YES
Uncomment: write_enable=YES
Uncomment: local_umask=022
Set: connect_from_port_20=NO
Uncomment: idle_session_timeout=600
Uncomment: data_connection_timeout=120
Comment out: #ftpd_banner=Welcome to blah FTP service. [should be on line 104]
Added: banner_file=/etc/issue.net
Uncomment: chroot_local_user=YES
Uncomment: chroot_local_user=YES
Uncomment: chroot_list_enable=YES
Uncomment : chroot_list_file=/etc/vsftpd.chroot_list
À la fin du fichier, j'ai ajouté:
# Show hidden files and the "." and ".." folders.
# Useful to not write over hidden files:
force_dot_files=YES
# Hide the info about the owner (user and group) of the files.
hide_ids=YES
# Connection limit for each IP address:
max_per_ip=10
# Maximum number of clients:
max_clients=5
# FTP Passive Settings
pasv_enable=YES
#If your listen_port is 9000 set this range to 7500 and 8500
pasv_min_port=[port range min]
pasv_max_port=[port range max]
L'utilisateur en question mybloguser
,, est emprisonné dans le répertoire de son site Web sous /srv/www/myblog
et cet utilisateur ne fait pas partie du nano /etc/vsftpd.chroot_list
fichier. Le répertoire personnel de l'utilisateur est également celui /srv/www/myblog
qui fonctionnait auparavant.
J'ai essayé la allow_writeable_chroot=YES
solution qui n'a pas fonctionné et j'ai complètement cassé vsFTPd.
J'ai essayé:
Comment pouvons-nous à la fois corriger cette erreur et garder l'utilisateur emprisonné dans son répertoire personnel?
allow_writeable_chroot=YES
était suffisant et fonctionnait "comme prévu" FWIW ...Réponses:
Pour VSFTPD 3,
/etc/vsftpd.conf
et ajoutez ceci:
Ajoutez-le simplement s'il n'existe pas encore.
Redémarrez le service vsftpd:
Et ça devrait marcher.
la source
La vraie solution de ce problème: le dossier personnel de l'utilisateur ne doit pas être accessible en écriture mais seulement lisible.
Donc, si le site utilisateur est dans le dossier
cat/example.com/http/
, le dossiercat
doit avoirchmod 555
et tout ira bien.la source
Après un examen plus approfondi de ce message, dans les commentaires, un package a été publié qui a résolu mon problème. Vous pouvez le rechercher par mon nom ou par la documentation "Marks": http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/ . Voici mes détails sur la façon dont j'ai résolu ce problème.
LES UTILISATEURS SONT TOUJOURS JAILÉS À LEURS RÉPERTOIRES À DOMICILE !!!
la source
Selon la réponse précédente "La VRAIE solution de ce problème: le dossier personnel de l'utilisateur ne doit pas être accessible en écriture uniquement en lecture.". La pensée générale est juste, mais avec une mauvaise réalisation.
Ci-dessous, je vais essayer de donner un exemple simple:
Pour commencer, nous devons construire une topologie du répertoire utilisateur:
vsftpd.conf coupe:
Cette configuration fonctionne très bien avec un configuration mono-utilisateur . Pour les multi-utilisateurs, la directive "user_config_dir" doit être utilisée en plus.
** MISE À JOUR 20/09
------ **
Voici une solution de contournement délicate, pas la meilleure idée à utiliser, mais .... Si vous avez besoin d'un dossier racine ftp accessible en écriture, insérez simplement les commandes de changement d'autorisation dans les commandes de pré-démarrage et de post-démarrage.
Pré-démarrage - modifiez les autorisations en lecture seule, dont le serveur a besoin (:
Démarrer le serveur
Post-démarrage - modifiez l'autorisation de lecture-écriture ou dont vous avez besoin.
la source
C'est à peu près ce que toastboy70 a mentionné. Rendre le répertoire racine ftp affiché dans ftp.ftp et non inscriptible (/etc/vsftpd.conf): anon_root = / srv / ftp
Créez ensuite un répertoire enfant accessible en écriture: / srv / ftp / upload
la source
J'avais également besoin d'ajouter ce qui suit au fichier /etc/vsftpd.conf:
ET pas besoin du repo personnalisé !!
Et décommentez la ligne:
la source
La solution simple consiste à faire comme le message d'erreur le suggère: rendre la racine non accessible en écriture et puis si vous devez activer les téléchargements, créez un sous-répertoire qui dispose d'une autorisation d'écriture. Aucun changement de configuration nécessaire.
la source
Après 3 heures de recherche sur Google, j'ai réussi à utiliser Ubuntu 14.04.2 LTS VSFTPd 3. Le dossier personnel sera visible / home / vimal une fois accessible avec un client. Je me suis connecté avec vimal avec le privilège root. J'ai créé le dossier ftpShare, mais n'a pas beaucoup de sens.
quelques commandes utiles:
Ci-dessus signifie que le démon ftp fonctionne
J'ai la configuration suivante:
Une fois que FTP fonctionne, vous pouvez l'adapter à des besoins spécifiques, certains d'entre eux ont des valeurs par défaut, mais je ne me souviens pas exactement.
Erreurs vues dans le client FTP:
1. 500 OOPS: échec de prctl PR_SET_SECCOMP
Solution.
[ajoutez-le sur la toute première ligne vsftpd.conf, après la fin de la section commentée initiale]
2. 500 OOPS: vsftpd: refus de fonctionner avec une racine accessible en écriture dans chroot ()
Je l'ai ajouté à la dernière ligne.
la source
J'ai résolu le problème de vsFTPd refusant de s'exécuter avec une racine accessible en écriture dans chroot () sur mon serveur Ubuntu comme suit:
Je viens d'ajouter la ligne ci-dessous dans le
vsftpd.conf
fichier:la source