Je reçois des erreurs « autorisation refusée » lors du transfert de fichiers appartenant à l'utilisateur racine depuis mon instance Amazon Lightsail. Comment résoudre ce problème ?
Brève description
Pour transférer des fichiers appartenant à l'utilisateur racine depuis votre instance Lightsail, copiez d'abord les fichiers vers le répertoire de base de l'utilisateur actuel (par exemple, l'utilisateur bitnami). Ensuite, modifiez le propriétaire des fichiers et donnez au nouveau propriétaire l'autorisation de copier les fichiers. En utilisant cette méthode, les autorisations du fichier d'origine restent les mêmes, car vous copiez une copie du fichier.
Remarque : pour copier les fichiers, l'utilisateur doit pouvoir utiliser l'autorisation racine ou se trouver dans le fichier sudoers.
Résolution
Remarque : l'exemple de la section Résolution utilise le répertoire suivant :
/tmp/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v
L'exemple de fichier dispose des autorisations suivantes :
drwx------ 3 root root 4096 Aug 17 04:24 systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v
1. Connectez-vous à l'instance Lightsail via SSH en tant qu'utilisateur normal. Dans cet exemple, l'utilisateur est bitnami.
2. Exécutez la commande cp pour copier le fichier vers le répertoire de base de l'utilisateur.
sudo cp -R systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v/ /home/bitnami/
# ls -al /home/bitnami/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v/
total 12
drwx------ 3 root root 4096 Aug 17 05:02 .
drwxr-xr-x 4 bitnami bitnami 4096 Aug 17 05:02 ..
drwxr-xr-t 2 root root 4096 Aug 17 05:02 tmp
Remarque : vous pouvez exécuter la commande cp à l'aide de sudo. Vous pouvez également passer à l'utilisateur racine, puis exécuter la commande. Utilisez la commande suivante pour passer à l'utilisateur racine :
sudo -i
3. Modifiez la propriété du fichier copié afin que l'utilisateur puisse être propriétaire du répertoire ou des fichiers :
sudo chown bitnami:bitnami /home/bitnami/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v/ -R
4. Transférez le répertoire ou le fichier copié. L'exemple suivant transfère le fichier à l'aide de Filezilla :
Status: Directory listing of "/home/bitnami" successful
Status: Using username "bitnami".
Status: Connected to 3.xx.xx.1x2
Status: Starting download of /home/bitnami/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v/tmp/testing.txt
Status: File transfer successful, transferred 230,756 bytes in 1 second