假设我在一台电脑上以用户 A 的身份登录。在同一台电脑上还有另一个用户 B。我想将某些文件从用户 B 的主文件夹移动到 A 的主文件夹。请注意,A 和 B 都不是 sudo。但是,我知道这两个用户的密码。我该怎么办?
PD:我知道一种解决方法,使用scp
(然后是rm
源文件)。然而,这样做的缺点是复制这些文件可以非常对于大文件来说,速度很慢,而mv
对于本地操作来说,速度会很快。我想要一个可以真正移动文件的解决方案。
答案1
如果没有 sudo,A 无法直接从 B 的主文件夹中移动文件夹
因此我们将在 B 的家中创建一个安全性较低的文件夹
以 B 身份登录并输入:
b@remote_computer:~$ mkdir tobemoved
这将创建一个文件夹/home/b/tobemoved
将您想要移动的任何文件和文件夹移动到此文件夹内
例如,如果您想从文件夹中移动文件Documents
:
b@remote_computer:~$ mv ~/Documents/somefile ~/tobemoved/
如果您想移动somefolder
而不是,这也可以起作用somefile
。
降低文件夹内所有内容的读写删除权限
tobemoved
b@remote_computer:~$ chmod -R 777 tobemoved
注意:现在任何在这台电脑上有账户的人都可以读取、复制、删除和修改此文件夹中的文件!
注销并以 A 身份重新登录
这是因为您想将 B 的文件移动到 A 的家中
创建一个文件夹来保存来自 B 的文件
a@remote_computer:~$ mkdir a_folder_to_keep_files_from_b
移动文件
a@remote_computer:~$ mv /home/b/tobemoved /home/a/a_folder_to_keep_files_from_b/
希望这可以帮助
答案2
没有就没有sudo
。
尝试、失败——
sudo
su B # the command below works only with sudo sudo chown A:A /home/B/<your_file_name> su -c A 'mv /home/B/<your_file_name> /home/A/'
尝试,失败 – 多重
mv
和错误的所有权<your_file_name>
su A mkdir incoming chmod 777 incoming su B mv /home/B/<your_file_name> /home/A/incoming su A mv /home/A/incoming/<your_file_name> /home/A/<your_final_target>
答案3
如果没有超级用户访问权限,您就无法执行此操作,除非您能以某种方式绕过权限,无论是通过拥有两个用户都具有读写访问权限的临时目录,还是使用 FAT 格式的外部设备(需要物理访问权限)。如果您可以物理访问硬件,当然可以做任何您想做的事情。由于您可以访问这两个帐户,因此您可以通过 ftp 服务器或文件共享服务传输文件。