放松Linux – 这只是我! (文件系统权限)

Linux中我最喜欢的一件事情也是最讨厌的文件系统权限。 在生产机器和networking服务器上,我喜欢一切都如此安全和locking – 但是在开发机器上它确实减慢了我的速度。 我会从我每周发现的许多事物中举出一个例子。

像大多数人一样,我双启动Ubuntu和Windows,这样我就可以继续使用Adobe CS4套件。 当我还在使用Windows时,我经常deviseWeb主题和其他东西。 之后,我将引导到Ubuntu来采取主题,并为他们编写后端PHP。 安装Windows C:驱动器分区后,我可以复制模板文件,所以我可以开始编辑它们。

但是,由于Linux 希望保护我,我发现在处理这些文件后,我终于得到了一组完全locking的文件,即使我没有读写权限。 所以在仔细考虑HTML文件对我造成的巨大风险之后 – 我对它们进行chmod,以便我和Apache能够开始使用它们。

现在给出,chmod过程并不困难 – 但是当你每天chmod足够多的文件后,你会厌倦这样做。 我不断创build,获取,编辑和从我的用户,git回购,PHP或其他随机过程中删除文件。 毕竟这是个人发展机器。 一切都在一天天地变化。

所以我的问题是,我怎样才能让Linux放松我的HTML / JS / PHP / TXT / SQL /等。 文件,以便我可以更快地工作,而不必经常停下来chmod的东西?

小指承诺我不会用HTML文件侵入我的帐户。 ;)

umask设置用户创build文件的默认权限。

这是在shell环境中设置的。 对于bash系统来说,就是/etc/profile 。 或者,你可以在~/.bash_profile~/.bashrc为用户设置,具体取决于shell是如何执行的。

更新:
我build议当你复制文件在你身上使用rsync而不是设置你的umask。 然后可以使用--chmod参数来获取所需的权限。 我觉得像这样:

 rsync -rv --chmod=Doug=rx,Foug=r source/ dest/ 

这可能比umask更好,因为它是一个更加本地化的解决scheme。

您还可以创build一个脚本来正确设置所有权限。 这样做的好处是,脚本将在您的生产环境中有用。

  1. 你可能会改变你挂载NTFS分区的方式,所以它会显示rw上的文件。 这样,当你复制他们,他们将有W +。
  2. 你可以设置一个粘滞位到你通常将文件复制到的目录,所以新的文件将在那里被创build,并具有适当的权限(我不太确定它是否可以使用复制)。
  3. 我的最爱:不要双启动。 在虚拟机(我使用virtualbox)中使用窗口速度的损失是非常小的。 而VirtualBox为您提供这些好东西:

    • 支持硬件video加速 – 即如果你有正确的驱动程序,你的Windows VM也可以有3D渲染(如果你需要的话)

    • 提供共享文件夹 – 即您的主机操作系统上的目录(可从虚拟机访问),以便共享文件

    • 无缝模式 – 您可以在您的Linux桌面上运行Windows应用程序而无需显示整个Windows桌面。

上述方法对我来说在过去4年以上工作得非常好。

干杯

答案是更改fstab安装文件,以便不会如此苛刻的权限。

 sudo fdisk -l 

然后编辑文件

 sudo vim /etc/fstab 

然后我添加了以下行

 /dev/sda1 /media/windows ntfs-3g defaults,locale=en_US.UTF-8 0 0 

最后我重新安装了fstab文件

 sudo mount -a 

感谢这两个资源 。 现在我创build的所有文件都使用与当前用户正在运行(我认为)相同的“默认值”。

umask也是您可以在挂载上设置以控制文件的复制权限的选项。