整個過程其實算是很簡單了,大體步驟,請參考這裡即可:
samba實現ubuntu跟windows檔案分享權限設定
http://spiritfrog.iteye.com/blog/216768
看完後,也知道,只是去安裝一下samba相關的東東:
sudo apt-get install samba samba-client samba-common
就可以正常安裝samba服務了。
安裝完畢後,去找了個檔案夾,點擊右鍵選擇“共用選項”,然後去設定共用的時候,但是出現錯誤
"執行子進程“testparm”失敗(沒有那個檔案或目錄)", 然後參考這裡:
http://crabdave.iteye.com/blog/639921
即,安裝另外一個samba的東西:
sudo apt-get install samba-common-bin
即可解決問題。
然後按照前面的文章提示,去啟動samba服務:
sudo /etc/init.d/samba start
結果在/etc/init.d下面沒有對應的samba,只有smb:
crifan@crifan-ubuntu10:~$ ls /etc/init.d/smbd -l
lrwxrwxrwx 1 root root 21 2011-04-01 20:02 /etc/init.d/smbd -> /lib/init/upstart-job
而執行那個smb,結果出錯:
crifan@crifan-ubuntu10:~$ sudo /etc/init.d/smbd start
Rather than invoking init scripts through /etc/init.d, use the service(
utility, e.g. service smbd start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start( utility, e.g. start smbd
按照提示,去操作,就可以啟動samba服務了:
crifan@crifan-ubuntu10:~$ sudo service smbd start
start: Job is already running: smbd
另外,關於需要去添加samba使用者的事情,記得別的Linux類的系統裡面,有圖形化使用者介面的工具去配置samba的,而不需要用命令列這麼麻煩的。
後來,無意間,在這裡:
http://www.linuxidc.com/Linux/2010-12/30305.htm
找到了我要的東西,安裝提示去安裝samba圖形管理介面:
sudo apt-get install system-config-samba
然後,就可以通過 系統 -> 系統管理 -> Samba,啟動samba的圖形介面。
此處要提醒的是,在給samba添加使用者之前,需要先保證系統中已經有了該使用者,所以,對於我這次的需求:
只允許一個tq2440的使用者訪問我的某個檔案夾。
那麼具體設定方法就是:
1.先去系統中建立這個使用者
在添加samba的共用之前,先去:
系統 -> 系統管理 -> 使用者和組,建立一個tq2440的使用者。
2.將該使用者添加到samba的使用者中去
系統 -> 系統管理 -> Samba -> samba伺服器配置 -> 喜好設定 -> Samba使用者 -> 添加使用者,找到對應的那個tq2440,然後確定。
3.然後在建立共用,設定該samba使用者可以訪問
在samba中,建立一個共用,然後設定該使用者tq2440可以訪問該檔案夾/檔案。
即,因為你在前面添加了該samba使用者,所以你才能在“只允許指定使用者的訪問”中,看到此tq2440使用者,才能選擇tq2440。
這樣,就設定完畢共用了。
去windows下面直接輸入此ubuntu所在電腦的ip,可以通過ifconfig查看:
crifan@crifan-ubuntu10:~$ ifconfig
eth0 Link encap:乙太網路 硬體地址 44:87:fc:0d:2a:10
inet 地址:192.168.1.101 廣播:192.168.1.255 掩碼:255.255.255.0
inet6 地址: fe80::4687:fcff:fe0d:2a10/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 躍點數:1
接收資料包:65620 錯誤:0 丟棄:0 過載:0 幀數:0
發送資料包:54996 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發送隊列長度:1000
接收位元組:76313596 (76.3 MB) 發送位元組:6204077 (6.2 MB)
中斷:43 基本地址:0x2000
lo Link encap:本地環回
inet 地址:127.0.0.1 掩碼:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 躍點數:1
接收資料包:66 錯誤:0 丟棄:0 過載:0 幀數:0
發送資料包:66 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發送隊列長度:0
接收位元組:7882 (7.8 KB) 發送位元組:7882 (7.8 KB)
wlan0 Link encap:乙太網路 硬體地址 48:5d:60:1d:85:9c
UP BROADCAST MULTICAST MTU:1500 躍點數:1
接收資料包:0 錯誤:0 丟棄:0 過載:0 幀數:0
發送資料包:0 錯誤:0 丟棄:0 過載:0 載波:0
碰撞:0 發送隊列長度:1000
接收位元組:0 (0.0 B) 發送位元組:0 (0.0 B)
中斷:16 Memory:f8078000-f8078100
找到對應的區域網路IP是192.168.1.101,所以直接在另一台windows下面在資源管理員的地址欄中輸入:
\\192.168.1.101
即看到從ubuntu中通過samba共用出來的檔案夾了,和其他普通兩個windows之間的那種共用,沒啥區別。
註:
【查看samba服務是否已經啟動】
ps -aux
如果進程太多,那麼就:
crifan@crifan-ubuntu10:~$ ps -aux | grep smbd
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 5426 0.0 0.2 16704 4160 ? Ss 20:02 0:00 smbd -F
root 5439 0.0 0.0 16704 1236 ? S 20:02 0:00 smbd -F
root 6527 0.0 0.2 17012 4176 ? S 20:23 0:00 smbd -F
crifan 6873 0.0 0.0 5628 764 pts/0 S+ 20:55 0:00 grep --color=auto smbd
其中找到smbd,就說明samba的服務已經啟動了。
另外,去查看nmbd服務是否也已經啟動:
crifan@crifan-ubuntu10:~$ ps -aux | grep nmbd
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
crifan 6880 0.0 0.0 5628 764 pts/0 S+ 20:56 0:00 grep --color=auto nmbd
其中smbd和nmbd的解釋是:
http://hi.baidu.com/chenyangxin/blog/item/9c388050681bfd738535248e.html
“可以看到Samba服務會同時啟動兩個服務,其中smbd主要用來管理共用出來的目錄,nmbd主要用來解析NetBIOS名。在Windows系統中,主機可以被加入一個組中,這樣每個主機都必須有一個名字,這個名字是用於在網上被標誌的名,並非機器的主機名稱,將其稱為NetBIOS名。其中nmbd進程是隨著smbd進程啟動而啟動。”