我是一名 Web 开发人员,我管理自己的服务器。虽然不是专家级系统管理员,但我知道的足以应付。无论如何,我为与我一起从事项目的前端开发人员在我的服务器上提供了一个帐户。一切工作正常,但后来他开始遇到权限问题。他添加到服务器的每个文件都只授予他的帐户读/写权限,而其他任何人都没有权限。因此,由于出现 403 错误,因此无法在服务器上查看它们。他已通过 SSH 安装了一个驱动器,并在他的 Mac 上使用 Transmit,他在 Transmit 中的权限设置为 644。我可以通过 SSH 安装的驱动器从 Fedora 17 安装上的帐户添加文件,并且它们具有正确的权限。您可以想象,我必须以 root 身份登录并更改他添加的每个文件的权限,这对我来说非常没有效率。服务器上是否有任何设置可能导致他的帐户只授予他读/写权限,或者我有什么方法可以强制他的文件具有 644 个权限?
如果这个问题很愚蠢,我很抱歉,但我首先是一名程序员,然后才是一名系统管理员。权限总是给我带来麻烦!
另外,有没有办法记录权限更改?我认为没有,但如果有办法查看文件的权限更改者/内容/时间,那将非常有帮助。
答案1
在 Unix 系统中,umask定义创建文件时将分配的默认权限位。适当设置该权限位可能会有所帮助。您还应该让他ls
在 ssh 安装的驱动器上执行一个,以查看他系统上列出的权限是否与 Web 服务器上看到的权限不同。
您还可以使用定期运行的脚本或目录监视脚本,在 Web 服务器目录中为您更改其文件的权限。不过,如果您真的想这么做,我宁愿建议教他登录服务器并自己更改文件的权限。