解决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/usb3
dmask=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
重启后,硬盘就能自动挂载
Powered by Waline v3.3.2