1. 程式人生 > >【轉載】linux下的samba安裝及配置

【轉載】linux下的samba安裝及配置

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

以前配置samba一直是我的噩夢,甚至一度放棄samba,直接使用ssh+winscp來管理檔案,今天找到一篇好文,順利配置成功,感謝原作者。

在Ubuntu中設定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
最後退出重新登入或者重新啟動一下機器。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/joliny/archive/2008/07/13/2646420.aspx

 

另外還有兩篇備用的:

第一篇:

root根使用者進行操作,如果您不是,請在每條命令前加上sudo

步驟1:安裝samba
#apt-get install samba
#apt-get install smbfs

步驟2:新增linux使用者
#useradd user1
     //新增使用者名稱user1
#passwd user1 //
給使用者名稱user1新增密碼
#mkdir /home/user1 //
建立user1

home目錄,如果不用這個使用者名稱來登陸linux,此步驟不是必需
#chown -R user1:user1 /home/user1
   //user1home目錄設定好許可權

步驟3:給samba伺服器新增使用者
說明:登陸samba的使用者必須已經是linux中的使用者
#smbpasswd -a user1 //
新增並給user1設定samba密碼

步驟4smb.conf設定
#cd /etc/samb //
進入設定目錄
#mv smb.conf
 smb.conf.bak //做好備份,直接將系統預設配置檔案改名
#vim smb.conf //
建立和配置smb.conf檔案

[global]
workgroup=x1 //X1
為你區域網中的工作組名
server string=x2 //x2
為你linux主機描述性文字,比如:samba server
security=user //samba
的安全等級,user代表需要輸入使用者名稱和密碼,改成share則不需要輸入使用者名稱和密碼

[x3] //
方框號中的x3這個名字可以隨便取,只是在win的網路上的芳鄰中顯示的共享資料夾名
path=/home/x4 //x4
為你要共享的資料夾名,在共享前還要建立這個資料夾,並設好許可權以便訪問,下面會說明。
valid users=user1 //
這個x4共享目錄只允許user1這個使用者進入
public=no
     //no表示除了user1這個使用者,其它使用者在進入samba伺服器後看不見x4這個目錄,如果為yes,雖然能看見x4這個目錄,但除了user1這個使用者能進入這個目錄,其它人進不了。
writable=yes
   //允許user1x4目錄中進行讀和寫操作,反之no

//
存檔退出
#testparm //
檢查一下語法錯誤,比如拼錯

步驟5:建立共享目錄
#mkdir /home/x4
#chown -R user1:user1 /home/x4 //
因為是root建立的目錄,其它使用者只有讀的許可權,所還得把許可權改一下。當然也可以簡單的用#chmod 777 /home/x4。還有個問題就是共享裡目錄的檔案如果有些能訪問有些不能訪問,那肯定也是許可權的問題,進入/home/x4,直接#chmod 777 *來解決。

步驟6:重啟samba服務
#/etc/init.d/samba restart

設定samba服務要注意以下兩點(即兩個兩次):
1.
新增兩次使用者:一次新增系統使用者#useradd user1;再一次是新增samba使用者#smbpasswd -a user1;
2.
設定兩次許可權:一次是在smb.conf中設定共享資料夾的許可權:再一次是在系統中設定共享資料夾的許可權#chmod 777 資料夾名。

 

按照樓主的做法設定, WINDOWS登陸到samba的時候報錯, 顯示如//10.x.x.x 無法訪問, 你可能沒有許可權使用網路資源.... 這樣的錯誤. 請問這是怎麼回師?

如果設定passdb backend = tdbsam 則可以訪問

 

passdb backend = tdbsam
tdbsam的時候,密碼檔案是放在 /var/lib/samba/passdb.tdb

而沒有這句,當然也就找不到SMB使用者和密碼,即提示沒用許可權了。

 

第二篇:

#rpm -q samba     //檢視SAMBA是否安裝,如未安裝,則執行下列安裝

#rpm -ivh  samba-3.0.25b-0.4E.6.i386.rpm

#vi /etc/services    //檢視以netbios開頭的是否可用,必須要全部可用

 

 

  //linux防火牆要關閉

#ls /etc/samba //無smbpasswd檔案

#smbpasswd -a tom //建立tom使用者

#ls /var/log/samba //smb伺服器的日誌檔案

#vi /etc/samba/smb.conf //編輯smb伺服器的主配置檔案

 

  Workgroup = WORKGROUP //windows工作組名

  server string = samba server //samba伺服器簡要說明

  hosts allow = 192.168.1. 192.168.0. 127. //設定允許訪問的子網,預設都允許,可不設定

  hosts allwo = client1,alarm.com,192.168.16. EXCEPT 192.168.16.4 //舉例說明

  security = user //設定安全級,預設為user。五個級別分別為"share,user,server,domain,ads"

  interfaces = eth0 //多網絡卡SAMBA伺服器設定監聽的網絡卡

  interfaces = 192.168.16.177/24 //舉例說明

  wins support = yes //設定將samba伺服器作為wins伺服器,預設不使用

 

  //wins伺服器由微軟開發,功能是將NetBIOS名稱轉換為對應的ip地址

  username map = /etc/samba/smbusers //去掉前面的;號,用於使用者對映

  然後編輯檔案/etc/samba/smbusers,將需要對映的使用者新增進去,格式為

  單獨的linux使用者 = 要對映的windows使用者列表

  例: test = alarm back //test使用者對應windows下的alarm和back兩個使用者

  encrypt password = yes 或 no //yes表示採用加密方式傳送密碼,no為不採用

  若此項為no,則windows系統必須響應的修改登錄檔項,登錄檔檔案存放在/usr/share/doc/samba-2.2.7a/docs/Registry下

 

  [homes] //設定共享目錄

  comment = Home Directories //簡要說明

  browseable = no //是否允許使用者瀏覽所有人的主目錄

  writable = yes //是否允許使用者寫入自己的主目錄

 

  [share] //設定一個共享目錄

  comment = Samba's share Directory //簡要說明

  read list = test //只讀使用者或組

  write list = @share //可寫使用者或組

  path = /home/share //共享資料夾目錄路徑

 

  //設定共享目錄後需要做以下操作

  1.root登入,使用命令groupadd share 建立share組,並用usermod -g share abc命令將abc使用者新增到share組

  2.mkdir /home/share在/home下建立目錄share

  3.chown :share /home/share設定share目錄所屬組為share組,chmod 777 /home/share 設定share組對該目錄有最大許可權

  :wq //儲存退出

 

 

  #testparm //測試smb.conf檔案是否有語法錯誤

  #su - //切換root使用者

  #service smb start restart stop //啟動 重啟 停止samba伺服器

  #ntsysv //設定samba伺服器開機啟動

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述