Utilisateur FTP Impossible de modifier des fichiers, mais a les bonnes autorisations
J'ai créé un nouvel utilisateur (
), et quand il entre dans le système à travers ftp, Il ne peut pas modifier des fichiers dans le répertoire auquel il a accès.
Dans le catalogue, il peut se connecter
Donne moi:
L'utilisateur appartient au groupe
. Voici le résultat
Pour démontrer que c'est vraiment dans ce groupe:
* Modifiez les droits d'accès au catalogue contenant:
Et celui ci-dessus:
Donc, comme il peut se connecter à travers ftp, et puisque le dossier qu'il doit modifier a les bonnes autorisations pour permettre au groupe
lit et enregistre le fichier et il est membre de ce groupe, pourquoi il ne peut pas le modifier (ou télécharger quoi que ce soit)?
Seulement quand je change le fichier sur
Il peut le modifier. Comme si ce n'était pas dans le groupe ... Mais il est! Quel est le problème?
foo
), et quand il entre dans le système à travers ftp, Il ne peut pas modifier des fichiers dans le répertoire auquel il a accès.
Dans le catalogue, il peut se connecter
ls -l
Donne moi:
-rw-rw-r-- 1 root www-pub 6427 Nov 17 04:21 index.html
L'utilisateur appartient au groupe
www-pub
. Voici le résultat
cat /etc/group
Pour démontrer que c'est vraiment dans ce groupe:
...
www-pub:x:1001:ftpuser,www-data,foo
foo:x:1002:
* Modifiez les droits d'accès au catalogue contenant:
drwxrwsr-x 5 root www-pub 4096 Nov 17 02:53 thecontainingdir
Et celui ci-dessus:
drwxrwsr-x 49 root www-pub 4096 Nov 16 02:40 thenextdirup
Donc, comme il peut se connecter à travers ftp, et puisque le dossier qu'il doit modifier a les bonnes autorisations pour permettre au groupe
www-pub
lit et enregistre le fichier et il est membre de ce groupe, pourquoi il ne peut pas le modifier (ou télécharger quoi que ce soit)?
Seulement quand je change le fichier sur
777
Il peut le modifier. Comme si ce n'était pas dans le groupe ... Mais il est! Quel est le problème?
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Alice
Confirmation de:
Des détails
Eh bien, le problème s'est posé à cause de ce que j'ai utilisé vsftpd version 2.3.5 (Dernier package disponible pour mon serveur). Cette version vsftpd Nécessite un répertoire domestique de l'utilisateur ftp N'a pas eu le droit d'enregistrer. Oui, vous le lisez correctement. Donc, dans mon cas, je voulais que l'utilisateur se connecte au serveur Web root par ftp Et commencer à éditer. Je ne peux pas le faire. J'ai dû créer un autre répertoire sur le répertoire Web racine, en faire un répertoire utilisateur fait maison, le rendre inaccessible à enregistrer, puis l'utilisateur pourrait se connecter. ftp, Aller au catalogue Web racine et modifier / Téléchargez comme prévu.
Dans mon cas, cette solution est en train de sucer, car j'ai plusieurs utilisateurs travaillant à différentes profondeurs de plusieurs répertoires virtuels, mais au moins cela fonctionne (Et j'utilise l'écrasement pour que les gens ne confondent pas). Maintenant, j'ai besoin de toujours suivre le fait que tout ce que je veux attribuer un utilisateur spécifique, il y a un catalogue de shell.
Les principales offres que j'ai trouvées sur Internet:
(Cela ne fonctionnait pas non seulement, mais a également causé des problèmes de redémarrage du démon. Je soupçonne que cela fonctionne si vous avez une version ultérieure (3.0+) vsftpd)
Aller à la version précédente vsftpd
(J'ai supprimé la version actuelle et j'ai commencé à essayer de forcer l'ancienne version à travailler avec mon serveur, mais j'ai rencontré un tel certain nombre de dépendances manquantes et infructueuses, qui les ont refusé. D'autres utilisateurs en ligne ont eu la chance de revenir à la version. 2.3.2 ou à la version 3. x, Si vous pouvez compiler votre propre)
Quelques autres solutions proposées proposées par l'un des développeurs vsftpd, Que j'ai trouvé sur Internet:
Déterminer l'option local_root = Dans le fichier de configuration. ça devrait être / home ou autre moyen du répertoire avec des dossiers utilisateur. De cette façon, vsftpd va dans le répertoire racine / home.
(Cela ne fonctionnera pas pour moi, car je ne peux pas avoir la seule racine locale)
Déterminer l'option passwd_chroot_enable = yes Dans le fichier de configuration et modifiez le répertoire de base de l'utilisateur dans le fichier / etc / passwd avec «/ home / user» sur le «/home/./user» (sans quavichek). De cette façon, vsftpd va dans le répertoire racine / home.
(Cela ne fonctionnera tout simplement pas sur mon serveur.)
Code de la source de charge vsftpd-ext, Compiler et redémarrer les fichiers binaires existants vsftpd Ou prenez-le des référentiels et ajoutez au fichier de configuration
option allow_writeable_root = yes.
(Je ne peux pas compiler sur ce serveur.)