以下内容源于学习过程中的总结,欢迎交流。
参考博客
(1)无法用FileZilla 传送文件的解决方案_filezilla could not transfer-CSDN博客
连接时的设置如下,可见我没有以root用户身份进行连接。
我打算把某个文件从本地PC机传送到虚拟机的Ubuntu中的某个目录时,报错如下:
传送到虚拟机的Ubuntu中的另外一个目录时,却可以成功传输。
思考了一下,可能是文件权限的问题。于是分别查看上面两个目录的权限情况,如下所示:
xjh@ubuntu:~/iot/embedded_basic/jz2440/armBareMachine/uart$ ll
total 8
drwxr-xr-x 2 root root 4096 九月 7 20:22 ./
drwxr-xr-x 4 root root 4096 九月 7 20:22 ../
xjh@ubuntu:~/iot/embedded_basic/jz2440/armBareMachine/uart$
xjh@ubuntu:~/Desktop$ ll
total 32
drwxr-xr-x 2 xjh xjh 4096 九月 7 20:49 ./
drwxr-xr-x 22 xjh xjh 4096 九月 7 20:18 ../
-rwxr-xr-x 1 root root 9283 六月 4 2022 firefox.desktop*
-rwxr-xr-x 1 root root 584 六月 4 2022 gnome-terminal.desktop*
-rw------- 1 xjh xjh 831 九月 7 20:49 printf_test.c
-rwxr-xr-x 1 xjh root 601 六月 4 2022 sublime-text.desktop*
xjh@ubuntu:~/Desktop$
可见uart目录属主是root,其他用户只有 r-x 权限,所以无法以 xjh 的身份上传文件到该目录。
而Desktop目录属主是xjh,其权限是rwx,以 xjh 的身份可以上传文件到该目录。
所以问题的解决方案,是在虚拟机Ubuntu中创建一个xjh身份拥有rw权限的目录,在PC主机上将文件传送到该目录中;或者修改某个(属主为root的)目录的(其他用户的)权限,使得其他用户具有rw权限;又或者以root身份进行连接(好像不行吧)?
这里试一下修改uart的其他用户权限:
xjh@ubuntu:~/iot/embedded_basic/jz2440/armBareMachine$ sudo chmod o+w -R uart
xjh@ubuntu:~/iot/embedded_basic/jz2440/armBareMachine$ ll
total 16
drwxr-xr-x 4 root root 4096 九月 7 20:22 ./
drwxr-xr-x 3 root root 4096 八月 23 11:33 ../
drwxr-xr-x 2 root root 4096 九月 7 20:21 link/
drwxrwxrwx 2 root root 4096 九月 7 21:19 uart/
xjh@ubuntu:~/iot/embedded_basic/jz2440/armBareMachine$
经过检验,上面修改之后,可以将文件上传到uart目录中。