如何让普通用户无需sudo即可写入CIFS挂载的TrueNAS网络共享
如何让普通用户无需sudo即可写入CIFS挂载的TrueNAS网络共享
嗨,我来帮你解决这个问题~ 你遇到的情况其实很常见:默认情况下CIFS挂载的共享会把所有权给到root用户,所以普通用户只能读不能写。虽然你试过加file_mode=0777,dir_mode=0777,但光有这个还不够,得把挂载后的文件/目录所有者映射到你的普通用户才行,具体步骤如下:
第一步:获取你的普通用户UID和GID
先打开终端,运行下面的命令(把your_username换成你实际的用户名):
id your_username
输出大概会是这样:
uid=1000(john) gid=1000(john) groups=1000(john),4(adm),24(cdrom)...
这里的uid=1000和gid=1000就是你需要的数值,记下来。
第二步:修改fstab配置
打开你的fstab文件(需要sudo权限):
sudo nano /etc/fstab
把原来的挂载行修改成下面这样,替换掉uid和gid的数值,同时保留你之前加的file_mode和dir_mode:
//10.1.1.4/Downloads /mnt/mars cifs user=USER,pass=PASSWORD,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0
解释一下关键参数:
uid=xxx:指定挂载后共享内文件/目录的所有者为你的普通用户gid=xxx:指定对应的用户组file_mode和dir_mode:确保共享内的文件和目录都具备读写执行权限
第三步:重新挂载共享
修改完fstab后,不用重启服务器,直接运行下面的命令让配置生效:
sudo mount -a
现在你试试用普通用户往共享目录里写文件,应该就不需要sudo了~
如果之后有多个用户需要访问这个共享,可以把gid指定为一个专门的用户组(比如gid=1001,假设这个组叫share-users),然后把需要访问的用户都加入这个组:
sudo usermod -aG share-users your_username
同时把file_mode和dir_mode改成0775,这样组内用户都能读写,其他用户只能读,会更安全一些。
备注:内容来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

