我们有一个名为distributors
的文件夹。在该文件夹下,有子文件夹作为ftp用户的主目录。
示例:
distributors/a
w / c用作ftp用户a
distributors/b
w / c用作ftp用户b
这些ftp用户是我们分销商的ftp帐户,他们将他们的库存(csv文件)上传到他们的主目录。
我们的cron作业w / c是一个rake任务,需要能够读取csv文件。当ftp用户上传文件时,默认情况下该文件的所有者和组是ftp用户的名称。为了让我们的cron作业能够读取文件,我们计划将上传文件的默认权限设置为a+r
w / c,这样每个人都可以阅读该文件。
现在的问题是,允许每个人都能阅读文件的安全风险是什么?
我假设ftp用户a
将无法转到用户b
的文件夹,因为ftp用户a
无法访问用户的主目录w / c是distributors/a
答案 0 :(得分:1)
你在这里有多种选择。关于安全风险,如果文件内容是敏感的,我建议不要给予他们其他阅读权限,因为每个用户都能够阅读在主机上有用户的人。
您可以将用户运行玉米作业添加到ftp用户组中。 但它将为该用户提供额外的权限来读取或可能修改ftp相关文件。最好像你提到的那样给予其他阅读许可,
但是我会为此使用ACL(访问控制列表),它有点难以管理,但可以更自由地实现严格的安全性。您可以在不更改当前权限的情况下,使用户运行的玉米作业可以读取您喜欢的每个文件。
setfacl -Rm "u:user:r" ./dirNfile # add user read permission to directory tree
setfacl -dRm "u:user:r" ./dirNfile # Make default for the further created files on all sub directory R stand for recursive
getfacl ./dirNfile # Check acl config on a file
setfacl -x "u:user" ./fileNdir # remove entry
setfacl -b ./fileNdir # remove all ACL entry from a file or dir
目录或文件的acl条目将在权限结尾处由ls命令显示,并带有+标记drwxr-x---+
查看https://wiki.archlinux.org/index.php/Access_Control_Lists了解详情