J'essaye de porter le serveur ftp sur l'instance linux ec2. Le fichier d'authentification par mot de passe existe dans / etc / passwd-s3fs avec l'autorisation 600. Mais quand j'exécute la commande:
$ s3fs nom du bucket / home / s3 / s3mnt -o passwd_file = / etc / passwd-s3fs, non vide
Il montre l'erreur ci-dessous:
s3fs: le passwd_file spécifié n'est pas lisible.
Également essayé avec l'autorisation 640 mais même problème. Veuillez aider.
3 Réponses :
exécutez la commande suivante
sudo chmod 640 /etc/passwd-s3fs
et supprimez le ", nonempty" de la ligne de commande, ce n'est pas nécessaire.
Après avoir vérifié les autorisations, assurez-vous que le fichier d'informations d'identification utilise le format correct.
Si vous utilisez ~/.aws/credentials
:
The s3fs password file has this format (use this format if you have only one set of credentials): accessKeyId:secretAccessKey If you have more than one set of credentials, this syntax is also recognized: bucketName:accessKeyId:secretAccessKey Password files can be stored in two locations: /etc/passwd-s3fs [0640] $HOME/.passwd-s3fs [0600]
Si vous utilisez un autre fichier d'informations d'identification (par exemple ${HOME}/.passwd-s3fs
):
ACCESS_KEY_ID:SECRET_ACCESS_KEY
Informations supplémentaires de la section AUTHENTIFICATION dans ici :
[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Dernière vérification: Assurez-vous que vous passez le chemin absolu du .passwd-s3fs
ou exécution de la commande s3fs
à partir du chemin relatif.
J'étais coincé là-dessus sans remarquer le chemin.
Probablement, si la définition des bonnes autorisations sur les fichiers ne fonctionne pas, essayez de changer le propriétaire du fichier. Exécutez le ls -la
pour voir qui est le propriétaire:
total 224 drwx------ 8 ec2-user ec2-user 224 out 19 17:43 . drwxr-xr-x 5 root root 51 out 15 20:40 .. drwxrwxr-x 2 ec2-user ec2-user 25 out 19 17:43 .aws -rw------- 1 ec2-user ec2-user 1343 out 16 20:12 .bash_history -rw-r--r-- 1 ec2-user ec2-user 18 jan 16 2020 .bash_logout -rw-r--r-- 1 ec2-user ec2-user 193 jan 16 2020 .bash_profile -rw-r--r-- 1 ec2-user ec2-user 231 jan 16 2020 .bashrc drwx------ 4 ec2-user root 41 out 19 15:57 .cache drwxrwxr-x 5 ec2-user ec2-user 87 out 19 17:16 images -rw------- 1 ec2-user ec2-user 62 out 19 17:29 .passwd-s3fs drwxr-xr-x 5 ec2-user ec2-user 4096 out 19 16:45 s3fs-1.74 -rw-rw-r-- 1 ec2-user ec2-user 199120 jan 23 2016 s3fs-1.74.tar.gz drwx------ 2 ec2-user ec2-user 29 out 15 20:40 .ssh -rw------- 1 ec2-user ec2-user 989 out 19 17:43 .viminfo drwxrwxr-x 4 ec2-user ec2-user 28 out 19 16:10 work
Dans mon cas, le fichier passwd appartient à la racine, ce qui cause l'autorisation refusée. Changez le propriétaire du fichier comme sudo chown ec2-user: ec2-user .passwd-s3fs
puis listez à nouveau les fichiers avec ls -la
:
total 224 drwx------ 8 ec2-user ec2-user 224 out 19 17:43 . drwxr-xr-x 5 root root 51 out 15 20:40 .. drwxrwxr-x 2 ec2-user ec2-user 25 out 19 17:43 .aws -rw------- 1 ec2-user ec2-user 1343 out 16 20:12 .bash_history -rw-r--r-- 1 ec2-user ec2-user 18 jan 16 2020 .bash_logout -rw-r--r-- 1 ec2-user ec2-user 193 jan 16 2020 .bash_profile -rw-r--r-- 1 ec2-user ec2-user 231 jan 16 2020 .bashrc drwx------ 4 ec2-user root 41 out 19 15:57 .cache drwxrwxr-x 5 ec2-user ec2-user 87 out 19 17:16 images -rw------- 1 root root 62 out 19 17:29 .passwd-s3fs drwxr-xr-x 5 ec2-user ec2-user 4096 out 19 16:45 s3fs-1.74 -rw-rw-r-- 1 ec2-user ec2-user 199120 jan 23 2016 s3fs-1.74.tar.gz drwx------ 2 ec2-user ec2-user 29 out 15 20:40 .ssh -rw------- 1 ec2-user ec2-user 989 out 19 17:43 .viminfo drwxrwxr-x 4 ec2-user ec2-user 28 out 19 16:10 work
Comment voyez-vous, le propriétaire a été changé et maintenant la commande s'exécutera également.
Je pense que vous devez utiliser
passwd_file
(souligné) plutôt quepasswd-file
(trait d'union).Désolé, correction J'utilise
$ s3fs nom du bucket / home / s3 / s3mnt -o passwd_file = / etc / passwd-s3fs, non vide
pouvez-vous essayer avec le débogage détaillé -o dbg level = info -f -to curl dbg ou essayer de supprimer nonempty
Pourriez-vous exécuter ls -l / etc / passwd-s3fs?