我正在读书实用 Unix 和互联网安全,当我遇到以下我无法理解的行时。
如果您使用的是wu存档服务器,您可以配置它,使上传的文件以模式004上传,所以他们不可能是 由另一个客户端下载。这提供了比简单地使目录不可读更好的保护,因为它可以防止人们上传文件,然后告诉他们的朋友要下载的确切文件名。
权限 004 对应于-------r--
.如果文件具有读取权限,则无法下载该文件吗?另外为什么它被认为比简单地使目录不可读更好?这意味着什么?
注意:这是关于未经授权的用户使用匿名 FTP 在服务器上留下非法和受版权保护的材料的情况。建议使用上述解决方案以及一段时间后删除目录内容的脚本来防止这种情况。
答案1
权限 004 (------r--) 表示该文件只能由与 FTP 服务器不是同一用户或同一组运行的进程读取。这是相当不寻常的:通常用户比组拥有更多的权限,而组比其他组拥有更多的权限。通常用户可以更改权限,因此向用户授予更多限制性权限是没有意义的。这是有道理的,因为 FTP 服务器(可能)没有更改权限的命令,因此文件将保留其权限,直到其他内容更改它们为止。
由于运行 FTP 服务器的用户无法读取文件,因此人们将无法下载该文件。这使得无法使用FTP服务器来共享文件。
据推测,以不同用户和组身份运行的某个进程会在某个时刻读取该文件,验证它是否符合某些策略,如果符合则复制数据,然后删除上传的文件。
对我来说,给予文件权限 040(仅该组可读)并让使用者进程以与 FTP 服务器相同的组但不同的用户运行会更有意义。
答案2
的八进制权限掩码004
对应于符号权限掩码,u=,g=,o=r
这意味着拥有该文件的人无法读取该文件、写入该文件或执行该文件,并且与拥有该文件的用户(u)ser
相同的其他用户也无法读取该文件。(g)roup
只有(o)ther
既不是所有者又不是所有者同一组的用户才能读取该文件。
答案3
是的,但该文件归用户所有。所以客户端本身对该文件的权限为0(用户),无法读取。
你可以自己测试一下:
echo TEST > myTestFile;
chmod 004 myTestFile;
cat myTestFile;
chmod 700 myTestFile;
cat myTestFile;
第三步会报错。
答案4
看来更有可能是表示任何权限都被004屏蔽了,即其他用户不能读取文件。这将有助于保护该文件免受系统上其他用户的侵害(在某种程度上)。