我们有几个二级管理员,他们通过 sudo 获得非常有限的管理权限;由于他们的经验有限,我们确实希望让他们执行一套严格的操作。
他们的一项任务通常是将某些内容复制到根目录的子目录中,例如 /data。
该目录由另一个用户和组拥有,因为它主要访问该目录并操作其内容。
但是,如果我授予他们 sudo cp 访问权限,我会让系统在某种程度上保持开放,因为他们可以在系统的任何位置覆盖文件,而我只需要他们能够将某些内容复制到 /data 及以下位置。
是否可以允许 sudo 访问 cp,但仅限于有限的使用情况下,我目前认为如果不创建脚本就不行。
另一种选择是建立安全的 ftp 服务并授予他们访问权限。欢迎提出想法。
答案1
此处的正常解决方案是让数据属于只有 tier2 管理员属于的组。如果您有 ACL,那么也可以使用这种方法。
答案2
实现此目的的首选方法是定义一组聪明且稳定的权限,允许任何参与者根据需要访问文件,但可以授予 cp sudo 访问权限和sudoers 文件中的某些参数。根据手册页中的 EBNF 定义,第“别名“。
commandname ::= file name |
file name args |
file name '""'
这些命令参数还允许使用通配符用于参数字符串匹配(参见手册页再次)
这意味着您可以向 sudoers 添加如下内容:
user1 ALL= /bin/cp * /protected/path/dir*
为了允许以 root 身份user1
将任何文件复制到及其/protected/path/dir
任何子目录
答案3
如果这是由某个事件或条件触发的 cp,我会编写脚本并让 cron 负责文件复制。