我的电脑里有两个机械硬盘。我在磁盘 0 上运行 Windows,在磁盘 1 上运行 Crunchbang。我总是必须在 Crunchbang 中使用提升的权限才能将文件复制到磁盘 0 中的 NTFS 分区。
据我所知,用于设置文件权限的命令(如 chmod 和 chown)仅适用于文件系统对象。我还知道,“在 Linux 中,一切都是文件”。也就是说,有一些特殊文件代表硬件设备、系统信息等。由于这些特殊文件属于虚拟文件系统 /dev,因此它们应该是文件系统对象,因此 chown、chmod 等命令应该适用于这些文件。我已通过以下命令成功更改了设备 sda 的所有者和写入权限
chown aswin sda
我无法更改已安装分区的所有者/权限。我尝试将本地用户设置为已安装分区的所有者,并设置读取、写入、执行的权限。但问题仍然存在。
我是否遗漏了什么?如何设置此磁盘的权限,以便我可以在不提升权限的情况下写入数据?
答案1
你应该不是touch /dev/sd* 权限(我不是谈论/media/sda4
)。如果您确实更改了它们,请撤消更改并使用默认权限,因为它可能会干扰其他程序。(我认为默认所有者/组是root:disk
)
您必须先卸载磁盘才能更改挂载文件夹的权限/media/Disk
。
umount /media/Disk
chown aswin:aswin /media/Disk
mount -va
为了使用特定用户/组 ID 挂载磁盘内容,您可以在 中设置特定的 uid/gid(用户 ID 和组 ID)/etc/fstab
。请参阅Linux - 使用特定用户权限安装设备
此外,除了 fstab 之外,您还有其他解决方案,即基于 GUI 的 gnome 环境:
gvfs-mount -d /dev/sdXY
...它挂载 sdXY(将“X”和“Y”更改为适当的字母和数字)分区并将用户设置为所有者。Gnome 环境还允许单击 nautilus(文件管理器)左侧菜单上的分区,它会自动挂载该分区。
答案2
花了一些时间检查如何在挂载成功后设置特定的所有者和组后,发现可以通过两种方式实现:
- 取决于分区文件系统,因为取决于我们将要确定可能的选项参数。
- 您可以通过
chmod
(通用权限)或设置(高级访问控制列表)。
我真的希望所提供的信息能够对某些人有所帮助。