使用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  

相关文章
相关标签/搜索