參考博客:https://blog.csdn.net/zhao12795969/article/details/53446172
安裝samba的原因: 源碼需要在Linux 下編譯,但源碼項目比較大,小到幾百個源文件,大到上萬個源文件,在Linux下用vim編輯太不方便(雖然本人也裝了一些插件,如NERDTree,taglist,miniBuf,但像符號查找,函數引用還有一些其他操作,vim還是沒有像window下的 sourceInsight 方便,特別是大項目的時候更加不方便,而且平時工作當中也是在window下用SourceInsight 編輯,在Linux服務器上編譯),所以需要把Linux下的源文件共享出來,在Window上編輯,在Linux上編譯。這一過程也是遇到了很多問題,記錄如下文,希望能幫助到和我一樣遇到類似問題的網友!
首先遇到的問題:Linux 筆記本能連上無線網,但網速太差,每次用 yum -y install samba 都提示失敗,自動安裝已無望,提示的錯誤都是try later again,無奈只能考慮下源碼安裝了(本人兩臺筆記本,一個window系統,一個centos系統),選擇從window筆記本(兩臺筆記本都連了無線,但window上可以下載)上下載源碼,源碼地址:
https://download.samba.org/pub/samba/stable/
我是下載了3.6.25 版本的,即samba-3.6.25.tar.gz ,下載後用u盤拷貝到centos 下進行安裝。
結果解壓文件時出現了一些錯誤,如:
我以爲沒有什麼大的問題,結果在源碼下面執行configure 的時候報錯了,沒法安裝,上網搜了才知道應該是壓縮包下載不全導致,結果一看還真是,下載下來的包才6M多一點,到源碼路徑上去看是33M多,那爲什麼window提示下載完成了呢?不得解!!重新下載源碼包,拷貝到centos。
解壓、安裝步驟如下:
1,在home目錄下新建了一個目錄samba,將源碼包放到此目錄下,解壓: tar xzvf samba-3.6.25.tar.gz,解壓出目錄 samba-3.6.25
2,進入源碼目錄 samba-3.6.25/source3,執行 ./configure --prefix=/usr/local/samba
3,執行上一步沒有錯誤,接着執行
這個過程是編譯源碼,需要一點時間,等待其編譯完成
4,編譯安裝完成之後,配置動態鏈接庫。
vim 打開文件,寫入/usr/local/samba/lib
5, 創建 samba的配置文件 smb.conf
進入到samba的主文件夾下
注意要改名爲smb.conf , 不然是無法識別的
(安裝目錄下有很多smb.conf的例子,但/usr/local/samba/lib下卻沒有,所以必須copy.)拷貝過來後,我沒有改動而直接用。
6,添加了一個系統用戶: samba_test,設置密碼。
useradd samba_test -------- 添加系統用戶
passwd samba_test --------- 設置密碼
其實這一步也可以不用添加新用戶,用原有用戶也是可以的,只需要把已有用戶添加到samba中即可,即下面的添加命令,把samba_test改成已有用戶名即可。
7,添加 samba 用戶且啓用,用於在window登錄用,需要在root下執行:
/usr/local/samba/bin/smbpasswd -a samba_test
此時讓輸入的是smb密碼,即登錄samba服務的密碼(在windows 上用\\192.168.1.109登錄時要求輸入的密碼),跟用戶的系統密碼是不一樣的,不過設置成一樣不知道可不可以,即:
New SMB password:
Retype new SMB password:
當提示: Added user win_test 即爲成功了,若出現: Failed to find entry for user win_test 即是失敗的,原因沒有這個用戶 或 上面的命令沒加參數 -a
啓用:/usr/local/samba/bin/smbpasswd -e samba_test
提示:Enable user samba_test ------ 啓用成功
8,啓動服務,先關閉防火牆,否則window始終連不上samba 共享目錄的。
關閉防火牆:/etc/rc.d/init.d/ iptables stop
啓動服務: 需要root權限,若一般用戶下執行沒有提示錯誤,但服務並沒有啓動
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
通過命令 ps -elf | grep smbd 和 ps -elf | grep nmbd 檢查啓動的服務
9,window 下進行連接,在運行中輸入:
\\192.168.1.109\samba_test ----- samba_test就是第6、7 步創建的用戶,第一次登錄會要求輸入密碼,密碼爲第7步設置的New SMB密碼,而不是samba_test 的系統密碼,不要搞混淆了。
可能會遇到的問題:如下的提示,會讓你一直輸入密碼,但不管輸入正確與否,都是這個提示,如下圖:
當時沒截圖,這個是從網上截來的。
這種情況看來是windows7的問題,解決的辦法是:單擊”開始“-“運行”,輸入secpol.msc,打開“本地安全策略”,在本地安全策略窗口中依次打開“本地策略”-->“安全選項”,然後再右側的列表中找到“網絡安全:LAN管理器身份驗證級別”,把這個選項的值改爲“發送 LM 和 NTLM – 如果已協商,則使用 NTLMv2會話安全”,最後確定。如圖二。
再連接即可連接上samba共享目錄。默認情況下,samba的共享目錄爲 用戶的home目錄,如上的\\192.168.1.109\samba_test,則連接上後,其進入的共享目錄爲samba_test 的home 目錄。若要共享其他目錄可上網搜索。
共享目錄效果如下:
在自已做試驗的過程中,創建了兩個用戶,先前創建如上面的samba_test 用戶,後來又創建了win_test 用戶,同時也添加到samba中,也啓用了,但當我用win_test 去連接smaba服務器時,總是提示如下錯誤:
上網搜索後都說確保smb.conf不要配置錯,我怎麼確定,我不知道怎麼確定。如上我所創建的samba的時候smb.conf都是直接用默認的,沒做修改,這個配置應該是沒有問題的,於是我想到了,是不是密碼不對,因爲當我在運行中輸入\\192.168.1.109\win_test 時,沒有提示我輸入密碼,而是直接彈出上面這個錯誤提示框,這個肯定不對啊,兩個用戶密碼我設置的是不一樣的,所以繼續搜索"清除訪問局域網密碼緩存" ,果然是密碼不對的問題,在我第一次用\\192.168.1.109\samba_test登錄成功後,電腦已經記住這個密碼,往後再登錄都會用這個密碼,所以得清除一下:
1,在運行中輸入control userpasswords2或者control keymgr.dll,然後【高級】下的【管理密碼】,點擊對應的連接,從保存庫中刪除,如下圖:
2,重啓Workstation 服務 : 電腦右鍵--->管理--->服務與應用程序--->服務,找到Workstation服務,雙擊進行編輯,點擊停止按鈕,確定,再啓動,確定,服務即可重啓。
再連接\\192.168.1.109\win_test ,彈出輸入用戶名和密碼,如下截圖:
輸入對應的用戶名和密碼,連接成功,如下:
這些屬於用戶自帶的隱藏文件,不需要顯示可以在標題”組織“裏“文件夾與搜索選項” 的查看裏隱藏掉。