mount远程目录并让本地非root用户可读可写

远程与本地是两台linux机器,要实现如题效果,传统的nfs的mount方式虽然简单方便却不行

nfs的方式:

sudo mount -t nfs  -o rw 192.168.0.xx:/path  /mnt/test

在本地你会发现/mnt/test下的文件用户为nobody,普通用户可以读,但是非root用户写不了(不用sudo不用su),

有的人想通过改/etc/fstab 或者远程主机的/etc/exports来实现,

我告诉你趁早放弃,nfs没有这个功能,它无法指定uid gid 用户名,密码。


cifs可以解决这个问题,通俗点讲就是samba的方式

远程主机安装samba服务

部分/etc/samba/smb.conf 内容

[testuser]
    path = /home/testuser/share
    read only = no
;    browseable = yes
    valid users = testuser

共享目录/home/testuser/share,有效用户为testuser


本地操作如下

安装 cifs-utils       sudo apt-get install  cifs-utils 神马的

命令id得到本地用户localuser的id,gid    

比如得到uid=1000(localuser) gid=1000(localuser)  

修改/etc/fstab

//192.168.0.xx/testuser/  /mnt/test/   cifs    rw,noauto,defaults,username=testuser,password=testuserpassword,uid=1000,gid=1000    0       0

然后sudo mount /mnt/test就会挂载,此时localuser翻身做主人了,注意为了安全fstab中可以不写password=testuserpassword这段,然后在mount时手动输入密码,如果要开机自动挂载,可以把noauto改成auto,或者在启动脚本中mount

作者:帅得不敢出门 程序群31843264

你可能感兴趣的:(LINUX)