簡單實現Windows和Linux檔案共享

noter發表於2007-07-03

只是做一個筆記,以後查閱起來的時候比較方便.用samba3.0使用兩個不同的作業系統共享硬碟。

安裝samba,這個很簡單了,如果你是fedora,rh9,就可以從光碟直接安裝samba的rpm包。

rpm -ivh samba-3.0.0-15.i386.rpm

大家也可以直接到samba的官方網站(http://www.samba.org)去下載最新的軟體包最新的版本為Samba 3.0.4,在FTP裡可以下載得到.

那就最好按下面的方法編譯

tar zvxf samba-3.0.4.tar.gz

cd samba-3.0.4/source

./configure /
--prefix=/usr /
--bindir=/usr/bin /
--sbindir=/usr/sbin /
--libexecdir=/usr/libexec /
--datadir=/usr/share/samba /
--sysconfdir=/etc/samba /
--localstatedir=/usr/local/samba/var /
--libdir=/usr/lib /
--with-lockdir=/var/locks/samba /
--with-swatdir=/usr/share/samba/swat /
--with-codepagedir=/etc/samba/codepages /
--with-configdir=/etc/samba /
--with-smbwrapper /
--with-automount /
--with-smbmount /
--with-pam /
--with-pam_smbpass /
--with-winbind

make

make install

ok!安裝完以後,下面才是我們的重點,修改/etc/samba/smb.conf,大家最好在原來的基礎上修改。

[global]

workgroup = MYGROUP 工作組名,相當於域.
server string = lzsj 主機的名字,隨便寫
log file = /var/log/samba/%m.log 日誌存放的目錄
security = user 使用user,便要求每個使用者在Samba伺服器上擁有一個賬號,如果打算讓所有人使用同樣的共享資源,可以設定為security = share
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd 使用Samba的認證密碼,增加一個使用者命令如下:
smbpasswd -a :新增一個使用者,並且設定密碼.
smbpasswd -d :禁用一個samba使用者.
smbpasswd -e :啟用一個samba使用者.

[sjweb] 共享目錄的名字
comment = sjhome web 共享目錄說明
path = /opt/www/blog 共享有Linux下的目錄
valid users = sjweb 使用的使用者名稱
public = no 是否讓所有可以登入的使用者看到此目錄
writable = no 是否可以寫入
printable = no
create mask = 0765 設定共享目錄的許可權

然後下面就要在系統下新增sjweb這個使用者名稱.
groupadd sjweb 增加sjweb組
useradd -g shweb 增加sjweb使用者名稱
增加完以後使用可檢視/etc/passwd和/etc/group這兩個檔案中,是否有sjweb此使用者名稱和組.
使用命令:chown -R sjweb:sjweb /opt/www/blog
-R表示將sjweb使用者名稱和組給予/opt/www/blog目錄.
然後在用命令:chmod 755 /opt/www/blog給予共享目錄可讀和可執行的許可權.
重新啟動Samba:/etc/rc.d/init.d/smb restart
如果還是不行,有一種方法可以實現.
先用smbpasswd -a test建立test使用者.
就會生成smbusers檔案,vi開啟後,按所示加入:
test = test
儲存後在用:smbpasswd -a test命令建立test使用者.這次一定會成功.

OK,然後設定自己的Samba是否正常,用命令:
smbclient -L 本機IP地址
Password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.4]

Sharename Type Comment
--------- ---- -------
share Disk pvpgn's share
ipb Disk pvpgn's share
sjweb Disk sjhome web
IPC$ IPC IPC Service (Lztv)
ADMIN$ IPC IPC Service (Lztv)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.4]

Server Comment
--------- -------
lzsj lzsj

Workgroup Master
--------- -------
MYGROUP lzsj
出現密碼後直接回車,便可得到以上的資訊.
如果沒用出現以上的訊息,看看是否是防火牆沒有允許137或139埠訪問,加入以下規則便可:
iptables -A INPUT -p udp -s 本機IP地址 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -s 本機IP地址 --dport 139 -j ACCEPT.
然後還是使用:smbclient -L 對方Windows系統的IP地址.我是以Windows2000為例.
[root@stlnx4 samba]# smbclient -L 對方IP地址
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

OK,已經可以識別得出對方的系統為Windows2000,然後在對方系統下,查詢這臺Linux的IP地址,便可以相互訪問了.

瞭解更多詳情,參與討論,請進入GBUNIX論壇

http://www.gbunix.com/bbs/index.php

相關文章