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一个脚本来正确设置所有权限。 这样做的好处是,脚本将在您的生产环境中有用。
我的最爱:不要双启动。 在虚拟机(我使用virtualbox)中使用窗口速度的损失是非常小的。 而VirtualBox为您提供这些好东西:
支持硬件video加速 – 即如果你有正确的驱动程序,你的Windows VM也可以有3D渲染(如果你需要的话)
提供共享文件夹 – 即您的主机操作系统上的目录(可从虚拟机访问),以便共享文件
上述方法对我来说在过去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也是您可以在挂载上设置以控制文件的复制权限的选项。