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