解决Linux系统下挂载NTFS文件系统硬盘后权限777的问题并配置自动挂载
2022/12/14...大约 2 分钟
问题
我的树莓派在挂载 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/usb3dmask=022:目录权限 = 777 - 022 = 755,即 rwxr-xr-xfmask=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 和组 iddmask、fmask:权限设置0:不自动备份0:开机不自检
修改完成后,运行命令检查一下配置是否正确:
sudo mount -a重启后,硬盘就能自动挂载
