为了在 Netbeans 中编辑一些文件,我必须对父文件夹执行 chmod 777。原因是,任何其他操作都会导致 Netbeans 不愿意接受该文件夹,因为它无法写入。
除了执行 chmod 777 之外还有其他方法可以做到这一点吗?
我在 Ubuntu 9.10 上,使用 Netbeans 6.7.1
之后,我必须手动为每个文件赋予所需的权限。应该有更简单的方法,只是我不知道。
编辑:我正在运行 XAMPP,我尝试编辑的文件位于 htdocs 文件夹中。
我以本地用户帐户运行 Netbeans,如果我从应用程序菜单运行它,它就会这样启动。
答案1
这里有 2 个问题,chmod 和 chown。Netbeans 以您的身份运行,并且希望文件归您所有。如果文件归其他人所有,那么他们可以更改文件的所有权。以下是更改所有权的方法:
sudo chown your_account:your_account -R my_project
在所有权固定之后,这是一个非常保守的 chmod:
chmod 760 -R my_project
第一个数字是所有者,您拥有该文件,7 表示读写执行。中间的数字将控制组访问权限,在 chown 之后,组可能只包含您,但您可以将另一个帐户添加到该组。
如果文件被 666 了,即每个人都可以读写,并且假设它是用 python 之类的脚本语言编写的,那么您仍然可以像这样执行它: python my_script.py
。但是 chmod 666将不会让您像这样执行它:./my_script.py
。看起来像是在吹毛求疵,但在第一个命令中,python 是可执行文件,它正在读取 my_script(因此它需要读取权限),在第二个示例中,正在执行 my_script.py。
chmod 和 chown 抵御的主要威胁是保护您的文件不被系统上的其他帐户访问。您可能是此系统上的唯一用户。但是,当黑客通过守护进程(如 bind 或 postfix)闯入时,他们将拥有该帐户的用户权限。您不希望黑客能够在您的 netbeans 项目中编写可执行代码,然后由您执行。只要最后一个块没有写入位,您就不必担心这种攻击。这就是为什么它很常见,chmod 775
尽管chmod 770
会更安全。其他守护进程(如 Apache)仍然可以使用 chmod 775 读取和执行您的 NetBeans 项目,如果它是由 Apache 执行的 PHP 项目,这可能很重要。