从我的 Amazon Lightsail 实例传输根用户拥有的文件时,我收到权限被拒绝的错误。如何解决此问题?
简短描述
要从 Lightsail 实例中传输 root 用户拥有的文件,请首先将这些文件复制到当前用户(例如,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