Lorsque j'essaie de placer mes fichiers Web dans /var/www
in apache sur mon instance ec2 Ubuntu, cela me donne une erreur indiquant que je n'ai pas la permission.
Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3
Comment puis-je me donner la permission de le faire ou quelle est la meilleure façon de copier des fichiers /var/www
avec WinSCP?
Activez les autorisations d'écriture pour l'utilisateur se connectant via WinSCP. Il y a deux façons de faire ça.
La première façon consiste à modifier les autorisations sur le dossier pour permettre à quiconque d'y écrire. Ce n'est pas la meilleure sécurité.
La deuxième façon consiste à ajouter votre utilisateur au groupe propriétaire du répertoire, puis à définir les autorisations pour que le groupe écrive dans le répertoire.
Découvrez à qui appartient l'annuaire:
Vous verrez quelque chose comme: drwxr-x --- 9 www-data www-data 4096 14 juillet 2009 www La chose importante à noter sont les deux noms root et root. Dans ce cas, le propriétaire de l'annuaire est www-data et le groupe de l'annuaire est www-data. Alors maintenant, vous allez ajouter votre utilisateur au groupe www-data.
Maintenant, ajoutez simplement l'autorisation d'écriture au groupe.
Maintenant
devrait retourner: drwxrwx --- 9 www-data www-data 4096 14 juil 2009 www
Avec cela, vous pourrez écrire dans le répertoire, sans ouvrir les privilèges d'écriture à tout le monde.
la source
sur ec2 cela fonctionne pour moi. Connectez-vous à box via putty avec l'utilisateur "ec2-user" et utilisez les commandes:
Remarque: cela accorde un accès en écriture à tous les utilisateurs.
Devrait maintenant être capable d'écrire en utilisant WinScp.
la source
Le tutoriel suivant a fonctionné pour moi et fournit des captures d'écran utiles. La connexion en tant qu'utilisateur régulier avec des autorisations sudo a simplement nécessité de modifier quelques options WinSCP: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Définissez le protocole de session / fichier sur: SCP, entrez l'adresse IP de l'hôte / instance, le port - généralement 22 et le nom d'utilisateur normal. Entrez les informations d'identification du mot de passe si la connexion l'exige. Ajoutez le fichier de clé privée correspondant de l'utilisateur dans Avancé / SSH / Authentification.
Si vous décochez la case Avancé / SSH / Authentification / tentative, l'authentification "clavier interactive" devrait permettre à Advanced / Environment / SCP Shell / Shell / Shell: sudo su - de fournir des autorisations sudo pour accéder aux répertoires du serveur Web en tant qu'utilisateur non propriétaire.
Mise à jour: 08/03/2017
La journalisation WinSCP peut être utile pour résoudre les problèmes.
winscp.net/eng/docs/logging:
En fonction des erreurs de connexion WinSCP, certaines installations de serveur peuvent nécessiter une directive ajoutée au fichier (Ubunto, CentOS, autre-Linux-Server) / etc / sudoers pour ne pas nécessiter de TTY pour un utilisateur spécifié. La création d'un fichier dans /etc/sudoers.d/ (à l'aide d'un outil tel que Amazon Command Line Interface ou PuTTY) peut être une meilleure option que la modification de / etc / sudoers. Certaines versions de / etc / sudoers le recommandent:
Lors de la modification d'un fichier sudoers (en tant que root) via la ligne de commande, la commande «visudo» doit être utilisée pour ouvrir le fichier car elle analysera le fichier pour les erreurs de syntaxe. Les fichiers /etc/sudoers.d/ appartiennent généralement à root et sont modulés avec des autorisations minimales. Le fichier / etc / sudoers par défaut peut être référencé car il devrait automatiquement avoir les autorisations chmod recommandées lors de l'installation. par exemple: 0440 r - r -----.
superuser.com/a/869145:
Liens utiles:
Forum WinSCP: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109
WinSCP Doc: https://winscp.net/eng/docs/faq_su
Les instructions dans Ubuntu Apache / etc / sudoers recommandent d'ajouter des directives à /etc/sudoers.d plutôt que de modifier directement / etc / sudoers. Selon l'installation, l'ajout de la directive à /etc/sudoers.d/cloud-init peut également fonctionner.
Il peut être utile de créer un utilisateur de test SSH avec des autorisations sudo en suivant les étapes fournies dans la documentation d'instance pour garantir que l'utilisateur a recommandé les paramètres d'instance et que toutes les mises à jour des fichiers sudoer du serveur peuvent être effectuées et supprimées sans affecter les autres utilisateurs.
la source
Vous devez donner à l'utilisateur des autorisations d'écriture, rappelez-vous les autorisations précédentes à l'aide de
stat /var/www
.Vous pouvez ensuite les modifier avec
sudo chmod 666 /var/www
et les modifier ultérieurement si nécessaire.Consultez
man chmod
etman sudo
aux côtés d'autres manuels d'autorisation de fichiers sur Internet pour plus d'informations ...la source