我在固定 PC 上使用 Ubuntu 9.10。我有一个带有单个大逻辑分区的辅助 1 TB 硬盘驱动器(当前格式化为 ext4)。它被挂载为 /usr3,选项user, exec在 /etc/fstab 中。
我正在做高速成像实验。好吧,只有 260fps,但这仍然会创建许多单独的文件,因为每一帧都保存为一个 png 文件。除我之外的任何人都不会使用固定装置,这就是为什么不需要 ubuntu 提出的默认安全模型的原因。
使 /usr3 的全部内容在所有系统上普遍可用的最佳方法是什么。如果我需要将硬盘移动到另一台 Ubuntu 9.x 或 10.x 机器上?
使用火线相机抓取图像时,我在 sudo 模式下使用自制的抓取软件实用程序(基于控制台)。这将创建以 root 作为所有者和组的所有文件。
我以用户otb 身份登录,通常在必须使文件对 otb 普遍可用时,我会执行以下操作:
sudo chown otb -R * sudo chgrp otb -R * sudo chmod a=rwx -R *
这需要一些时间,因为磁盘现在包含单独的 ~200000 个文件。
在此之后,如果我将硬盘驱动器移动到另一个用户otb也可用的系统,linux 会如何表现?如果不使用 sudo,这些文件仍然可以访问吗?
首先,您的前两个命令可以组合:
但是不确定这是否会运行得更快。
其次,由于您不关心此驱动器的安全性,因此您应该安装驱动器并指定一个 umask,使所有文件在写入时变为 777:
这可能有助于完全避免运行第三个命令。
此外,由于似乎 umask 选项可能不适用于所有文件系统类型,因此还有另一种方法可以设置在 sudo 中创建的文件的默认文件权限。这是通过编辑 /etc/sudoers 来实现的。
从
man sudoers
,选项“umask_override”似乎允许这样做。umask_override :如果设置,sudo 将设置 sudoers 指定的 umask,无需修改。这使得可以在 sudoers 中指定比用户自己的 umask 更宽松的 umask,并匹配历史行为。如果未设置 umask_override,sudo 会将 umask 设置为用户的 umask 和 sudoers 中指定的内容的并集。该标志默认关闭。
不过,我从未使用过此选项,因此请谨慎操作。 编辑 /etc/sudoers 可能很危险,如果您弄错了,需要重新构建系统(或实时 CD 干预)。
您将需要为用户(或任何用户名)提供相同的
uid
和,以便能够在不使用不同系统的情况下访问文件。gid
otb
sudo
UID(用户 ID)和 GID(组 ID)都是分配给用户和组的唯一编号系统。对于普通用户,它们从 1001 开始。
确保相同权限的最简单方法:在文件
/etc/passwd
中,对于任何用户条目,UID 和 GID 分别是第三和第四字段。在第二个系统上,您可以使用来自终端的命令创建用户,其中 UID 和 GID 与第一个系统useradd -u UID -g GID username
中用户的 UID 和 GID 相同。otb
在发出命令之前,请确保相同的 UID 已未被使用。我尝试从 GUI 系统 -> 管理 -> 用户和组,但找不到同步它的方法。
跨系统保存相同
/etc/passwd
文件,或使用 NIS 等解决方案,如果您有更多系统,LDAP 将使这更加顺畅。有关更多详细信息,请参阅
man useradd
,man usermod
如果您需要man userdel
从终端删除任何用户,请参阅。