我正在尝试简化我的开发和部署过程,以维护我的网站,该网站是用 PHP 编码的。目录结构最初是由 ISPConfig 设置的。该机器运行的是 CentOS 6.9。
我的问题是,当在带有 path 的文件夹中时/var/www/clients/client1/web1
,所有操作都被禁止即使以 root 用户身份登录,不仅仅是在使用时sudo
。
在该文件夹中,并且只有在那里,我不能:
mkdir
一个新目录(失败并显示“mkdir:无法创建目录'test':权限被拒绝”)mv
现有目录(失败并显示“mv:无法将 'web' 移动到 'web.old':权限被拒绝”)。
ll /var/www/clients/client1/
给了我这个:
drwxr-xr-x 4 root root 4096 Jun 19 2017 .
drwxr-xr-x 3 root root 4096 May 16 2014 ..
drwxr-xr-x 11 root root 4096 Mar 11 11:38 web1
drwxr-xr-x 9 root root 4096 Apr 13 2015 web11
ll /var/www/clients/client1/web1/
给出:
drwxr-xr-x 11 root root 4096 Mar 11 11:38 .
drwxr-xr-x 4 root root 4096 Jun 19 2017 ..
drwxr-xr-x 2 web1 client1 4096 May 16 2014 cgi-bin
drwxr-xr-x 20 root root 4096 Jun 19 2017 log
drwx--x--- 2 web1 client1 4096 May 16 2014 private
drwx------ 2 web1 client1 4096 Mar 11 11:38 .ssh
drwxr-xr-x 2 root root 4096 May 17 2017 ssl
drwxr-xr-x 11 web1 client1 4096 Mar 24 19:22 subdomains
drwxrwxr-x 4 web1 client1 36864 Mar 24 20:38 tmp
drwxr-xr-x 22 web1 client1 4096 Mar 24 20:07 web
drwx--x--- 2 web1 client1 4096 May 16 2014 webdav
但是,我可以chmod
在现有目录上使用。
我检查了整个路径的 rwx 权限,对我来说似乎没有什么不合适的地方。
SELinux 已禁用。
没有配额,磁盘使用率为 36%。
我的问题是:还有哪些因素可能导致向 root 用户发送“权限被拒绝”消息?
[编辑]
lsattr .
in/var/www/clients/client1/web1/web
为其中的每个文件和目录提供相同的行:
[root:/var/www/clients/client1/web1/web]# lsattr .
-------------e- ./stats
lsattr .
在/var/www/clients/client1/web1
:
[root:/var/www/clients/client1/web1]# lsattr .
-------------e- ./cgi-bin
-------------e- ./ssl
-------------e- ./subdomains
-------------e- ./webdav
-------------e- ./log
-------------e- ./web
-------------e- ./private
----------I--e- ./tmp
然而,lsattr .
给出/var/www/clients/client1
了这个:
[root:/var/www/clients/client1]# lsattr .
-------------e- ./web11
----i--------e- ./web1
mount
/var/www/clients/client1/web1
在和中都给了我这个/var/www/clients/client1/web1/web
:
[root:/var/www/clients/client1/web1]# mount
/dev/simfs on / type simfs (rw,relatime)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /dev type devtmpfs (rw,relatime,mode=755)
none on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo-api type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/kinetic type simfs (rw,relatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/cloud type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/analytics type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/vcs type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/issues type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/webmail type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/downloads type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web11/log type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/preprod type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/atlas-demo-api type simfs (rw,relatime)
/dev/simfs on /var/www/clients/client1/web1/log/kinetic type simfs (rw,relatime)
答案1
所有非虚拟文件系统的文件系统类型表明simfs
您位于 OpenVZ Virtuozzo 容器内。
lsattr 输出中的小写字母i
表示文件或目录设置为不可变的:即使 root 也必须先清除此属性,然后才能对其进行任何更改。有了 root 访问权限,您应该能够使用 删除它chattr -i /var/www/clients/client1/web1
,但首先这样做可能是有原因的;在删除它之前,您应该找出原因是什么以及它是否仍然适用。可能存在安全隐患。
大写的I
inlsattr
表示正在使用散列树结构对目录进行索引;除了可能提高目录列表操作的性能之外,它不应该对应用程序产生任何影响。 (也许该/var/www/clients/client1/web1/tmp
目录有时会包含大量临时文件,从而减慢应用程序的速度?)
小写字母表示“extent format”,这是文件系统类型e
中引入的一种跟踪磁盘块分配的新方案。 ext4
(该属性与向后兼容机制相关,该机制允许ext4
访问文件系统,就像ext3
系统不支持一样ext4
。)它表明底层文件系统simfs
可能是ext4
。