從 Amazon Lightsail 執行個體傳輸根使用者擁有的檔案時,我收到許可遭拒錯誤。如何解決此錯誤?
簡短描述
若要從 Lightsail 執行個體傳輸根使用者擁有的檔案,請先將檔案複製到目前使用者的主目錄 (例如,bitnami 使用者)。然後,變更檔案的擁有權,並授予新的擁有者許可,以複製檔案。藉由這個方法,原始檔案的許可會保持不變,因為您正在複製檔案的複本。
**注意:**若要複製檔案,使用者必須能夠擁有根許可,或是在 sudoers 檔案中。
解決方案
**注意:**解決方案區段中的範例使用下列目錄:
/tmp/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v
範例檔案具有下列許可:
drwx------ 3 root root 4096 Aug 17 04:24 systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v
1. 以一般使用者身分使用 SSH 連線至 Lightsail 執行個體。在此範例中,使用者為 bitnami。
2. 執行 cp 命令將檔案複製到使用者的主目錄。
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
**注意:**您可以使用 sudo 執行 cp 命令。或者,您可以變更為根使用者,然後執行命令。使用下列命令來變更為根使用者:
sudo -i
3. 變更複製檔案的擁有權,讓使用者可以擁有目錄或檔案:
sudo chown bitnami:bitnami /home/bitnami/systemd-private-a244e4fc08504ae39236f514bdffecc1-chrony.service-AFB67v/ -R
4. 傳輸複製的目錄或檔案。下列範例使用 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