vsftpd - racine_locale = / var / www / sites / $ USER n'est pas interprété?

11

Lorsque j'essaie de me connecter au serveur FTP, j'obtiens: "500 OOPS: impossible de changer de répertoire: / home / $ USER / public_html"

  • quand je fais écho $ USER - je reçois le nom d'utilisateur correct
  • semble que $ USER n'est pas interprété dans mon /etc/vsftpd.conf
  • lorsque je supprime "local_root = / var / www / sites / $ USER", tout fonctionne correctement.

J'utilise vsftpd 2.2.2 et Ubuntu 10.04.1 LTS Version: 10.04 Nom de code: lucid

Pawel
la source

Réponses:

21

Ce que vous devez utiliser est un combo de user_config_dir et local_root. Dans le fichier de configuration principal /etc/vsftpd/vsftp.conf, vous avez une entrée comme:

chroot_local_user=YES
user_config_dir=/etc/vsftpd/users

Dans ce répertoire (/ etc / vsftpd / users) vous avez un fichier de configuration avec le même nom que l'utilisateur ($ USER dans votre cas), et à l'intérieur de ce fichier vous avez:

local_root=/var/www/sites/USER
dirlist_enable=YES
download_enable=YES
write_enable=YES

... où USER est le nom réel (pas littéralement USER ou $ USER).


la source
2
Le passage important ici est use:, user_sub_token=$USERcela fait que la configuration originale de l'affiche fonctionne car la variable $ USER obtient une valeur utilisable. Voir mon commentaire dans l'autre réponse.
user3450548
5

Vous devez définir user_sub_token:

user_sub_token=$USER
local_root=/var/www/sites/$USER
Michaël Witrant
la source
2
Amusant que ce soit la vraie solution réelle, ce que l'affiche originale voulait faire était réellement applicable. Vous pouvez également l'utiliser dans l'autre exemple proposé, mais vous n'avez pas besoin nécessairement de l'activer user_config_dir. Vous pouvez le faire ou non, selon votre goût. Le passage important ici est user_sub_token=$USER, car c'est celui qui remplit le $USERvar avec quelque chose utilisable à l'intérieur de la conf. Voir la user_sub_tokendescription dans la page de manuel: "Cette option prend également effet si local_root contient user_sub_token."
user3450548