我有一些文件未在网站上提供,并且假设这是一个权限问题,我运行了它ls -Z
但一直看到 ? 代替安全上下文:
-rw-rw-r-- pete pete ? index.cfm
我也运行了这个sudo
。有人能解释一下 ? 是什么意思吗?或者我需要做什么来修复这个文件?
我尝试使用 来sudo chcon system_u:object_r:httpd_config_t:s0 index.cfm
匹配文件夹中文件的其他权限,但这没有帮助。此外,如果我尝试重新创建文件,我会再次得到?
cat index.cfm > index.bkp
sudo ls -Z
-rw-rw-r-- pete pete ? index.bkp
-rwxrwxrwx. pete pete system_u:object_r:httpd_config_t:s0 index.cfm
mv index.bkp index.cfm
-rw-rw-r-- pete pete ? index.cfm
答案1
感叹号的含义仅在ls
信息页面,不在其手册页中:
'-Z'
'--context'
'--scontext'
'--lcontext'
'--format=context'显示 SELinux 安全上下文或 '?'(如果未找到)。'-Z' 算作格式选项,并启用 SELinux 上下文的显示。'--scontext' 打印文件名左侧的 SELinux 上下文。'--lcontext' 打印长格式,中间是 SELinux 上下文。'--context' 打印权限、用户/组、上下文和文件名(与 '--lcontext' 相比,省略了大小、修改时间和硬链接数量)。
因此,这意味着没有向文件添加任何安全上下文。而当您重新创建文件时它仍然没有安全上下文这一事实表明父目录没有可以继承的安全上下文。