Linux系统访问windows共享文件夹,可以通过mount命令实现。
基本语法:
mount -t cifs -o username=xxxx,password=xxxx //xxx.xxx.xxx.xxx/folder /localfolder
例如
mount -t cifs -o username=u0332,password=123456 //192.168.43.240/myfiles /mnt/my240
其中 -t cifs 代表访问类型是cifs格式;
-o是选项,代表后面时候选项;-o可以多次出现
本示例中,后面是完整的字符串,包含用户名和口令。
//192.168.43.240/myfiles 代表windows共享文件夹的网络地址;
//mnt/my240是linux系统的本地文件夹,需要事先建好,作为加载点。
加载成功后,共享的文件和子文件夹就相当于在该文件夹下。可以用以下命令测试:
#ls /mnt/my240
但是这个mount语法并不完善,你可能会遇到以下情况,造成访问失败:
1、口令中带有特殊字符,造成执行命令失败,例如口令中间包含 ! ;
2、访问windows系统,返回mount error(13)信息,访问失败;
这个问题困扰我好一段时间,网络上查到的信息支零破碎。
经过多次试验,找到了规范模式写法,分享给各位同好:
1、口令两端要加上单引号;
2、采用域模式进行windows验证,具体就是验证字符串改为:
-o domain=xxxx,username=xxxx,password=xxxx
完整的示例如下:
示例1:
mount -t cifs -o domain=192.168.43.240,username=myshareuser,password='123456 '//192.168.43.240/myfiles /mnt/my240
示例2:
mount -t cifs -o domain=,username=u0332,password='123!456'//192.168.43.240/myfiles /mnt/my240
关于domain的概念:
如果你访问的windows共享文件夹,访问权限是用的共享机本机用户,则domain写共享机的IP地址或机器名,相当于本机域,如示例1,共享机是192.168.43.240,其本地用户myshareuser,具备共享文件夹的访问权限,则domain=192.168.43.240;
如果访问权限是网络域用户,domain写域名,如示例2,共享机是192.168.43.240,在网络域里,域用户u0332具备共享文件夹的访问权限,则domain=。
建议尽量使用以上规范模式来访问,能保证访问成功率。
本示例在CentOS7配合WindowsR2\Windows7 64位系统上调试成功。
如帮到您,欢迎点赞。
如果觉得《Linux系统如何访问windows共享文件夹》对你有帮助,请点赞、收藏,并留下你的观点哦!