放松 Linux - 只有我!(文件系统权限)

放松 Linux - 只有我!(文件系统权限)

Linux 中我最喜欢的也是最烦人的事情之一就是文件系统权限。在生产机器和网络服务器上,我喜欢一切都如此安全和锁定 - 但在开发机器上,它确实让我的速度变慢了。我每周都会从众多发现中举一个例子。

和大多数人一样,我双启动 Ubuntu 和 Windows,这样我就可以继续使用 Adob​​e CS4 套件。我经常在使用 Windows 时设计 Web 主题和其他东西。稍后我将启动 Ubuntu 以获取主题并为其编写后端 PHP。安装 Windows C: 驱动器分区后,我可以复制模板文件,以便开始编辑它们。

然而,得益于 Linux,渴望保护我我发现复制这些文件后,我得到了一组完全锁定的文件,甚至我也没有读写权限。因此,在仔细考虑了 HTML 文件给我带来的巨大风险后,我对其进行了 chmod 操作,以便我和 apache 可以开始使用它们。

现在,chmod 过程并不难 - 但是每天 chmod 足够多的文件后,您就会厌倦这样做。我不断地从我的用户、git repos、php 或其他随机进程中创建、获取、编辑和删除文件。毕竟这是一台个人发展机器。一切都在变化日复一日

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

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

答案1

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

这是在 shell 环境中设置的。对于 bash 系统范围,即。或者,您可以根据 shell 的执行方式在或/etc/profile中为用户设置它。~/.bash_profile~/.bashrc

答案2

更新:
我建议在复制文件时使用 rsync,而不是设置 umask。然后,您可以使用--chmodrsync 的参数来获取所需的权限。我认为类似这样的操作:

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

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

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

答案3

  1. 您可以更改挂载 NTFS 分区的方式,使其上的文件显示为 rw。这样,当您复制它们时,它们将具有 w+。
  2. 您可以在通常复制文件的目录上设置一个粘性位,这样新文件就会在那里以适当的权限创建(我不确定它是否可以与复制一起使用)。
  3. 我最喜欢的:不要双启动。在虚拟机中使用 Windows(我使用 VirtualBox)的速度损失非常小。而且 VirtualBox 为您提供了以下好处:

    • 支持硬件视频加速 - 例如,如果您有合适的驱动程序,您的 Windows VM 也可以进行 3D 渲染(如果您需要的话)

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

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

在过去的 4 年多时间里,上述方法对我来说非常有效。

干杯

答案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

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

umask您还可以在安装时设置一个选项来控制文件的复制权限。

相关内容