我正在这样做:
scp aaa.txt $user@$server:~/my-folder/aaa.txt
并且它有效。
我需要一些更“常见”的东西,所以我决定创建一个特定的用户并使用根路径中的文件夹。
scp aaa.txt devuser@$server:/folder/aaa.txt
我收到此错误:
无法 chdir 到主目录 /home/devuser:没有此文件或目录
我创建devuser
时没有使用主目录(-M选项 useradd),但我希望 scp 将文件保存在/文件夹存在且所有者为“devuser”的目录。
我不明白错误原因。SCP
只能保存在主目录中?
SCP 总是需要主目录吗?
我正在从 PowerShell 执行 SCP,但我不认为它相关。
[编辑]
我创建了/home/devuser文件夹sudo mkdir /home/devuser
,因此不是用户主页,而所有者是根,以及SCP命令有效。
答案1
OpenSSH 要求用户有一个主目录,因为子进程通过 chdir 转到自己的主目录作为建立合理环境的一部分。例外情况包括使用ChrootDirectory
为该用户创建并设置主目录。如果您希望减少混乱并强制将文件存储在主目录以外的某个地方,则他们不需要写权限。