【轉載】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
#chown -R user1:user1 /home/user1 //給user1的home目錄設定好許可權
步驟3:給samba伺服器新增使用者
說明:登陸samba的使用者必須已經是linux中的使用者
#smbpasswd -a user1 //新增並給user1設定samba密碼
步驟4:smb.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 //允許user1在x4目錄中進行讀和寫操作,反之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伺服器開機啟動