Linux访问windows共享(以及权限问题)

这一段在把公司的服务端移植到Linux下,手头有两台工作机,一台Windows,一台Linux分别在不同网段,路由是单向的Linux可以访问Windows,Windows不能访问Linux为了共享文件我决定在Windows上设置共享,通过共享来分享文件。
Linux访问Windows共享很简单,可以用Mount很方便的将Windows的共享挂在到Linux上,只要输入如下命令


mount.cifs -o username=用户名,password=密码 //windows共享机子的IP及路径 你要挂载的目录

比如我要把192.168.0.1的Windows机子上共享的/Temp目录挂在到/mnt上,假设windows的共享用户名是admin,密码是123,我可以用如下命令:

mount.cifs -o username=admin,password=123 //192.168.0.1/Temp /mnt

这样你就可以通过/mnt来访问windows共享了,但是这时候你只有只读权限,通过ls -l可以看到权限里没有可写的权限,而且共享的文件所有者是root。通过chmod,chown似乎也不能更改权限。怎么办呢?其实只要在mount的时候指定挂在的文件所属的用户uid和组gid即可,通过id查看用户uid及gid

id

之后再mount的-o参数中加上uid=xxx,gid=xxx即可,假设我的用户uid是500,gid是500上面的命令就要写成这样:

mount.cifs -o username=admin,password=123,uid=500,gid=500 //192.168.0.1/Temp /mnt

用上面这条命令挂载后,挂在目录里的文件都是可以写的了。

Comments

Popular posts from this blog

socket close shutdown函数区别

批量在文件头插入

hash表取模技巧