Samba是一种软件,它可以运行在非Windows平台上,比如UNIX, Linux, IBM System 390, OpenVMS或其他操作系统。Samba使用安装在主机上的TCP/IP协议。当正确配置完成后,Samba可以使主机与Windows客户端或服务器交互,这台主机就好像变成了Windows的文件和打印服务器。

配置好samba之后就可以在windows下编写代码,提交代码,然后在linux环境下编译代码。

安装步骤如下:

1.安装samba

yum install samba

(ubuntu下面可以用apt-get install 来安装)

安装完成之后可以用

rpm -qa|grep samba 命令来验证是否安装成功。

2.配置samba

修改samba的配置文件。在修改配置文件之前,记得要把配置文件备份一份,养成良好习惯。

使用cp(复制命令)进行备份

cp /etc/samba/smb.conf /etc/samba/smb.conf_backup

然后编辑这个配置文件

vim /etc/samba/smb.conf

在配置文件的最后加上

[workspace]

path=/workspace

browseable=yes

writeable=yes

guest ok=yes

[workspace]包含的名称是windows中显示的文件目录

保存

使用testparm测试一下配置文件的语法

3.重启samba

service smb restart

4.建立一个共享目录

mkdir /workspace

5.访问

这个时候可能访问不到,可能是防火墙的原因,

Samba用到了下列端口:

1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd

2)Port 138 (UDP) - NetBIOS 数据报服务

3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)

4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)

5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)

6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba

一般只要打开139端口就可以了。

编辑iptables配置文件,

vim /etc/sysconfig/iptables

将139端口加上去,重启iptables,

/etc/init.d/iptables restart

再次访问共享目录,访问是能访问了,不过需要密码

这个时候就要在smb.conf里面做一些更改,

在security = user下面加上

map to guest = Bad User

重启samba。再访问共享目录,可见能显示文件夹了

但是还是不能进入文件夹

因为linux不允许修改此文件夹,这个时候可以用以下命令

chcon -t samba_share_t /workspace

将workspace标记为samba_share_t,就可以打开文件夹了。

但是现在还不能在文件夹中创建文件,这个是因为匿名用户没有相关权限

查询一下nobody在系统中的属性

id nobody

通过chown命令将匿名用户加上去,chown nobody:nobody /workspace

(chown的作用是改变相关目录文件夹的拥有者及群组,chown nobody:nobody /workspace,是将workspace的拥有者变成nobody匿名用户)

或者

chmod 777 /workspace

chmod命令,全称是change file mode bits,使用ls –l可以查看所有文件的属性情况

drwxr-xr-x 中 第一个表示类型,d表示目录directory,第二到第四rwx表示拥有者有读写运行权限,第五到第七r-x表示拥有者所在的组有读和运行权限但没有写入权限,第八到第十r-x表示其他用户有读和运行权限但没有写入权限

至此创建共享目录就完成了。

CentOS 7下安装samba的更多相关文章

  1. CentOS Linux 下安装Samba

    一.Samba简介: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.Linux中搭建环境有几个需要使用的软件包: (1)samba-client:这个 ...

  2. Centos 7 下安装 samba 服务

    yum install samba 配置文件在:/etc/samba/smb.conf [global] #添加下面这句 map to guest = Bad User #这个选项是保证匿名访问! # ...

  3. Centos 5.5下安装samba

    1.安装: Centos 5.5下安装samba,具体步骤如下: [root@bogon ~]# rpm -q samba Package samba is not installed [root@b ...

  4. CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

    在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发 ...

  5. CentOS 6 下安装Python 3

    可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...

  6. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  7. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  8. CentOS 7下安装vertica记录

    CentOS 7下安装vertica记录 1.    安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...

  9. CentOS系统下安装python3+Django

    转载:CentOS系统下安装python3+Django 1.首先用yum安装下vim,因为CentOS 7可能根本没自带完整vim,经常出现输入乱码:yum -y install vim 2.安装开 ...

随机推荐

  1. java-----任意进制间的转换

      public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Sy ...

  2. c c++ #define 定义假函数

    #define   Add(a,b)   ((a)+(b)) #define Max(a,b) ((a)>(b)?(a):(b)) 这就定义了一个假的函数 说白了就是字符串替换 这样在写代码时能 ...

  3. PAT基础6-3

    6-3 简单求和 (10 分) 本题要求实现一个函数,求给定的N个整数的和. 函数接口定义: int Sum ( int List[], int N ); 其中给定整数存放在数组List[]中,正整数 ...

  4. std::lock_guard/std::unique_lock

    C++多线程编程中通常会对共享的数据进行写保护,以防止多线程在对共享数据成员进行读写时造成资源争抢导致程序出现未定义的行为.通常的做法是在修改共享数据成员的时候进行加锁--mutex.在使用锁的时候通 ...

  5. 3_主流部署方式介绍-Django+mod_wsgi+Apache

    安装apache yum install httpd httpd-devel -y 开机自动重启配置 chkconfig httpd on 重新编译安装python 删除编译记录及文件 修改apach ...

  6. JSP(6)—JavaBean及案例

    基础: 一.JavaBean ①用作JavaBean的类必须是具有一个公共的无参数的构造方法 ②JavaBean的属性是以方法定义的形式出现的. ③JavaBean的属性名是根据Setter和gett ...

  7. Java全栈程序员之09:IDEA+GitHub

    GitHub是源码托管站点,其依赖于Git这个源码管理工具来进行代码的托管.所以将我们的代码托管到GitHub之前,我们需要安装Git. 1.Git安装 可以通过输入git命令来确定是否在本机已经安装 ...

  8. js格式化格林威治时间

    格式化时间:Sat Aug 05 00:00:00 CST 2017 function fermitTime(time){ var now = new Date(time); var year = n ...

  9. 编写支持SSR的通用组件指南

    原文来自:https://blog.lichter.io/posts/the-guide-to-write-universal-ssr-ready-vue-compon? utmcampaign=Vu ...

  10. svn文件夹解锁批处理

    清除svn文件的bat脚本整理 从svn上检出的项目,不在myeclipse工具中脱离svn的管辖,怎么办呢,下面有我的方法,也是借鉴别人的,用了特别好使,故推荐给大家. 首先创建一个xxx.bat文 ...