关于Linux,我最喜欢的事情之一也是最烦人的——文件系统权限。在生产机器和 Web 服务器中,我喜欢一切都如此安全和锁定 - 但在开发机器上,它真的让我慢下来。我将在我每周发现的众多例子中举一个例子。
像大多数人一样,我双启动 Ubuntu 和 Windows,因此我可以继续使用 Adobe CS4 套件。当我还在使用 Windows 时,我经常设计网页主题和其他东西。稍后我将启动 Ubuntu 以获取主题并为它们编写后端 PHP。安装 Windows C: 驱动器分区后,我可以复制模板文件,以便开始编辑它们。
但是,由于 Linux希望保护我,我发现在处理完文件后,我最终得到了一组完全锁定的文件,即使我没有读写权限。因此,在仔细考虑了 HTML 文件给我带来的巨大风险之后 - 我对它们进行了 chmod,以便我和 apache 可以开始使用它们。
现在给出,chmod 过程并不难 - 但是在你每天 chmod 足够多的文件之后,你会厌倦这样做。我不断地从我的用户、git repos、php 或其他随机进程中创建、获取、编辑和删除文件。毕竟这是一台个人发展机器。一切都每天都在变化。
所以我的问题是,我怎样才能让 linux 放松对我的 HTML/JS/PHP/TXT/SQL/etc 所做的事情。文件,以便我可以更快地工作而无需不断停止 chmod 事情?
我小指保证我不会用 HTML 文件侵入我的帐户。;)
umask
为创建文件的用户设置默认权限。这是在 shell 环境中设置的。对于 bash 系统范围,即
/etc/profile
. 或者,您可以根据 shell 的执行方式~/.bash_profile
或~/.bashrc
根据 shell 的执行方式为用户设置它。更新:
我建议您在复制文件时使用 rsync 而不是设置 umask。然后,您可以使用
--chmod
rsync 的参数来获取所需的权限。我认为是这样的:这可能比 umask 更好,因为它是一个更本地化的解决方案。
您还可以制作一个正确设置所有权限的脚本。这样做的好处是脚本将在您的生产环境中有用。
我最喜欢的:不要双启动。在虚拟机(我使用 virtualbox)中使用 windows 的速度损失非常小。VirtualBox 为您提供了这些好东西:
支持硬件视频加速 - 即如果你有合适的驱动程序,你的 windows VM 也可以有 3d 渲染(如果你需要的话)
提供共享文件夹 - 即主机操作系统上的目录,可从您的 VM 访问,因此您可以共享文件
在过去的 4 年多时间里,上述方法对我来说非常有效。
干杯
答案是更改 fstab 挂载文件,使其对权限不那么苛刻。
然后编辑文件
然后我添加了以下行
最后我重新安装了 fstab 文件
感谢这两个资源。现在我创建的所有文件都使用与我当前用户正在运行的相同的“默认值”(我认为)。
umask
也是一个选项,您可以在挂载上设置以控制文件的复制权限。