Linux开机自动挂载非系统硬盘到指定用户

Linux开机自动挂载非系统硬盘到指定用户

背景

自己在家捣鼓的Linux Mint 21,我的分盘是这样子的:原本1T固态,300多G给了Windows,300多G给了Linux,300多G当做数据盘(免得哪个系崩了把我数据给干没了)。

变故

本来开机手动挂载没啥事,但我觉得不优雅,我就给开机自动挂载了。不出意外的话那就得出意外了,我的数据盘里面有git项目,我一拉取它就让我增加安全目录git config --global --add safe.directory ,这我哪能忍啊,我上去就是一通搜索,原来是我数据盘挂载到root用户了,我在非root用户拉取当然没权限了。

曲折

相信看到这儿机智的你,应该和我想法是一样的,那当然是用chown -R了。可是但我敲完了sudo chown -R zhangsan:fawaikuangtu /d (没错我的数据盘,我就叫它D盘,你爱咋地咋地吧。)敲下回车后,命令行竟然无动于衷地不执行。我这个/d可是用户zhangsan的目录啊,哦嚯还是没有权限。

解决

既然不能后续修改,那就从挂在的时候修改为指定用户嘛(其实我本来要写个执行开机挂载脚本,后来看了shell找到mount命令列表了),说干就干。
我就开机启动将/media/zhangsan/新加卷挂载到zhangsan名下/d下。

  1. 查看磁盘UUID
    执行命令sudo blkid查看对应磁盘的UUID,因为我这块磁盘是NTFS格式的,很明显就是最后一个了。
  2. 查看用户编号和组编号
    执行cat /etc/passwd | grep zhangsan , 查看zhangsan的uid=1000,gid=1000
  3. 创建挂载点
    执行sudo mkdir /d来创建一个挂载磁盘的地方(我就叫它/d,因为在windows下它是我的D盘),执行sudo chown -R zhangsan:fawaikuangtu /d来将挂载点/d目录授予fawaikuangtu用户组下的zhangsan用户
  4. 增加开机自动挂载
    执行sudo nano /etc/fstab编辑自动加载磁盘目录,追加
# 新增自定义磁盘
##UUID=步骤1查看的UUID                     你要挂载的目录,步骤3创建的目录   磁盘格式(如果是ntfs的话就写ntfs-3g)    挂载的用户,用户ID和组id(步骤2查出来的),后面可写可读可操作   不备份  不检查磁盘
UUID=D56D7619-ADDB-9C96-F13D-E7D47CA89120  /d                           ntfs-3g                            username=zhangsan,uid=1000,gid=1000,rwx                 0     0
  1. 重启

验证

  1. cd /d/workspace/sourcecode/apache-kafka
  2. git pull 这次直接就能拉取代码不用再去添加什么安全目录了

补充

如果你挂载以后发现目录右下角有个小锁或者执行操作的时候,看下带锁的目录里面是不是有个.Trash-1000d的目录或者.Trash-其他数字的目录。如果有的话,那就登录到Windows系统删除它再重启就好了。
你要问我为什么,那你就得先问问自己是不是之前登录过window系统而且还在windows里面删除文件到回收站了。那就是windows的回收站啊。

总结

主要是对mount的参数了解的不够,尤其是-a参数,其实修改了/etc/fstab开机自动挂载和手动mount执行是一样的,不过一个系统挂载一个手动而已。

posted @ 2022-09-08 01:15  神奇小宝  阅读(737)  评论(0编辑  收藏  举报