Ram*_*rid 1 permissions mount ntfs multiple-users
我使用的是 ubuntu 14.04,想在我的管理员帐户旁边创建另一个帐户,供我的家人使用,以免打扰我的工作。问题是我无法授予其他帐户访问包含数据的 NTFS 分区的权限,我已经尝试了论坛上提到的一些解决方案,但没有任何效果。机器重新启动时首先登录的用户似乎仍然保留了该分区,并禁止任何其他用户访问它,即使在他注销后也是如此。我发现唯一有效的技巧是在注销当前用户之前卸载该分区。这样,下一个要登录的人将挂载该分区并访问它。
我的问题确实是,这是否是分区访问在不同计算机用户之间工作的方式,我的意思是卸载您正在使用的任何分区,以便其他用户能够在您之后使用它,或者我无法正确授予对该分区的访问权限分割?
如果您在计算机开启时始终为所有用户始终需要此功能,那么实现此目的的最简单且可能最好的方法是定义安装点以及在/etc/fstab
. 通过这样做,您可以在安装分区/驱动器时自动提供访问权限。
这是一种更高级的做法,但如果具有 NTFS 分区的设备始终连接到计算机,这将消除您遇到的一些麻烦,并有效地自动提供围绕数据的安全控制,并允许我们实际上随着时间的推移修改控件,而不必每次都使用不同的选项或用户手动重新安装。
我在这个答案中还有其他一些部分。
fstab
,它适用于我的 Ubuntu 计算机上的 Windows 分区(我是计算机上的唯一用户)。fstab
条目,并解释了安装选项。/etc/fstab
如果您在第三部分中听了我的讲话,第四部分将为您提供一条可以使用的潜在路线。(一)我的fstab
参赛作品
不幸的是,我的笔记本电脑上有这样一个 NTFS 分区,我必须使其对自己和系统服务可读......
# Windows Partition - targetted for /media/win7
UUID=UUIDOFPARTITION /media/win7 ntfs-3g defaults,locale=en_US.utf8,windows_names,umask=7000,uid=1000,gid=1000,user 0 0
Run Code Online (Sandbox Code Playgroud)
这行是什么意思?#
嗯,前面有 a 的第一行是注释。第二行是更重要的一点,它是实际的fstab
条目:
sudo blkid /dev/sda1
(替换/dev/sda1
为分区的实际 ID,因此,如果它位于第二个磁盘上并且是第二个磁盘分区表中的第三个分区,那么可能/dev/sdb3
会在此命令中。我剥离去掉UUID=
我条目中该行的引号fstab
。)/media/win7
。fstab
该ntfs-3g
选项,以便它知道它是 NTFS。0
.0
.(2) 安装选项
我通过了很多安装选项:
defaults
- 传递默认挂载选项(rw
- 读/写,suid
- 允许设置用户标识符或设置组标识符位生效,dev
- 解释文件系统上的字符或块特殊设备,exec
- 允许执行二进制文件,auto
- 允许使用选项-a
, mount
-nouser
禁止用户安装(稍后覆盖), async
- 允许与文件系统进行异步 I/O。)locale=en_US.utf8
- 使用 UTF8 强制执行美国英语区域设置windows_names
- 强制对分区中的新文件实施 Windows 名称限制。umask=7000
- 基本上,逆 chmod。定义文件不允许哪些权限。本质上,我在这里不禁止任何读/写/执行,因此安装位置上的所有文件都有效地获得读、写和执行权限。我不想要设置任何特殊位(setuid、setgid、sticky),因此我必须从第一个八位字节中删除它们 - 因为它们的数字总和是“7”并且我禁止这些权限,我放一个前导 7。uid=1000
, gid=1000
- 将分区安装到该文件夹中,用户和组所有权为 UID(用户 ID)和 GID(组 ID)1000
(这是我的用户的用户和组,teward
在 Ubuntu 系统上)。user
- 允许用户安装或卸载目录。覆盖nouser
中的选项defaults
。(3) 为您提供安全的解决方案
不过,对于您的用例,我们可能可以将安装选项简化为这些选项,因为用户正在访问数据而不是系统。然而,让我们以安全的方式做到这一点。让我们创建一个可以在此处进行读/写/执行的用户组。
addgroup ntfs-users
- 这将创建一个名为“ntfs-users”的用户组。
id -g ntfs-users
- 这将为我们提供“ntfs-users”的数字组 ID。我们需要这个作为gid=
安装选项。
usermod -a -G ntfs-users USERNAME
- 将USERNAME
用户添加到ntfs-users
我们刚刚创建的组中。
现在,我们可以利用这串挂载选项:
rw,exec,async,auto,user,locale=en_US.utf8,windows_names,umask=7007,gid=654
Run Code Online (Sandbox Code Playgroud)
我的 fstab 中的字符串没有执行以下操作:
defaults
uid
所有者用户为任何内容(通常在启动安装时为 root)654
假设组 IDntfs-users
ntfs-users
)访问数据。如果您想拥有数据,即成为所有者用户而不是root
,则在该选项中添加回来uid=
。使用id -u YOURUSERNAME
并替换为您的用户名以获得与该选项一起使用的YOURUSERNAME
用户 ID ( )。uid
(4)/etc/fstab
假设您在第 3 节中听了我的发言,则可能是您的用例的条目
获取分区的 UUID,那么这可能类似于您的/etc/fstab
行:
UUID=0123456789ABCDEF /mnt ntfs-3g rw,exec,async,auto,user,locale=en_US.utf8,windows_names,umask=7007,gid=654 0 0
Run Code Online (Sandbox Code Playgroud)
将 中的值替换为要UUID=
挂载的分区的 UUID ,替换为系统上的挂载点,将挂载选项中的值替换为我们创建的组的组 ID,如果您希望拥有您的用户作为所有者而不是,然后添加一个选项,为您的用户提供,正如我之前所说的如何执行此操作。/mnt
gid=
ntfs-users
root
uid=
uid
归档时间: |
|
查看次数: |
1565 次 |
最近记录: |