windows下分享的最好方式是网上邻居,共享目录.
如果linux作为客户机(台式机)使用的话,免不了要和共享目录打交道.
记录下通过samba访问windows共享目录,以及遇到的问题.
samba4已经发布,可以使用samba4替换下文中的所有命令.

安装

1
2
## 事实上只需要samba-client即可
yum -y install samba samba-client

linux访问windows共享目录

命令访问

1
2
3
4
5
6
## 列出所有的共享目录
smbclient -L 192.168.6.65 -U Administrator
## 输入密码
smbclient -L 192.168.6.65 -U Administrator%123456
## 访问共享目录
smbclient //192.168.6.65/share -U Administrator%123456

挂载

  1. 命令方式

    1
    2
    mount -t cifs -o username=Administrator,password=123456 //192.168.6.65/share /data/windows
    umount -l /data/windows
  2. fstab方式
    修改/etc/fstab

    1
    2
    3
    4
    ## 加入fstab
    echo "//192.168.6.65/share /data/windows cifs defaults,username=Administrator,password=123456 0 0" >> /etc/fstab
    ## 立即生效
    mount -a

失败

  1. tree connect failed: NT_STATUS_BAD_NETWORK_NAME
    先检查指定的文件件是否共享了,然后检查共享目录的路径是否正确。

  2. session setup failed: NT_STATUS_LOGON_FAILURE
    检查用-U指定的用户名是否正确;
    在Windows的开始菜单中,运行secpol.msc,打开安全设置,本地策略->安全选项-> 网络访问:本地账户的共享和安全模型->选择经典 - 对本地用户进行身份验证,不改变其本来身份

  3. session setup failed: NT_STATUS_LOGON_TYPE_NOT_GRANTED
    在Windows的开始菜单中,运行secpol.msc,打开安全设置,本地策略->用户权限分配->从网络访问此计算机,确认一下是否包含指定的用户

参考文档

  1. http://free.meteor.blog.163.com/blog/static/110977532201252582527111/