J'essaie d'utiliser vsftpd pour permettre à un utilisateur d'entrer et de modifier des fichiers dans / var / www / html, où la plupart des fichiers appartiennent à apache. Jusqu'à présent, j'ai utilisé setsebool pour activer le protocole ftp à l'échelle du système et j'ai également utilisé setfacl pour accorder à mon groupe d'utilisateurs ftp des autorisations rwx sur ce répertoire. L'exécution de getfacl le confirme. J'ai aussi fait cela récursivement. Mon problème est que, lorsqu'il se connecte via ftp, l'utilisateur peut voir tous les fichiers mais ne peut en éditer aucun, ni même créer de nouveaux fichiers dans le répertoire racine. J'ai donc oublié quelque chose. Des idées?
1
Réponses:
@djangofan Je ne sais pas si le sous-système SSHD ftp permet de chrooter l'utilisateur vers un répertoire spécifique ou non ... mais peut-être ...
@Peter - essayez de prendre un butin dans /var/log/vsftpd.log et voyez ce qui se passe lorsqu'un utilisateur tente de créer un répertoire dans son répertoire chrooté (/ var / www / html) - il doit enregistrer quelque chose, des autorisations et une réponse non valide. , impossible d’obtenir la liste des répertoires, etc. En outre, essayez de configurer votre client FTP en
PASSIVE
mode, cela semble résoudre beaucoup de problèmes liés à FTP.De plus, j'espère que vous chrootez les utilisateurs et que vous n'accordez pas un accès FTP complet au système ... c'est assez dangereux et vous risquez de le regretter un jour (FTP est extrêmement peu sécurisé et envoie par défaut des informations d'identification sur du texte brut - si vous l'activez l'encapsuleur SSL, il est beaucoup plus sécurisé, mais avoir un accès FTP complet au système n'est pas génial). Si vous avez réellement besoin d'un accès complet au système, de la configuration des autorisations d'origine et de la facilité d'utilisation, consultez la connexion au SCP, qui se connecte à l'aide de SSH (sécurisé) et l'utilisateur est limité aux autorisations que vous avez définies dans le système de fichiers (même utilisateur / etc / passwd).
J'ai déjà eu des problèmes pour installer vsftpd auparavant (ça peut être capricieux) ...
Voici un exemple de configuration de mon système de travail qui chroote les utilisateurs vers une structure de répertoires:
Et voici un exemple de user_config_dir (chroot):
la source
Si vous souhaitez utiliser httpd, vsftpd et SELinux, vous devez autoriser anon_write pour l'un des deux démons.
Vous pouvez utiliser la configuration par défaut avec donne avec
ls -laZ /var/www
et permettre à ftpd de faire des écritures anon via
Vous pouvez également inverser cette configuration en définissant un contexte ftp
et permettant à httpd de faire anon écrit via
J'irais pour la première installation (autorisant ftpd_anon_write) car elle conserve autant de configurations par défaut que possible.
Aussi, vous voudrez peut-être activer les booléens selinux suivants:
Ou même une "règle de tous" laide
la source