以前都是在Redhat 上搭建samba,現在改成在ubuntu12.04 上搭建發現 sudo /etc/init.d/samba restart 始終不行,原來,現在ubuntu下,啟動服務要用 sudo service smbd restart,一律都改成了service 這種形式來啟動。
1、首先安裝 samba
sudo apt-get install samba
2、創建一個文件夾,這個文件夾就是用來共享、傳遞、讀寫文件內容的地方。
mkdir -p /home/cxw/share
chmod 777 /home/cxw/share
這里假設你的共享文件夾是在用戶主目錄下的share目錄。
3、配置samba的配置文件smb.conf, 對配置文件做個backup。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf
下面請注意在以下幾處動刀子。
(1)請搜索查找到
#security = user的地方,然后以下面這幾行取代
security = user(前面有#號去掉)
username map = /etc/samba/smbusers
這是Samba 服務器的安全模式,有5種安全模式:Share、User、Server、Domain和Ads。用來適應不同的企業服務器需求,默認情況下為User。
這是Samba 服務器的安全模式,有5種安全模式:Share、User、Server、Domain和Ads。用來適應不同的企業服務器需求,默認情況下為User。
(2)同樣請搜尋到[global]把
workgroup = MSHOME 改成
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面三行是為了防止出現中文目錄亂碼的情況。
(3)接着請跳到配置文件下的最后一行(命令模式下,按G)將下列幾行新增到文件的最后面,假設允許訪問的用戶為:cxw。而文件夾的共享名為第二步設置的/home/cxw/share:
[Share]
comment = Shared Folder with username and password (注釋信息)
path = /home/cxw/share (我自己用一般設置為path = / 便是整個根目錄)
# public = yes (允許匿名訪問)
writable = yes (可寫)
# readyonly = yes (只讀)
# readyonly = yes (只讀)
valid users = cxw (用戶名,設備可訪問組可用valid users =@組名)
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes (表示可見隱藏)
(4)現在要添加cxw這個網絡訪問帳戶。如果系統中當前沒有這個帳戶,那么注意這邊的用戶添加請使用下述命令:(假設用戶為cxw,密碼為123456)
sudo useradd cxw
要注意,上面只是增加了cxw這個用戶,卻沒有給用戶賦予本機登錄密碼。所以這個用戶將只能從遠程訪問,不能從本機登錄。而且samba的登錄密碼可以和本機登錄密碼不一樣。
現在要新增網絡使用者的帳號:
sudo smbpasswd -a cxw
sudo vim /etc/samba/smbusers
在新建立的文件內加入下面這一行並保存
cxw = "network username"
(5)測試並啟動samba
sudo testparm
注意老的命令用不了啦
肯定會提示sudo: /etc/init.d/samba: command not found
請使用下面的命令:
sudo service smbd restart
sudo service nmbd restart
如何在不同系統之間互訪samba。
1.如果你只是為了拷貝東西,那我說沒有必要去建這么復雜,你完全可以使用ssh。
sudo apt-get install ssh
2.如果你是為了實時更新你的版本庫,那samba可能會讓你失望啦,samba只是一個單純的用來做一個臨時共享文件的倉庫,還達不到版本控制器的功能。
一、在windows下訪問ubuntu搭建的samba。應該是最簡單不過的了。
只需使用win+R調出明令框,然后輸入\\搭有samba的ubuntu機子的IP。
二、下面重點說下在ubuntu和ubuntu下共享文件。
方法1:使用smbclient
建有samba的主機肯定已經安裝過samba來。其他客戶機同樣需要安裝samba。
sudo apt-get install samba smbfs
安裝ok之后,那就正式開始使用smbclient吧。
(1),列出某個IP地址所提供的共享文件夾
smbclient -L 198.168.0.1 -U username%password
(2),像FTP客戶端一樣使用smbclient
smbclient //192.168.0.1/tmp -U username%password
執行smbclient命令成功后,進入smbclient環境,出現提示符:
smb:\>
這里有許多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通過這些命令,我們可以訪問遠程主機的共享資源。
方法2:使用mount進行掛載
除了使用smbclient,還可以通過mount和smbcount掛載遠程共享文件夾
這邊就需要用到你的fstype來,所以就應征來當初apt-get install smbfs是必須的。
mount -t smbfs -o username=administrator,password=123456 //192.168.0.1/tmp /mnt/tmp
smbmount //192.168.0.1/tmp /mnt/tmp -o username=administrator