天天看點

samba,終于把你搞定了!

    裝的虛拟Linux機,搭建了ARM-LINUX交叉編譯平台,作為開發平台很不錯。但是我裝的這個ubuntu7.10版本的Linux不知道是不是虛拟機的原因還是版本原因,可以自動挂載CD光牒,但是沒有自動挂載U盤,而且可能是裝VMware的時候沒有選好,明明是IDE的硬碟在需拟機下是sda1了。我也沒試去挂載U盤。但是一些程式檔案什麼的還是在Windows下面處理友善一點,經常需要将檔案也是需要從Windonws弄到Linux裡去,目前來說途徑隻有兩種:通過CD光牒和U盤。為了傳個檔案來刻CD光牒顯然不可能,而U盤也不夠友善。最好的辦法是通過網絡連接配接Windows和Linux了。于是來配置samba通過網路上的芳鄰來進行資料傳輸。

    還是感覺Linux下的軟體配置比較麻煩,這不,配置/etc/samba/smb.conf檔案對于我這個新手來說也是個不小的挑戰。網絡真是個好東西,什麼東西都可以找到。想輸入關鍵字“samba 配置”還隻輸入前面幾個字母GOOGLE下面就出現了很多搜尋提示,談這方面的文章很多。我一邊看《Linux作業系統》書上介紹samba的這章,一邊按照網上的文章的方法去修改配置檔案。說實話《Linux作業系統》真是非常垃圾,很多錯誤,有很多簡直是在誤導我這個新手,就比如說複制指令CP,在這書上講成了COPY,好像COPY是DOS下的複制指令吧,拿來做Linux指令了,真是暈倒。

    網上的有的文章介紹的比較好,雖然很多文章都是抄的一模一樣的。按照一篇文章的介紹修改好以後,儲存。文章上說重新開機samba,奇怪,我的系統居然沒有/etc/rc.d/init.c/smb restart這個目錄(指令)!沒辦法,先試下行不行再說,在位址裡輸入虛拟機的IP,等了老久,嘣的一聲,說找不到這個地方。有點惱火了。我看了很多文章都是說這個指令,那麼是不是我的系統的samba有問題啊,我想。不管了,重新下一個裝行再說。apt-get install samba。下載下傳的比較慢,洗個澡先。

    澡洗完了,還沒下完,10M不到的檔案。又過了會,終于下完了,好。

    這會先輸入testparm,檢查有沒有配置錯誤,嘿,出現了書上的該出現的東西。再運作/etc/rc.d/init.c/smb restart,哈,samba居然重起了,難道真是原來的samba有問題?

    再在位址欄輸入虛拟機IP,很快彈出登陸視窗,輸入使用者名和密碼,Good!成功!出現了Linux下設定為共享的那個目錄。複制粘貼一個程式到此目錄,到Linux下能夠看到這個粘貼進來的檔案,這個檔案是一個VIVI啟動代碼。嗯,試試make一下。不行,出錯,什麼拒絕。可能是目前這個登陸使用者權限不夠吧我想,因為make時需要讀寫檔案,我ls -l一看,好家夥,目前使用者讀、寫、運作權限都沒有。怎麼辦呢,改到root使用者嗎,太麻煩了,ubuntu不能用su登陸root,需要root權限是就加sudo,有點麻煩哦。不然就得reboot進入指令行模式。其實我現在都更加喜歡指令行的模式了。得了,改權限吧,chmod -R 777 XXX,全部改成所有使用者群組都可以讀、寫、運作,省得麻煩。

    再make,結果是什麼呢?當然是OK拉!

    其實其中的曲折還是很多的,簡要的說如上。一是沒時間打那麼多字,而是确實很晚了要睡覺了。

    以下是寫的簡單明了的一篇介紹配置samba的文章,摘抄到這。

首先當然是要安裝

samba

了,呵呵:

代碼:
sudo apt-get install samba sudo apt-get install smbfs

下面我們來共享群組可讀寫檔案夾,假設你要共享的檔案夾為: /home/ray/share

首先建立這個檔案夾

代碼:

mkdir /home/ray/share

chmod 777 /home/ray/share

備份并編輯smb.conf允許網絡使用者通路

代碼:
sudo cp /etc/ samba /smb.conf /etc/ samba

/smb.conf_backup

sudo gedit /etc/

samba /smb.conf

搜尋這一行文字

代碼:
; security = user

用下面這幾行取代

代碼:

security = user

username map = /etc/

samba /smbusers

将下列幾行新增到檔案的最後面,假設允許通路的使用者為:newsfan。而檔案夾的共享名為 Share

代碼:

[Share]

comment = Shared Folder with username and password

path = /home/ray/share

public = yes

writable = yes

valid users = newsfan

create mask = 0700

directory mask = 0700

force user = nobody

force group = nogroup

available = yes

browseable = yes

然後順便把這裡改一下,找到[global]把 workgroup = MSHOME 改成

代碼:

workgroup = WORKGROUP

display charset = UTF-8

unix charset = UTF-8

dos charset = cp936

後面的三行是為了防止出現中文目錄亂碼的情況。其中根據你的local,UTF-8 有可能需要改成 cp936。自己看着辦吧。

現在要添加newsfan這個網絡通路帳戶。如果系統中目前沒有這個帳戶,那麼

代碼:
sudo useradd newsfan

要注意,上面隻是增加了newsfan這個使用者,卻沒有給使用者賦予本機登入密碼。是以這個使用者将隻能從遠端通路,不能從本機登入。而且

samba

的登入密碼可以和本機登入密碼不一樣。

現在要新增網絡使用者的帳号:

代碼:

sudo smbpasswd -a newsfan

sudo gedit /etc/

samba /smbusers

在建立立的檔案内加入下面這一行并儲存

代碼:
newsfan = "network username"

如果将來需要更改newsfan的網絡通路密碼,也用這個指令更改

代碼:
sudo smbpasswd -a newsfan

删除網絡使用者的帳号的指令把上面的 -a 改成 -x

代碼:

sudo testparm

sudo /etc/init.d/

samba restart

最後退出重新登入或者重新啟動一下機器。(連結:http://forum.ubuntu.org.cn/about20852.html&highlight=samba)

繼續閱讀