我正在尝试将我的网站数据迁移到新服务器并不断收到此错误。我设置了公钥访问,并且能够使用 .txt 文件完成 rsync 然后我想尝试一个目录,但它不起作用。这是我第一次使用 rsync,所以如果您需要更多信息,请告诉我。
编辑:两者都是远程服务器,旧的是 Ubuntu 14.04.4,新的是 Ubuntu 18.04.3
我对每个都有 sudo 权限,但我可能不拥有我试图移动的目录。我不知道怎么查。
$ rsync -rt /var/www kiana@123.456.789.00:/home
rsync: recv_generator: mkdir "/home/www" failed: Permission denied (13)
*** Skipping any contents from this failed directory ***
rsync: readlink_stat("/var/www/vhosts/testing.site.org/wp-config.php") failed: Permission denied (13)
rsync: readlink_stat("/var/www/vhosts/testing.site.org/wp-mail.php") failed: Permission denied (13)
rsync: readlink_stat("/var/www/vhosts/testing.site.org/wordpress") failed: Permission denied (13)
rsync: readlink_stat("/var/www/vhosts/testing.site.org/wp-signup.php") failed: Permission denied (13)
rsync: readlink_stat("/var/www/vhosts/testing.site.org/wp-trackback.php") failed: Permission denied (13)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
Run Code Online (Sandbox Code Playgroud)
小智 10
这部分在这里:
rsync: recv_generator: mkdir "/home/www" failed: Permission denied (13)
Run Code Online (Sandbox Code Playgroud)
似乎是说用户kiana
对远程服务器的文件夹没有足够的权限/home
来写入它。
ls -l | grep home
从远程服务器上执行/
应该可以告诉您谁拥有该文件夹以及它具有哪些访问权限。-fold的标准home
是root:root
拥有755
文件夹权限(在此处阅读有关文件夹和文件权限的更多信息)
$ ls -l | grep home
drwxr-xr-x 3 root root 4096 21 mar 14.24 home
Run Code Online (Sandbox Code Playgroud)
此输出表明,root
具有组的用户root
拥有文件夹 (d)home
并具有完全权限 (rwx),而组中的其他用户root
以及其他人具有读取/执行权限 (rx),但没有写入权限。
拥有 -rights 的用户sudo
意味着该用户在身份验证后可能暂时拥有 root 权限,这对于rsync
.
由于您不是root
执行该操作的实际用户rsync
(出于安全原因,您不应该是),因此您没有/home
文件夹的写入权限。我建议您尝试将网络服务器数据保存在用户kiana
可以写入的另一个位置(例如/tmp/
等/opt/
)。
小智 2
/home 目录权限通常只能由 root 写入。
例如,在我的机器上运行 ls 显示 root/root:
$ ls -laF /home
total 12
drwxr-xr-x 3 root root 4096 Aug 20 2018 ./
drwxr-xr-x 24 root root 4096 Sep 3 09:00 ../
Run Code Online (Sandbox Code Playgroud)
最好的选择是通过 ssh 进入运行的机器,在 /home 中创建一个目录:
#Note the sudo, or you'd have to su to root
sudo mkdir /home/www
#Then change the ownership so the user kiana can write to it:
sudo chown kiana:kiana /home/www
Run Code Online (Sandbox Code Playgroud)