J'ai un serveur Ubuntu 12.04 et j'ai installé le service VSFTPD pour FTP.
J'essaie de créer un utilisateur FTP qui n'a accès qu'au répertoire / var/www / et à toutes les autorisations pour les sous-répertoires.
FTPUser ne doit avoir accès à aucun répertoire ni fichier de niveau racine/supérieur.
Jusqu'ici j'ai fait les choses suivantes.
Après avoir fait tout cela, mon utilisateur FTP1 peut toujours accéder aux répertoires et aux fichiers de niveau supérieur.
S'il vous plaît laissez-moi savoir, Comment puis-je bloquer l'accès de haut niveau?
(Vous ne savez pas pourquoi une question de 2014 apparaît à nouveau sur la page d'accueil, mais de toute façon: D)
Ce n'est probablement pas une bonne idée de jouer avec les autorisations globales du reste du système de fichiers, comme cela a été suggéré dans l'autre réponse. Un meilleur moyen serait d'utiliser une fonctionnalité appelée "chroot".
"chroot", abréviation de "changer de racine", ne fait que: il change la racine de l'arborescence de répertoires que l'utilisateur (FTP) peut accéder à ce que l'administrateur souhaite que ce soit. Parfois, la même fonctionnalité est appelée "jailing" l'utilisateur dans son répertoire personnel.
La plupart des serveurs FTP prennent en charge le chroot (à l'exception de quelques très petits serveurs nus). Je ne connais pas vraiment vsftpd, mais selon cette procédure sur Cybercity vous devez définir la directive de configuration chroot_local_user
sur 1
.
En tant que propriétaire/root, exécutez:
chmod 700 -r [directory]
700
signifie que seul le propriétaire a un accès complet, -r
signifie que les règles sont appliquées aux sous-dossiers. Vous voudrez aussi:
chown user:user -r [/path/to/dir]
La commande chown
change le propriétaire. user:
est le nom d'utilisateur qui deviendra propriétaire; le: user
est le groupe.