Ubuntu 文件权限

Ubuntu 文件权限

我在 Ubuntu 服务器上遇到了一些文件权限问题。我使用 WinSCP 将文件移动到服务器。服务器运行正常,但过了一段时间后,似乎我不再具有删除文件的权限。

我正在使用名为管理员,Apache 服务器的根目录是/var/www. 每个网站都有自己的目录 - 即

/var/www/site1
/var/www/site2

这是 ls 命令的输出...

cd /var/www
ls -al
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 14:45 .
drwxr-xr-x  15  root     root     4096 2009-05-05 15:47 ..
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site1
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site2

我的理解是,这意味着目录所有者具有读/写/执行权限?当我使用 svadmin 帐户连接到服务器时,我是否应该能够覆盖或删除 /var/www/site1 或 /var/www/site2 中的文件?

我不太熟悉 Linux 文件/目录权限,所以一直在努力弄清楚我应该做什么。任何帮助都将不胜感激!

更多信息:(感谢您的快速回复!)

/var/www/site1 的 ls -al 输出

drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 15:15 .
drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 14:45 ..
-rw-r--r-- 1 svadmin svadmin 157  2009-05-12 13:23 error.php
-rw-r--r-- 1 svadmin svadmin 158  2009-05-12 13:23 .htaccess
-rw-r--r-- 1 svadmin svadmin 142  2009-05-12 13:23 index.php
drwxr-sr-x 2 svadmin svadmin 4096 2009-05-12 18:40 libraries

当我尝试删除该文件时出现错误信息:

rm admin.php
rm: cannot remove 'admin.php' : Read-only file system

更多信息 补充一些可能相关的信息... 直到昨天下午一切都正常。当时一位同事取出了虚拟机文件所在的 SAN,Web 服务器关闭得并不顺利。

答案1

这不是权限问题。两个线索是:

  • rm:无法删除“admin.php”:只读文件系统
  • 直到昨天下午一切都正常。当时一位同事取出了虚拟机文件所在的 SAN,Web 服务器无法正常关闭。

包含 /var/www 的文件系统可能在 SAN 消失时以某种方式降级为“只读”。命令的输出mount应该在末尾用 (ro) 标志标识此文件系统。

解决方法是找出发生这种情况的原因,确保已纠正,然后使用此命令重新挂载文件系统 rw:

mount -oremount,rw $filesystem

答案2

如果您对某个目录具有 rwx 权限,则意味着您可以编辑目录文件,这相当于删除和添加文件。编辑文件取决于其各自的权限。其中一个子目录的 ls -l 是什么样子的?

答案3

您的问题在于棘手的部分。请注意,那里的权限不是drwxr-xr-x,而是drwxr-sr-x。维基百科说:

如今,粘性位最常见的用途是在目录中,设置后,目录中的项目只能由项目的所有者、目录的所有者或超级用户重命名或删除;如果不设置粘性位,任何具有目录写入和执行权限的用户都可以重命名或删除其中包含的文件,无论所有者是谁。通常,这设置在 /tmp 目录中,以防止普通用户删除或移动其他用户的文件。此功能于 1986 年在 4.3BSD 中引入,如今在大多数现代 Unix 系统中都可以找到它。

因此,只有最初将文件放入其中的组才可以写入和删除文件。

相关内容