我想知道如何通過 Golang 在 Linux CentOS 7 服務器中將文件掛載為只讀。我已經嘗試過系統調用,但這不起作用,系統調用會掛載文件,但作為讀寫,我試圖在數據中提供 ro 參數,但它仍然以讀寫方式掛載。這是我的代碼:syscall.Mount(src, dst, "auto", syscall.MS_BIND, "ro")你可以看到我在數據中給出了ro參數,我也試圖只給出r和readonly以及只讀但它們都不起作用,當我編譯 go 文件并執行它然后當我檢查 /etc/ mtab 然后我得到這個輸出:cat /etc/mtab | grep "firewall"/dev/vda1 /root/firewall.txt ext4 rw,relatime,data=ordered,jqfmt=vfsv1,usrjquota=quota.user 0 0在這里可以看到 firewall.txt 掛載為rw表示讀寫我想將它安裝為只讀,任何人都可以幫助我如何在 Golang 中做到這一點?
2 回答

MMMHUHU
TA貢獻1834條經驗 獲得超8個贊
我遇到了類似的問題,通過將 fstype 設置為bind并將標志設置為MS_REMOUNT MS_RDONLY和MS_BIND來修復它。您可以使用以下代碼:
syscall.Mount(source, destination, "bind", syscall.MS_REMOUNT|syscall.MS_RDONLY|syscall.MS_BIND, "")
- 2 回答
- 0 關注
- 140 瀏覽
添加回答
舉報
0/150
提交
取消