You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何配置自动挂载磁盘并赋予用户读写权限?

如何配置自动挂载磁盘并赋予用户读写权限?

老哥我太懂你这糟心情况了!每次用fstab自动挂载磁盘后,权限全归root,自己想存个文件都被拒,手动改挂载目录权限根本没用,一重启或者重新挂载就打回原形——这问题其实不用折腾手动改权限,直接在fstab里加挂载参数就能彻底解决!

下面分两种常见文件系统给你说具体操作:

一、Linux原生文件系统(ext2/ext3/ext4等)

  • 先查自己的用户ID(uid)和组ID(gid):打开终端输入id,输出里会显示类似uid=1000(yourname) gid=1000(yourgroup)的内容,记下这两个数字
  • 编辑fstab配置文件:执行sudo nano /etc/fstab(也可以用vim,看你习惯)
  • 找到对应磁盘的挂载行,在defaults后面加上,uid=你的uid数值,gid=你的gid数值。比如原来的行是:
    /dev/sdb1 /mnt/mydrive ext4 defaults 0 2
    
    改成:
    /dev/sdb1 /mnt/mydrive ext4 defaults,uid=1000,gid=1000 0 2
    
  • 保存退出后,先卸载磁盘:sudo umount /mnt/mydrive,再重新挂载让配置生效:sudo mount -a
  • 这时候你再看挂载目录的权限,就已经是你的用户所有了,读写毫无问题!

二、Windows文件系统(NTFS/FAT32等)

这类文件系统本身不支持Linux的权限体系,所以得用umask或者uid/gid来强制指定权限:

  • 同样先查自己的uid和gid(用id命令)
  • 编辑fstab,在挂载参数里加上uid=你的uid,gid=你的gid,umask=000umask=000意味着所有用户都有读写执行权限,要是想限制同组权限可以用umask=002)。比如NTFS磁盘的挂载行可以改成:
    /dev/sdc1 /mnt/windrive ntfs defaults,uid=1000,gid=1000,umask=000 0 0
    
  • 同样执行卸载加重新挂载的命令,生效后就能正常读写了

额外提醒

  • 编辑fstab前最好先备份:sudo cp /etc/fstab /etc/fstab.bak,要是写错了可以还原,避免系统开机失败
  • 用UUID挂载比/dev/sdb1这种更稳定,不怕磁盘顺序变动,用blkid命令可以查到磁盘的UUID,替换掉挂载行里的/dev/sdxx就行

备注:内容来源于stack exchange,提问作者bluescorpian

火山引擎 最新活动