我试图将一些文件从主目录传输到 /var/www/html 文件夹。由于权限设置,系统提示我不是该文件夹的所有者,因此无法执行此操作。因此,在网上搜索解决方案后,我尝试了以下命令:
sudo chmod 766 -R /var/www/html
sudo chmod 766 -R /var/www/
sudo chmod 766 -R /var
sudo chmod 766 -R /var/
sudo chown pi /var/www/html
ls -l /var/www/html 的输出和文件 /var/www/html 的权限被拒绝。
然后后来我发现 /var/ 中的所有文件夹都转换为二进制文件。我重新启动了系统。然后我能够恢复它们,但只能恢复到 /var/www。/var/www/html 文件夹仍然是二进制文件。我如何将其转换回文件夹?我使用的是 ubuntu 16.04
答案1
正如你得到的ls -ld /var/www/html
输出
drwxrw-rw- 2 root root 4096 Sep 25 11:49 /var/www/html
这意味着你有一个目录( d
) 每个人都可以读取和写入 ( rw
),但只有x
root 可以搜索 ( )。所以它不是二进制文件。我不知道您使用的是哪个显示文件夹图标和属性的程序,但无论它是什么,它都是错误的。
这是因为您将此目录及其所有父目录的权限设置为766
(八进制表示rwxrw-rw-
)。至少在 的情况下/var
,这是完全错误的,因为它将拒绝系统所有非 root 部分的搜索权限,这可能会破坏一切。
你应该从中吸取的教训是不要盲目遵循你在网上找到的一些食谱没有理解你在做什么。
因此,您的首要任务是阅读man chmod
(全部)并了解文件权限,以及文件和目录的权限有何不同。如果这还不够,请在 Google 上查找解释,直到您理解为止。
/var
您的下一个任务是将、/var/www
和的权限修复/var/www/html
为合理的权限(取决于您的需要)。为此,您需要回答“谁应该能够读取/写入/搜索这些目录”的问题。如果是/var
,您应该得到类似 的结果755
。如果没有,请再想一想。
最后,您应该再次执行chown pi /var/www/html
以将此目录的所有者从用户更改root
为用户pi
,因为它不起作用。您可以使用ls -d
来验证它是否有效。同时,想想它应该属于哪个组(用户pi
属于哪些组?)。阅读man chown
和man chgrp
。