答案1
看起来您正在尝试将scp
文件从一台机器(或虚拟机)传输到另一台机器。发出命令时scp
,您将使用用户 向远程系统进行身份验证ssgyee
,因为这是您在命令中指定的用户。这与用户 不匹配fabric
,后者可能是目录的所有者/home/fabric
。
作为一个非常快速的测试,您可以尝试scp
将文件移至远程/tmp
目录或目录中/home/ssgyee
。您应该对这些目录具有写权限,并且scp
应该可以在此测试用例中工作。
在远程系统上,查看目标或目标目录的权限:
ls -lsha /home/
我怀疑这会显示fabric:fabric
拥有/home/fabric
,这是一个合理且安全的默认设置。每个用户都有一个/home
他们控制的目录。如果您希望 能够写入/home/fabric
目录,则需要以 的身份进行身份验证fabric
,或使用或通过编辑添加ssgyee
到组中。除了属于该组之外,(或其中的任何其他目录)还需要组的读取、写入和执行权限。fabric
groupadd
/etc/group
/home/fabric
文件属于用户和组。文件具有特定权限,每个用户、组,然后是“所有其他”。Linux 用户和组,以及文件所有权和权限在处理 Linux 时理解这些是至关重要的。
请记住,文件权限是一种安全功能。每当您允许其他人读取、写入和执行文件时,您都会增加文件被篡改、更改或删除的风险。一般来说,您只应向真正需要的人授予读写权限。