samba配置使用时的相关坑
samba作为一种跨平台的共享文件传输协议,使用起来非常之爽。我用它在我的linux主机和windows主机之间来回切换。
第一种情况,linux主机作为服务器,windows作为客户端
这种情况下,需要根据网上的教程修改/etc/smb.conf这个配置文件,添加smb的访问用户和密码,设置他的访问权限。还要使得客户端可写,只要是writable=yes就可以。
第二种情况,windows主机作为服务器,linux端作为客户机
这种情况比较适合自己的使用,因为windows端往往是资源较多,linux端就是平时编程使用的,。
windows端需要开启samba服务,需要设置共享文件,权限,用户与密码(或者匿名访问)。
问题是,从linux得到取得访问以后,挂载的文件系统只有root才有写权限,而且用chmod chown等都无法修改文件权限,一开始还在想是不是samba的问题,后来考虑root下是可以读写的,那就不是网络端和服务端的问题,应该是本机的问题。找了一段时间以后,发现是mount挂载文件的问题,挂载文件默认都是只有root才有权限的,我们在挂载的时候需要指定uid和gid,通过linux查询普通用户的uid和gid可以看到,都是1000
因此 挂载命令为
sudo mount.cifs -o uid=1000,gid=1000 //${server_ip}/linux_shared /mnt/myshare
这样的话,挂载以后普通用户就有了读写的权限