解决Linux系统下挂载NTFS文件系统硬盘后权限777的问题并配置自动挂载

转自秋澪冬安

问题

在挂载 NTFS 文件系统的移动硬盘后,所有文件的权限都是 777 ,而且还无法更改,看着非常的不舒服,但是我挂载其它文件系统格式的U盘却又没有这个问题,这是我的挂载命令:

sudo mount -o iocharset=utf8,uid=$(id -u),gid=$(id -g),rw /dev/sdb3 /mnt/usb3

即使加上了 rw 的参数,依旧无效。

解决方法

在挂载时添加 umask 或 fmask 、 dmask 参数,Linux 系统中,目录默认权限为 755,文件默认权限为 644。

  • umask:目录与文件的权限
  • fmask:文件的权限
  • dmask:目录的权限

挂载命令为:

sudo mount -o iocharset=utf8,uid=$(id -u),gid=$(id -g),dmask=022,fmask=133 /dev/sdb3 /mnt/usb3
  • dmask=022:目录权限 = 777 – 022 = 755,即 rwxr-xr-x
  • fmask=133:文件权限 = 777 – 133 = 644,即 rw-r–r–

自动挂载

想要实现开机自动挂载硬盘,可以编辑 /etc/fstab 文件,添加一行配置:

UUID=68064EA1064E705C /mnt/usb3 ntfs defaults,nofail,utf8,uid=1000,gid=1000,dmask=022,fmask=133 0 0

配置含义:

  • UUID=68064EA1064E705C:需要自动挂载的硬盘的UUID,通过命令 lsblk -f 查看
  • /mnt/usb3:挂载点
  • ntfs:文件系统类型,根据自己硬盘调整
  • defaults:使用文件系统的默认挂载参数
  • nofail:忽略错误,如果设备不存在则忽略;不加这个,如果开机时设备不存在会导致系统无法正常启动
  • utf8:字符编码
  • uid、gid:挂载这个硬盘的用户 id 和组 id
  • dmask、fmask权限设置
  • 0:不自动备份
  • 0:开机不自检

修改完成后,运行命令检查一下配置是否正确:

sudo mount -a

重启后,硬盘就能自动挂载


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注