【发布时间】:2011-01-31 04:57:21
【问题描述】:
我有一个将在系统帐户下运行的服务器应用程序,因为在任何给定时间,它都会代表系统上的任何用户处理请求。这些请求包含操作文件系统的指令。
这里有一个问题:程序在执行操作时需要牢记该特定用户的权限。例如,joe 的权限为 755,则不应修改 /home/larry。
目前我的策略是这样的
- 获取文件的所有者/组
- 将其与尝试执行操作的用户的用户 ID/组 ID 进行比较
- 如果匹配(或不匹配),则使用文件中权限字段的适当部分来允许或拒绝操作
这是明智的吗?有没有更简单的方法来做到这一点?
起初,我考虑让应用程序的多个实例在用户帐户下运行 - 但这不是一个选项,因为这样只有一个实例可以侦听给定的 TCP 端口。
【问题讨论】:
标签: unix privileges file-manipulation