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下。
- 查看磁盤UUID
執行命令sudo blkid查看對應磁盤的UUID,因為我這塊磁盤是NTFS格式的,很明顯就是最后一個了。 - 查看用戶編號和組編號
執行cat /etc/passwd | grep zhangsan, 查看zhangsan的uid=1000,gid=1000 - 創建掛載點
執行sudo mkdir /d來創建一個掛載磁盤的地方(我就叫它/d,因為在windows下它是我的D盤),執行sudo chown -R zhangsan:fawaikuangtu /d來將掛載點/d目錄授予fawaikuangtu用戶組下的zhangsan用戶 - 增加開機自動掛載
執行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
- 重啟
驗證
cd /d/workspace/sourcecode/apache-kafkagit pull這次直接就能拉取代碼不用再去添加什么安全目錄了
補充
如果你掛載以后發現目錄右下角有個小鎖或者執行操作的時候,看下帶鎖的目錄里面是不是有個.Trash-1000d的目錄或者.Trash-其他數字的目錄。如果有的話,那就登錄到Windows系統刪除它再重啟就好了。
你要問我為什么,那你就得先問問自己是不是之前登錄過window系統而且還在windows里面刪除文件到回收站了。那就是windows的回收站啊。
總結
主要是對mount的參數了解的不夠,尤其是-a參數,其實修改了/etc/fstab開機自動掛載和手動mount執行是一樣的,不過一個系統掛載一個手動而已。

浙公網安備 33010602011771號