无法修改NTFS驱动器中目录权限[chmod问题]
解决NTFS分区下无法用chmod修改目录权限的问题
问题原因
NTFS是Windows原生文件系统,Linux通过ntfs-3g驱动挂载时,不会保留或支持Linux的独立权限位设置——所有文件/目录的权限都是由挂载参数统一指定的,因此直接用chmod修改单个目录权限不会生效。
解决方案
要实现你的需求,需要通过挂载参数来统一设置NTFS分区的权限:
先卸载目标NTFS分区
替换/path/to/mountpoint为实际的挂载路径(可通过df -h命令查看):sudo umount /path/to/mountpoint重新挂载并指定权限参数
根据你的实际需求选择挂载命令:- 如果你确实需要目录权限为
dr--r--r--(注意:此权限下无法进入目录,仅能查看目录名):sudo mount -t ntfs-3g -o uid=0,gid=0,dmask=222,fmask=222 /dev/sdXn /path/to/mountpoint - 更合理的设置:目录可进入(
dr-xr-xr-x)、文件只读(r--r--r--):sudo mount -t ntfs-3g -o uid=0,gid=0,dmask=022,fmask=222 /dev/sdXn /path/to/mountpoint
参数说明:
uid=0,gid=0:设置分区内所有文件/目录的所有者为rootdmask=222:移除目录的所有写权限;若用dmask=022则保留执行权限(允许进入目录)fmask=222:移除所有文件的写权限,最终文件权限为444
- 如果你确实需要目录权限为
永久生效设置(可选)
编辑/etc/fstab文件,添加以下内容(替换对应路径和设备名):/dev/sdXn /path/to/mountpoint ntfs-3g uid=0,gid=0,dmask=022,fmask=222 0 0执行以下命令让设置立即生效:
sudo mount -a
内容的提问来源于stack exchange,提问作者Cpl Mang
相关产品推荐
相关产品推荐

