1背景

转到Linux有段时间了,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境,

看同事是(Windows)Source Insight + WinSCP + Linux 开发,来回同步文件有点麻烦,所以想尝试搭个Samba服务器做共享文件。

不过希望以后还是要转到vim上来。

2环境

CentOS系统

[root@linuxidc.com ~]# cat /etc/RedHat-release
CentOS Linux release 7.2.1511 (Core) 

Samba服务器

[root@linuxidc.com ~]# rpm -qi samba
Name        : samba
Epoch       : 0
Version     : 4.4.4
Release     : 9.el7
Architecture: x86_64
Install Date: Sun 18 Dec 2016 11:59:56 PM CST
Group       : System Environment/Daemons
Size        : 1869290
License     : GPLv3+ and LGPLv3+
Signature   : RSA/SHA256, Mon 21 Nov 2016 04:38:30 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : samba-4.4.4-9.el7.src.rpm
Build Date  : Mon 07 Nov 2016 06:31:03 PM CST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.samba.org/
Summary     : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and
Unix. 

3安装

[root@base ~]# yum -y install samba samba-client

4配置

进入samba配置目录

[root@base ~]# cd /etc/samba/

备份smb.conf

[root@base samba]# mv smb.conf smb.conf.origin

新建smb.conf

[root@base samba]# vim smb.conf

内容如下,保存并退出

[global]
        workgroup = WORKGROUP
        server string = Ted Samba Server %v
        netbios name = TedSamba
        security = user
        map to guest = Bad User
        passdb backend = tdbsam

[FileShare]
        comment = share some files
        path = /smb/fileshare
        public = yes
        writeable = yes
create mask = 0644
directory mask = 0755 [WebDev] comment = project development directory path = /smb/webdev valid users = ted write list = ted printable = no create mask = 0644 directory mask = 0755

注释:

workgroup 项应与 Windows 主机保持一致,这里是WORKGROUP

security、map to guest项设置为允许匿名用户访问

再下面有两个section,实际为两个目录,section名就是目录名(映射到Windows上可以看见)。

第一个目录名是FileShare,匿名、公开、可写

第二个目录吗是WebDev,限定ted用户访问

默认文件属性644/755(不然的话,Windows上在这个目录下新建的文件会有“可执行”属性)

创建用户

[root@base samba]# groupadd co3
[root@base samba]# useradd ted -g co3 -s /sbin/nologin
[root@base samba]# smbpasswd -a ted
New SMB password:
Retype new SMB password:
Added user ted.
[root@base samba]# 

注意这里smbpasswd将使用系统用户。设置密码为1

创建共享目录

[root@base samba]# mkdir -p /smb/{fileshare,webdev}
[root@base samba]# chown nobody:nobody /smb/fileshare/
[root@base samba]# chown ted:co3 /smb/webdev/

注意设置属性,不然访问不了。

启动Samba服务,设置开机启动

[root@base samba]# systemctl start smb
[root@base samba]# systemctl enable smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@base samba]# 

开放端口

[root@base samba]# firewall-cmd --permanent --add-port=139/tcp
success
[root@base samba]# firewall-cmd --permanent --add-port=445/tcp
success
[root@base samba]# systemctl restart firewalld
[root@base samba]# 

或者直接把防火墙关了也行。

5使用

本机测试

可以使用testparm测试samba配置是否正确

[root@base samba]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[FileShare]"
Processing section "[WebDev]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    netbios name = TEDSAMBA
    server string = Ted Samba Server %v
    map to guest = Bad User
    security = USER
    idmap config * : backend = tdb

[FileShare]
    comment = share some files
    path = /smb/fileshare
    guest ok = Yes
    read only = No

[WebDev]
    comment = project development directory
    path = /smb/webdev
    create mask = 0644

valid users = ted write list = ted [root@base samba]#

root用户的话,不用密码可直接查看samba服务器情况

[root@base samba]# smbclient -L localhost
Enter root's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

    Sharename       Type      Comment
    ---------       ----      -------
    FileShare       Disk      share some files
    WebDev          Disk      project development directory
    IPC$            IPC       IPC Service (Ted Samba Server 4.4.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.4.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
[root@base samba]# 

Linux访问

Samba服务端配置

[root@linuxidc.com webdev]# vim /etc/samba/smb.conf

内容如下

[global]
        workgroup = WORKGROUP
        server string = Samba Server Version %v
        netbios name = MYSERVER
        security = user
        passdb backend = tdbsam

[tvms]
        path = /root/tvms-test
        public = yes
        valid user = root
        writeable = yes
        printable = no
        create mask = 0644
        directory mask = 0755

在局域网内另外一台机器上,

挂载目录

安装cifs

[root@linuxidc.com ~]# yum -y install cifs-utils

挂载smb目录

[root@linuxidc.com ~]# mkdir /mnt/tvms
[root@linuxidc.com ~]# mount //192.168.118.133/tvms /mnt/tvms
Password for root@//192.168.118.133/tvms:  *
[root@linuxidc.com ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        18G  988M   17G   6% /
devtmpfs                devtmpfs  479M     0  479M   0% /dev
tmpfs                   tmpfs     489M     0  489M   0% /dev/shm
tmpfs                   tmpfs     489M  6.7M  483M   2% /run
tmpfs                   tmpfs     489M     0  489M   0% /sys/fs/cgroup
/dev/sda1               xfs       497M  117M  381M  24% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
//192.168.118.133/tvms  cifs       18G  8.5G  9.1G  49% /mnt/tvms
[root@linuxidc.com ~]# ll /mnt/tvms/
total 3952
drwxr-xr-x. 10 root root       0 Dec 21 03:40 suricata-3.1.2
-rw-r--r--.  1 root root 4042824 Dec 21 03:22 suricata-3.1.2.zip
[root@linuxidc.com ~]# 

输入密码:1

卸载目录

[root@linuxidc.com mnt]# umount /mnt/tvms/

如果出现

umount: /mnt/tvms: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

可以使用fuser卸载

[root@linuxidc.com ~]# yum -y install psmisc
[root@linuxidc.com ~]# fuser -m -v -i -k /mnt/tvms
                          USER        PID ACCESS COMMAND
/mnt/tvms:                root     kernel mount /mnt/tvms
                          root       2760 ..c.. bash
Kill process 2760 ? (y/N) y

Connection closed by foreign host.

Disconnected from remote host(192.168.118.132) at 19:46:12.

Type `help' to learn how to use Xshell prompt.
[c:\~]$ 

Connecting to 192.168.118.132:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed Dec 21 03:27:53 2016 from 192.168.118.1
[root@linuxidc.com ~]# umount /mnt
[root@linuxidc.com ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  18307072 1011444  17295628   6% /
devtmpfs                   490236       0    490236   0% /dev
tmpfs                      500680       0    500680   0% /dev/shm
tmpfs                      500680    6836    493844   2% /run
tmpfs                      500680       0    500680   0% /sys/fs/cgroup
/dev/sda1                  508588  118860    389728  24% /boot
tmpfs                      100136       0    100136   0% /run/user/0

自动挂载目录

[root@linuxidc.com ~]# vi /etc/fstab 

添加如下内容

//192.168.118.133/tvms  /mnt/tvms               cifs    defaults,username=root,password=1       0 0

重新挂载

[root@linuxidc.com ~]# mount -a
[root@linuxidc.com ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  18307072 1012316  17294756   6% /
devtmpfs                   490236       0    490236   0% /dev
tmpfs                      500680       0    500680   0% /dev/shm
tmpfs                      500680    6836    493844   2% /run
tmpfs                      500680       0    500680   0% /sys/fs/cgroup
/dev/sda1                  508588  118860    389728  24% /boot
tmpfs                      100136       0    100136   0% /run/user/0
//192.168.118.133/tvms   18307072 8819380   9487692  49% /mnt/tvms
[root@linuxidc.com ~]# 

Windows访问

1)在Windwos资源管理器访问

访问路径里填上: \\${Samba服务器的IP} ,然后回车,可以看见共享的目录。

FileShare是可以匿名访问的,可以访问、新建、删除文件。

这里拖进去一个txt文件,可以在Linux上看见该文件。

2)映射网络驱动器

右边的WebDev目录是需要密码访问的

这里演示一下映射该目录为网络驱动器。

“桌面” 右键单击“此电脑”,选择“映射网络驱动器”

在文件夹位置填写该共享文件的网络路径,这里是\\192.168.118.132\WebDev

勾选“使用其他凭据连接”,点“完成”。

填写用户密码

在我的电脑可以看见该网络驱动器(Y)

这里可以放源码工程,然后用Windows下的IDE打开、编辑,再在Linux编译、运行。

enjoy it~

以后有需求再补充Linux挂载samba共享目录、权限配置等等。

------------------------------------分割线------------------------------------

如何在Ubuntu 14.04中使用Samba共享文件  http://www.linuxidc.com/Linux/2014-07/104894.htm

VMWare 虚拟机 Ubuntu 双网卡 访问 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm

Ubuntu 15.04安装Samba服务 http://www.linuxidc.com/Linux/2016-03/129201.htm

samba安装使用图解  http://www.linuxidc.com/Linux/2017-03/141254.htm

Samba服务器安装和配置  http://www.linuxidc.com/Linux/2014-12/110459.htm

CentOS部署Samba企业文件共享服务 http://www.linuxidc.com/Linux/2016-06/132609.htm

怎样设置Samba文件服务器以使用Windows客户端  http://www.linuxidc.com/Linux/2014-08/105786.htm

CentOS 6.7下 Samba服务器的搭建与配置(share共享模式)  http://www.linuxidc.com/Linux/2016-12/138220.htm

Ubuntu 16.04下Samba相关配置  http://www.linuxidc.com/Linux/2016-12/138498.htm

------------------------------------分割线------------------------------------

Samba 的详细介绍请点这里
Samba 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-03/141390.htm

Centos samba 服务配置的更多相关文章

  1. centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课

    centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...

  2. Centos7 -samba服务配置

    Centos7 -samba服务配置 https://blog.csdn.net/zh515858237/article/details/76914905 http://blog.51cto.com/ ...

  3. samba服务配置(二)

    需求: 某公司销售部门提出一个文件共享需求,要求部门共享目录有三个,第一个共享目录所有销售部门人员都具有可读可写权限: 第二个共享目录所有销售人员只读权限,经理级别的销售人员具有可读可写权限:第三个共 ...

  4. 如何对CentOS FTP服务配置

    根据很多人对CentOS FTP服务的不解,我觉得应该对CentOS FTP服务做出一定的解释. 1.安装 一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装yum -y ...

  5. Centos6.5以下Samba服务配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  6. linux下Samba服务配置

    SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可 ...

  7. Samba服务配置简明笔记

    内部服务器之间拷贝数据,用root账号访问,没有做更复杂的设置. 1.用YUM安装samba服务器端及客户端: [root@tenjs05 init.d]# yum install samba sam ...

  8. 《samba服务配置的文本》

    创建简单的samba服务器 samba  很少用于互联网 /大部分用于局域网  网页更新/ 首先看下你是否安装后了samba. rpm -qa | grep samba samba的简介 1)samb ...

  9. samba服务配置(一)

    samba是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件. samba软件结构: /etc/samba/smb.conf    #samba服务的主要配置文件 /etc/sa ...

随机推荐

  1. css里面如何设置body背景图片满屏

    @{    Layout = null;    ViewBag.Title = "Login Page";} <!DOCTYPE html> <html>& ...

  2. 通过核心概念了解webpack工作机制

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency gr ...

  3. [翻译] 编写高性能 .NET 代码--第二章 GC -- 减少大对象堆的碎片,在某些情况下强制执行完整GC,按需压缩大对象堆,在GC前收到消息通知,使用弱引用缓存对象

    减少大对象堆的碎片 如果不能完全避免大对象堆的分配,则要尽量避免碎片化. 对于LOH不小心就会有无限增长,但LOH使用的空闲列表机制可以减轻增长的影响.利用这个空闲列表,我们可以在两块分配区域中间找到 ...

  4. java3 - 流程控制

    一.Java 有三种主要的循环结构: 需求:分别使用三种循环将 1 到 100 的整数输出到控制台. 1.for 循环 for(初始化语句; 布尔表达式语句; 更新语句) { //循环体内容 } 示列 ...

  5. 深度学习中batch normalization

    目录 1  Batch Normalization笔记 1.1  引包 1.2  构建模型: 1.3  构建训练函数 1.4  结论 Batch Normalization笔记 我们将会用MNIST数 ...

  6. 你不知道的JavaScript之类型

    JavaScript是一门简单易用的语言,应用广泛,同时它的语言机制又十分复杂和微妙,即使经验丰富的开发人员也需要用心学习才能真正掌握. <你不知道的JavaScript>中是这样定义类型 ...

  7. B+索引、Hash索引、数据类型长度

    1.为什么在数据库中要用B树索引而不是Hash索引? Mysql Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这 ...

  8. 阿里云服务器部署笔记一(python3、Flask、uWSGI、Nginx)

    一.重置密码,并重启服务器 二.安全组配置>配置规则>添加安全组规则(为了能在本地ssh到实例) 配置如下: 此配置为允许任意公网IP登陆实例,注意windows与Linux系统端口范围不 ...

  9. css入门二-常用样式

    css入门二-常用样式总结 基本标签样式 背景色background-color 高度height; 宽度width; 边框对齐以及详细设定举例 width/*宽度*/: 80%; height/*高 ...

  10. NLP︱高级词向量表达(二)——FastText(简述、学习笔记)

    FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是有两部分组成的,一部分是这篇文章介绍的 fastText 文本分类(paper: ...