1. 程式人生 > >Linux中的Samba配置流程

Linux中的Samba配置流程

一、什麼是Samba?

Samba是一組軟體包,使Linux支援SMB協議,是一套讓Linux系統能夠應用Microsoft網路通訊協議的軟體。它使執行Linux系統的機器能與執行Windows系統的計算機進行檔案與印表機共享.

二、Samba的主要功能是什麼?

1、提供Windows共享Linux等其他作業系統的資源,外表看起來和共享Windows資源沒有區別,並支援Windows客戶使用網路上的芳鄰瀏覽網路。
2、提供SMB客戶功能:利用Samba提供的smbclint程式可以從Linux下以類似於 FTP的方式訪問Windows的資源。
3、備份PC上的資源:利用一個叫smbtar的shell 指令碼,可以使用 tar 格式備份和恢復一臺遠端 Windows上的共享檔案。
4、提供一個命令列工具,在其上可以有限制地支援NT的某些管理功能。

三、Samba的組成是什麼?

一個samba伺服器實際上包含了兩個伺服器程式:
1、Smbd是samba的核心。它負責建立對話程序、驗證使用者身份、提供對檔案系統和印表機的訪問機制。
2、 Nmbd是對外發布samba伺服器可以提供的服務。

四、Samba伺服器的安裝和配置步驟是什麼?(以readhat為例說明)

第一步:檢視自己的Linux系統有沒有安裝Samba相關伺服器:
執行命令: # rpm -qa | grep samba
命令輸出:
samba-common-3.6.9-164.el6.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64


其中,
samba——>這個軟體包包含了主要的daemon檔案(smbd和nmbd);
samba-common——>提供samba的主要配置檔案(smb.conf)、smb.conf語法檢測程式(testparm)等;
samba-client——當linux作為samba 客戶端的時候,提供了一套所需的工具和指令。
如果沒有,說明系統沒有安裝,那就直接下載和安裝它,安裝完了再次執行上述命令檢視,具體安裝過程不細說了,參考材料較多,且多數系統都是預設安裝了Samba服務的。如果系統安裝了Samba伺服器,那就進入配置環節了。

第二步:配置Samba伺服器:
配置其實比較簡單,但是網上許多轉來轉去的文章較多,關鍵是按照步驟執行以後,發現沒有成功,這就比較令人沮喪了。本文不多講配置的原理,只講配置步驟(哈哈,暴力配置法,貴在簡單實用),如果想詳細的瞭解原理,請參閱smb.conf(5) manual page


1、備份配置檔案:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2、在檔案smb.cof末位新增如下程式碼:
[yding]
comment = yding
path = /home/yding
writable = yes

其中的path = /home/yding是你想要共享的使用者目錄,Linux中一定要有哦。
3、新增Samba使用者,注意新增的Samba使用者必須是你Linux系統中已經存在的使用者哦。通過如下的命令授權系統訪問Samba。
smbpasswd -a yding
它會提示你輸入訪問密碼,按照提示設定訪問密碼。
至此,Samba伺服器的配置工作已經完成了。

第三步:配置iptables:
直接執行命令:service iptables stop
暴力配置體現的淋漓盡致啊

第四步:配置selinux:
直接執行命令setenforce 0,並將檔案/etc/selinux/config中的SELINUX=enforcing改為SELINUX=disabled
至此,Samba的配置工作可算是完成啦。

五、在Windows下訪問Linux共享目錄示例:

在Windows位址列輸入你的Linux IP,例如:
輸入\\192.168.1.104回車,就可以看到共享的目錄圖示了。
這裡寫圖片描述

點選進入yding的資料夾,彈出使用者名稱和密碼彈窗,輸入你配置的時候設定的使用者名稱和密碼,就可以看到共享的檔案目錄了啦。
這裡寫圖片描述

按照上述步驟執行應該就沒有問題了,如果還有問題請及時告知,共同學習共同進步。

六、在Linux下訪問Windows的共享目錄示例:

1、windows下建立共享目錄:
這裡寫圖片描述

注意一定要選定共享的使用者物件並設定共享許可權,這個在Linux下掛在該共享目錄時要用到。

2、在Linux下掛在該共享目錄:
mount -t cifs -o username=LSQ,password=liyang520 //192.168.*.*/test /home/yding/test/

usrname和password是windows的使用者名稱和密碼,//192.168../test是windows的IP和共享的資料夾名,/home/yding/test/是我們想把windows下的共享目錄掛在到linux的路徑下。結果如下:

這裡寫圖片描述

實際的windows的共享目錄test下的檔案為:

這裡寫圖片描述

可見,兩者是同步的。在一邊對目錄做任何的新增、修改和刪除工作,在另一邊都同步實現了。基於這種方式,可以極大地提高開發的效率。

七、附錄:常見問題

1、執行命令service smb status時候,輸出smb:unrecognized service

解答:我們用常規方法檢查Linux系統是否安裝了Samba服務時,執行命令# rpm -qa | grep samba時候,輸出為:

samba-common-3.6.9-164.el6.x86_64
samba-winbind-3.6.9-164.el6.x86_64
samba-client-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64

缺少了samba-3.6.9-164.el6.x86_64,這是Samba的主程式,沒有安裝當然無法識別服務了。那麼只要到Linux redhat的安裝包裡面找到對應的安裝包,執行命令:

輸出:-r--r--r-- 108 root root 5250316 Oct 23 2013 samba-3.6.9-164.el6.x86_64.rpm
......

最後check一下,執行:# service smb status
輸出:smbd is stopped
啟動它:# service smb start
再次檢查:# service smb status
最終輸出:smbd (pid 6415) is running...

OK,解決了。

2、mount失敗,出現各種錯誤的原因判斷及解決方法

(1)、掛載時,使用者/密碼錯誤

錯誤提示:mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

檢視對應/var/log/message記錄結果:
Oct 12 16:20:01 localhost kernel: Status code returned 0xc000006d NT_STATUS_LOGON_FAILURE
Oct 12 16:20:01 localhost kernel: CIFS VFS: Send error in SessSetup = -13
Oct 12 16:20:01 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -13

(2)、沒有分享目錄

錯誤提示:Retrying with upper case share name
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

檢視對應/var/log/message記錄結果:
Oct 12 16:20:06 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6
Oct 12 16:20:17 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6
Oct 12 16:20:17 localhost kernel: CIFS VFS: cifs_mount failed w/return code = -6

八、參考資料

http://blog.chinaunix.net/uid-23069658-id-3142052.html
http://blog.csdn.net/sycflash/article/details/6646172
http://www.apoyl.com/?p=1432

相關推薦

LinuxSamba配置流程

一、什麼是Samba? Samba是一組軟體包,使Linux支援SMB協議,是一套讓Linux系統能夠應用Microsoft網路通訊協議的軟體。它使執行Linux系統的機器能與執行Windows系統的計算機進行檔案與印表機共享. 二、Samba的

Linuxsamba server的配置

登入 inux style 安裝samba sha sam 用戶 post 配置 1、查看是否安裝samba服務 # rpm –qa |grep samba 2、若沒安裝,則安 # yum install samba 執行4次此命令 3、查看安裝的samba文件 #r

linuxSamba服務器的配置

打印機 不同 輸入密碼 參考 自啟 image ges IV ble Samba簡介     Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是一種在局域網上共享

LINUX samba文件共享服務配置與用戶映射

onf sebool 內存不足 inter unix ddd fda setfacl 其他 samba服務簡介 Samba是在Linux和UNIX系統上實現SMB協議的一個免費軟件,由服務器及客戶端程序構成。SMB(Server Messages Block,信息服務塊)是

linuxSamba配置

linux的samba配置1)編輯配置文件:vi/etc/samba/smb.conf,修改為security= user,在文本末尾添加:[myshare]comment= zns‘s sharepath= /var/smbsharevalidusers = smb1public= nobrowseable

LinuxMySQL配置文件my.cnf參數優化

表空間 高效 內容 服務端 default 最終 效果 程序 變慢 MySQL參數優化這東西不好好研究還是比較難懂的,其實不光是MySQL,大部分程序的參數優化,是很復雜的。MySQL的參數優化也不例外,對於不同的需求,還有硬件的配置,優化不可能又最優選擇,只能慢慢的進行優

linuxftp配置

變量 服務 user_list sel idl body access 定制 use 防火墻開啟 [root@hhj ~]# service iptables start 添加規則20主動端口,21被動端口 [root@hhj ~]# iptables -I INPUT

LinuxSamba與NFS的共享示例

Linux中Samba與NFS的共享示例在這裏面所有的服務器為CentOS 6.9,samba客戶端和NFS客戶端均為CentOS 7.2要完成以下操作需要安裝的軟件包:yum install httpd mariadb-server(CentOS6.9是mysql-server)nfs-utils sam

Linuxnginx配置

ffffff mas 私有 ces install root .cn *** 配置 6.10訪問控制 用於location段allow:設定允許哪臺或那些主機訪問,多個參數間用空格隔開deny:設定禁止哪臺或那些主機訪問,多個參數間用空格隔開實例: //允許這個IP

Linuxngixn配置

本質 正則表達 oca 刷新 user 完全 執行 防盜鏈 mar 6.15 if語法:if (condition) {…}應用場景:server段location段常見的condition變量名(變量值為空串,或者以“0”開始,則為false,其他的均為true)以變量為

linuxmysql配置檔案和jdk環境變數

mysql配置檔案 [client]default-character-set = utf8mb4 [mysql]socket = /var/lib/mysql/mysql.sockdefault-character-set = utf8mb4 [mysqld]skip-name-resolveport

linuxmysql配置文件和jdk環境變量

jdk環境變量 ons utf8mb4 linux utf innodb ron mysql datadir mysql配置文件 [client]default-character-set = utf8mb4 [mysql]socket = /var/lib/mysql/m

GitHub在linux配置SSH

GitHub在linux中的配置SSH 1. git安裝 首先,需要測試linux上是否安裝了git。 $ git 如果未安裝git,可輸入如下命令進行安裝: $ sudo apt-get install git git-core git-gui git-doc git

遠端linux通過samba配置支援Windows訪問共享

遠端linux通過samba配置支援Windows訪問共享 預備 確保samba是否安裝,沒有安裝時,請先安裝: $ which samba /usr/sbin/samba $ sudo apt-get install samba 建立共享目錄 $ sudo mkdir

redis在linux安裝配置

環境:ubuntu 16.04.05 + redis-3.2.9 基本安裝 1.下載redis-3.3.9包,解壓 2.進入redis-3.2.9目錄內,執行terminal,執行sudo make,編譯後執行sudo make install 3.安裝完成後,在terminal

LinuxDNS配置及用命令方式修改網路

什麼是DNS? DNS(Domain Name System)域名系統,可以將域名與IP地址相互對映的一個分散式資料庫,能夠方便去訪問網際網路,而不去記住計算機讀取的IP數串。例如當我們訪問百度時候,直接可以輸入百度網址,而網址www.baidu.com就是域名

Linuxsamba伺服器的搭建

使用的vmware12虛擬機器安裝的centos6.8和物理機上的windows10,實現在windows10 上訪問CentOs上的samba服務。 一、先檢視系統中是否安裝有samba服務相關的軟體包。    檢視到我的linux中沒有安裝samba相關的軟體包

虛擬機器linux網路配置靜態IP

解決痛點:有時候,虛擬機器的網路就不知道怎麼了,在windows上通過putty等其他工具連線不上了,又不會弄,ifconfig一看,全是mac地址,沒有ip,有時候有,但是在windows中ping不通,這讓人很頭疼,為了解決linux虛擬機器中網路的配置,因此記錄以下內容

LinuxJDK配置及tomcat安裝

一、預備知識:壓縮與解壓 tar命令:(打包、解包、壓縮、解壓) 1.把資料夾打包: tar -cvf mydir.tar mydir --把mydir打包成mydir.tar 2.把檔案打包: tar -cvf myfile.tar a.txt b.txt c.tx

Linuxvsftpd配置檔案vsftpd.conf詳解

vsftpd配置檔案採用“#”作為註釋符,以“#”開頭的行和空白行在解析時將被忽略,其餘的行被視為配置命令列,每個配置命令的“=”兩邊不要留有空格。對於每個配置命令,在配置檔案中還列出了相關的配置說明,利用vi編輯器可實現對配置檔案的編輯修改。方法如下: #vi /etc/vsftpd/vsftp