linux下,要访问windows的共享,有好几种情况,下面进行总结。
外面的文章,有点介绍需要使用samba,有点说什么都不需要,只需要mount加上参数,
功能是实现,不过原理,还是不太明白,我发现系统多了一个winbind的服务。
下面就是我的测试过程。我的系统是centos5.4,最小化安装。
[root@centos5 ~]# mkdir /mnt/share
[root@centos5 ~]# mount //192.168.1.120/share /mnt/share
mount: wrong fs type, bad option, bad superblock on //192.168.1.120/share,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
这是时候,会报这个错误,无论你怎么加参数,-t cifs 都是不行的。
yum install samba-client
这个时候,会把下面这两个包都装上。
Running Transaction
Installing : samba-common
Installing : samba-client
装完后,再运行这条命令。
# mount //192.168.1.120/share /mnt/share
Password:
[root@centos5 ~]# ls /mnt/share/
iRedMail.zip XP_OEM免激活.rar
Windows+7+OEM、MSDN、+旗舰版+SP2+OEM+BT种子(含12映像).rar
我的windows共享,没有设置密码,任何人都可以访问。中文显示也是没有问题
我的字符集是英文,不过显示中文是没有问题的。
看来linux访问windows共享,越来越方便。
注意,linux连接windows的目录,是分大小写。
使用smbclient的命令。可以查看windows的所有共享。
# smbclient -L //192.168.1.120
Password:
Domain=[DELL-BB70AEAFFD] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
IPC$ IPC 远程 IPC
D$ Disk 默认共享
share Disk
ADMIN$ Disk 远程管理
C$ Disk 默认共享
session request to 192.168.1.120 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[DELL-BB70AEAFFD] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
# which smbclient
/usr/bin/smbclient
# rpm -qf /usr/bin/smbclient
samba-client-3.0.33-3.14.el5
这是我的字符集
# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
mount -t cifs -o username=easwy //windows-server/share /mnt/winshare
smbclient -L //windows-server -U easwy