Samba服務器配置及錯誤解決
1)首先檢查系統是否安裝好了samba。
[root@localhost mnt]# rpm -qa | grep samba
如果出現下面三行內容,則表示已經安裝好了Samba
samba-winbind-clients-3.4.2-47.fc12.i686
samba-common-3.4.2-47.fc12.i686
samba-3.4.2-47.fc12.i686
如果沒有安裝好,需要掛載安裝光盤Fedora-12-i386-DVD.iso
[root@localhost /]# mount –tauto /dev/cdrom /mnt/
若出現mount: block device /dev/sr0 is write-protected, mountingread-only,則表明掛載成功,掛載成功後會在掛載目錄(這裏是/mnt/出現Packages等文件夾),進入到Packages目錄下。
[root@localhost Packages]# rpm -ivh samba-3.4.2-47.fc12.i686.rpm
即可安裝成功。
如果不能安裝,有依賴關係提示的話,請使用yum安裝:
[root@localhostPackages]# yum localinstall samba-3.4.2-47.fc12.i686.rpm
2) 配置smb
[root@localhost /]# cd/etc/samba/
[root@localhost samba]#ls
lmhosts smb.conf smbpasswd smbusers
這裏的smb.conf是samba服務器的主要配置文件。
還要注意一點,smbpasswd文件是用來存儲用戶帳號和經過md5加密後的密碼。
剛安裝好samba服務時,此文件不存在。需要手工創建。下面會介紹。
◆編輯smb.conf文件
workgroup = WORKGROUP
server string = %U's samba %v
netbios name = fedora
log file = /var/log/samba/log.%m
max log size = 50
security = user
[root]
comment = root
path = /
public = no
writable = yes
write list = wangwei
path表示共享的目錄,這裏是根目錄,由於是虛擬機上面的所以我不會在意。可以修改爲其他目錄。
1)建一個系統用戶
[root@localhostsamba]# useradd testuser (建一個名叫testuser的用戶)
[root@localhostsamba]# passwd testuser (給testuser用戶添加密碼)
Changing password foruser samba.
New password: (密碼要六位以上,不顯示在屏幕上)
BAD PASSWORD: it does notcontain enough DIFFERENT characters
Retype newpassword: (確認密碼)
passwd: allauthentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@localhost samba]# cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd
3) 然後創建samba帳戶
[root@localhost samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
Added user testuser.
4)關閉不必要的服務
有的時候不能遠程到linux或者windows下不能直接創建該linuxsamba的網絡驅動器就是因爲下面的這兩個問題。
1、 打開selinux共享
[root@localhost samba]# setsebool -P samba_enable_home_dirs on
2、 開啓samba讀寫權限
[root@localhost samba]# setsebool -P samba_export_all_rw on
3、 關閉防火牆
[root@localhost samba]#chkconfig iptables off (永久關閉,重啓不復原)
[root@localhost samba]#service iptables stop (馬上生效,啓動後又打開了)
[root@localhost samba]# service smb restart
[root@localhost samba]# service nmb restart
[root@sample ~]# chkconfig smb on ← 設置Fedora Samba 自啓動
[root@sample ~]# chkconfig --list smb ← 確認Fedora Samba 啓動標籤,確認 2-5 爲 on 的狀態
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# chkconfig nmb on ← 設置 nmb 自啓動
[root@sample ~]# chkconfig --list nmb ← 確認 nmb 啓動標籤,確認 2-5 爲 on 的狀態
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# /etc/rc.d/init.d/smb start ← 啓動 Fedora Samba 服務
Starting SMB services: [ OK ]
[root@sample ~]# /etc/rc.d/init.d/nmb start ← 啓動 nmb 服務
Starting NMB services: [ OK ]
Ps:請確認是否安裝ssh。 安裝: yuminstall ssh
配置samba服務器常見錯誤及解決辦法:
配置samba服務器的錯誤記錄(整理自網絡):
windows與linux相互能ping通,但ssh及secureCR無法連接!
1、看看sshd服務是否啓動,啓動是否正常
2、service sshd status
看看有沒有返回值
3、查看日誌
tail -200 /var/log/secure
4、關閉防火牆
service iptables stop
5、關閉selinux
vi /etc/selinux/config
selinux=disabled
(需要重啓)
6、service sshd restart
telnet XXX.XXX.XXX.XXX 22
7、上面的問題都無法解決,而且別人還可以通過ssh登陸到你的虛擬機。就是自己不可以。
最後殺手鐗了:在VMWare中安裝好linux系統後,選擇橋接,從宿主機Windows上使用Putty, SSH Secure Shell等客戶端工具連接linux上的ssh服務,客戶端一直沒有反應,無法輸入密碼進行登陸。宿主機和虛擬機之間互相ping沒有問題。linux防火牆和windows防火牆都已經禁用。IP設置在同一網段,SSH服務正常運行在22端口,配置也沒有問題(不然客戶端連接不進來)。FTP等也是一樣,無法從宿主機連接到linux上的服務。一切設置一切該設置的似乎都正常,而且同樣的步驟在其他機器上就可以達到自己的目的了。但是這個時候你的機器就是不行。而且辦公室其他同事的機器就是還可以通過ssh登陸到你的linux上,就是你自己不行。不過總會有高手解決這個問題的。
首先要感謝ningzuowu,我是按照他提供的方法解決的。地址爲:http://bbs.chinaunix.net/archiver/tid-943452-page-2.html
說直接一點就是將網卡的 高級 選項卡中 ---- 屬性 ---- 硬件校驗和 設置爲關閉。(需要重啓)
以下是截圖說明:
1. 本地連接,選擇屬性,選擇配置
2. 在高級選項卡中,選擇“硬件校驗和”,將其值設爲“關閉”,等待網絡自動重新啓動後,便可以使用SSH工具成功連接VMWare中的linux了。
原因猜想:
橋接模式下,虛擬機和宿主機共用一個網卡,在同一網卡上傳輸數據包,可能會有問題,但爲何需要關閉硬件校驗和,尚需高人指點。
可能影響:
關閉硬件校驗和,是否會造成網絡不穩定,或其它問題,還沒有測過,如果有發現問題或者有更好的方法望指出。