转载自:https://www.meowpass.com/pages/521df9/#%E9%97%AE%E9%A2%98
防止自己忘记。
补充,不建议使用 /etc/fstab 挂载磁盘
如果 fstab挂载磁盘失败,会导致无法开机,故而建议在 /etc/rc.local
中,系统启动后挂载,防止系统无法开机启动
问题
我的树莓派在挂载 NTFS 文件系统的移动硬盘后,所有文件的权限都是 777 ,而且还无法更改,看着非常的不舒服,但是我挂载其它文件系统格式的U盘却又没有这个问题,这是我的挂载命令:
sudo mount -o iocharset=utf8,uid=$(id -u),gid=$(id -g),rw /dev/sdb3 /mnt/usb3
即使加上了 rw 的参数,依旧无效。
解决方法
在挂载时添加 umas
或 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
重启后,硬盘就能自动挂载