使用Samba構建工程

在構建工程和調試過程當中,按照傳統方式(Windows下開發,Linux服務器端編譯和運行),須要本地修改代碼後,同步至服務器端進行編譯並運行。這不免會帶來一些麻煩,好比本地修改了卻忘了同步或者同步源碼文件出錯,由此形成調試過程當中一些無用功或者莫名其妙的錯誤。因此最好的方式是,直接在服務器上修改、編譯源碼並運行可執行程序(前提是你足夠牛X)。若是須要在Windows下進行開發(閱讀和修改源碼),而在Linux服務器端編譯和運行,而且不須要同步源碼,那麼使用Samba能夠達到相同的效果。linux

 

本文適用於C/C++,對Java可能須要作適當調整,但搭建Samba服務器過程同樣。ios

 

安裝samba

Samba是一個能讓Linux與Windows互通和共享的軟件,很是實用。組成Samba運行的有兩個服務,一個是SMB,另外一個是NMB。前者必需,後者可選。vim

SMB是Samba 的核心啓動服務,主要負責創建 Linux Samba服務器與Samba客戶機之間的對話, 驗證用戶身份並提供對文件和打印系統的訪問。服務器

NMB服務是負責解析用的,把Linux系統共享的工做組名稱與其IP對應起來,相似DNS。網絡

 

安裝Samba能夠在線源安裝或者軟件包安裝。CentOS在線源安裝命令以下:spa

$sudo yum install samba調試

 

安裝好以後,查看一下samba組件,如在CentOS中查看:rest

$ rpm -qa | grep sambaserver

samba-winbind-3.6.9-164.el6.x86_64ci

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-common-3.6.9-164.el6.x86_64

 

配置samba

打開samba配置文件,以下,並修改。

$ sudo vim /etc/samba/smb.conf

        workgroup = WORKGROUP

        server string = Samba Server Version %v

;       netbios name = MYSERVER

;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 

;       hosts allow = 127. 192.168.12. 192.168.13 //該行註釋表示容許全部

 

# ----------------------- Standalone Server Options ------------------------

…… ……

security = user

 

 

#============================ Share Definitions ==============================

 

[homes]

        comment = Home Directories

        browseable = no

        writable = yes

        valid users = %S //表示容許所示有用戶

        create mode = 0664

        directory mode = 0775

//紅色表示新增配置

[omee-sms]

        comment = some path

        path = /home/omee-sms

        browseable = no

        guest ok = no

        writable = yes

        valid users = %S //表示容許所示有用戶

 

在samba配置中增長用戶和密碼

$ smbpasswd -a omee-sms

根據提示輸入密碼,即完成

 

啓動samba

$sudo /etc/init.d/smb start

$sudo /etc/init.d/nmb start

 

如需重啓samba,命令以下

$sudo /etc/init.d/smb restart

$sudo /etc/init.d/nmb restart

 

遠程訪問

注意訪問路徑不包含home

 

 

創建工程

打開Source Insight,新建工程Project->New Project,出現選擇框以下圖所示。點擊Browse選擇剛纔映射的網絡硬盤(即遠程訪問路徑),點擊肯定便可。

 

 

接着就能夠在工程中添加源碼了。在此再也不累述。

 

編譯並運行

修改源碼後,因源碼存於遠程服務器,因此直接在服務器上編譯並運行便可,無需任何拷貝。

 

注意

另,爲了確保samba能被訪問,還需檢查:

a、確保linux下防火牆關閉或者是開放共享目錄權限

b、確保samba服務器配置文件smb.conf設置沒有問題,可網上查閱資料看配置辦法  

c、確保setlinux關閉,能夠用setenforce 0命令執行。 默認的,SELinux禁止網絡上對Samba服務器上的共享目錄進行寫操做,即便你在smb.conf中容許了這項操做。       /usr/bin/setenforce 修改SELinux的實時運行模式  

setenforce 1 設置SELinux 成爲enforcing模式

setenforce 0 設置SELinux 成爲permissive模式  

若是要完全禁用SELinux 須要在/etc/sysconfig/selinux中設置參數selinux=0 ,或者在/etc/grub.conf中添加這個參數

  /usr/bin/setstatus -v  

相關文章
相關標籤/搜索