让我们考虑一下我有一个/home/base/alpha.txt
权限为 777 的文件,-rwxrwxrwx
即user@host
.现在,从 ie 系统中host1
,user1
我user1@host1
尝试使用以下命令提取上述文件:
scp user@host:/home/base/alpha.txt .
根据文件权限 777,每个人都拥有读写执行权限,即任何人都应该能够读取、写入和执行上述文件。那么为什么 Unix 要求输入user@host
密码呢?
答案1
文件权限适用于主机。该文件仍然需要使外部可见;您正在使用 SSH(通过 scp
)这样做,SSH 会要求您输入密码。这发生在涉及目标文件的任何事情之前; SSH 服务器对连接用户进行身份验证,并且仅在完成(成功)后才涉及scp
目标主机并访问目标文件。
如果您想要无密码 SSH 访问,您可以设置密钥来执行此操作。
user
顺便说一句,由于您以on身份登录host
,因此 的相关权限alpha.txt
仅适用于user
。如果user
是 的所有者alpha.txt
,alpha.txt
则只需对其所有者可读。