解决 Ubuntu 挂载NTFS硬盘时的权限问题
我在装的是Ubuntu 22.04和Windows11的双系统,当插入硬盘后对硬盘文件属性修改时均无效(chmod相关操作我都试个遍),查询后得知原因如下:因为 NTFS 分区格式不支持类 Unix 的权限,Ubuntu挂载NTFS分区的默认目录是/media ,如果把该分区手动挂载到别的目录,那么这个目录权限就会变化,改都改不了,在 mount 时可以设置。
不过呢还是有办法解决该问题的,如果要挂载的这块硬盘想要系统启动过程中被自动挂载那就用方法1,如果这块ntfs硬盘只是临时使用被插入时才使用可以使用方法2手动挂载的方式。
方法一:
ubuntu开机自动挂载ntfs硬盘(转自https://blog.csdn.net/wangliang888888/article/details/104690170)
1 :查看自己的磁盘分析信息
UUID UGD GID 信息
获取磁盘UUID 如下
ls -l /dev/disk/by-uuid
lrwxrwxrwx 1 root root 10 1月 12 21:45 0001AC6D000973C1 -> ../../sda5
lrwxrwxrwx 1 root root 10 1月 12 21:45 0003A300000D437F -> ../../sda6
lrwxrwxrwx 1 root root 10 1月 12 21:45 000ACA5D000CE1C1 -> ../../sda8
lrwxrwxrwx 1 root root 10 1月 12 21:45 000E08DD00019CAA -> ../../sda7
lrwxrwxrwx 1 root root 11 1月 12 21:45 158c8fbb-a3d4-4cb9-a7a5-1ecf13586280 -> ../../sda10
lrwxrwxrwx 1 root root 10 1月 12 21:45 18354ee2-3c44-405a-af87-7c2316c45983 -> ../../sda1
lrwxrwxrwx 1 root root 10 1月 12 21:45 f233ebb4-8c6e-48ca-832c-08ceb567f928 -> ../../sda9
lrwxrwxrwx 1 root root 10 1月 12 21:45 FE14E80014E7BA33 -> ../../sda3
lrwxrwxrwx 1 root root 10 1月 12 21:45 FE3438FC3438BA0B -> ../../sda2
查看自己的 磁盘是在sda? 可以通过 sudo fdisk -l 查询 我推荐一个图形化的工具
GParted 工具
2:查看GID (组ID ) 和UID (用户ID )
可以查看
vim /etc/passwd
3:修改 /etc/fstab 文件 (让系统启动的时候 自动挂载 )
sudo vim /etc/fstab
其中 umask 是权限的 屏蔽 用 777-000 就是你的权限
其中 uid 和 gia 就是 你上面查询的用户 ID 组ID
\# windows ntfs software D
UUID=0001AC6D000973C1 /media/MyPassport ntfs defaults,nls=utf8,umask=000,uid=1000,gid=1000 0 0
\# windows ntfs student E
UUID=0003A300000D437F /media/Student ntfs defaults,nls=utf8,umask=000,uid=1000,gid=1000 0 0
\# windows ntfs Media F
UUID=000E08DD00019CAA /media/Medai ntfs defaults,nls=utf8,umask=000,uid=1000,gid=1000 0 0
\# windows ntfs Else G
UUID=000ACA5D000CE1C1 /media/Else ntfs defaults,nls=utf8,umask=000,uid=1000,gid=1000 0 0
比如我修改成了
UUID=5ace08dd-1a42-4113-ad6c-068a1ca4b645 none swap sw 0 0
/dev/disk/by-uuid/6C52EB1452EAE236 /home/wenjian ntfs defaults,nls=utf8,umask=000,uid=1000,gid=1000 0 0
4:保存重启即可
方法二:手动挂载方式
由方法一可已经得到ntfs的设备号、uuid、uid、gid。如果硬盘插上时被系统自动挂载,那么先解除绑定关系:
sudo umount /dev/sdc1
然后再手动绑定:
sudo mount -t ntfs -o uid=1000,gid=1000,umask=0000 /dev/sdc1 /media/MyPassport
umask 用户权限的掩码值,实际用户权限:是777减去umask的值,因此权限最后编程了都是777。
dmask 目录权限的掩码值,实际目录权限:是777减去dmask的值
fmask 文件权限的掩码值,实际文件权限:是777减去fmask的值
如果对ntfs中目录和文件属性作区分的话,可以用下面命令绑定:
sudo mount -t ntfs -o uid=1000,gid=1000,dmask=0111,fmask=0000 /dev/sdc1 /media/MyPassport