一、简介

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux和windows系统间的文件共享。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"可跨路由的使用samba所提供的功能。

samba的两个服务及端口

1.nmbd 主要利用udp 137和138端口负责名称解析的服务。

2.smbd 这个 进程 的主要功能就是用来管理 SAMBA 主机分享的目录、文件和打印机等等。 主要利用 TCP 协定来传输资料,使用端口为 139 及 445。

Samba的套件

1.samba:这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文件档 ( document )、以及其它与 SAMBA 相关的logrotate 设定文件及开机预设选项档案等;

2.samba-common:这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的测试程序 ( testparm )等等;

3.samba-client:这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等。

一、安装配置

1.yum安装

# yum install samba

2.关闭selinux和iptables,或者添加规则

关闭:systemctl stop iptables

setenforce 0

或者将/etc/selinux/config下SELINUX=enforcing改为SELINUX=disabled

3.修改配置文件并添加系统用户并将用户添加到samba用户数据库中
 

      pam password change = no

           passwd chat =**NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *successfully*

      passwd program = LANG=en_US/usr/bin/passwd %u

      unix password sync = yes

      passdb backend = smbpasswd

           smb passwd file = /etc/samba/smbpasswd

           若/etc/samba/下没有smbpasswd,会自动创建。

配置文件相关参数(不同系统稍有差别):红色字体为解释

[global]

 

#全局参数。

 

workgroup = MYGROUP

#工作组名称。

 

server string = Samba Server Version %v

#服务器介绍信息,参数%v为显示SMB版本号。

 

log file = /var/log/samba/log.%m

#定义日志文件存放位置与名称,参数%m为来访的主机名。

 

max log size = 50

#定义日志文件最大容量为50Kb。

 

security = user

#安全验证的方式,总共有4种。

 

#share:来访主机无需验证口令,更加方便,但安全性很差。

 

#user:需由SMB服务验证来访主机提供的口令后才可建立访问,更加的安全。

 

#server:使用独立的远程主机验证来访主机提供的口令(集中管理帐号)。

 

#domain:使用PDC来完成验证

 

pam password change = no

 

passwd chat = **NEW*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *successfully*

 

passwd program = LANG=en_US/usr/bin/passwd %u

 

unix password sync = yes

 

passdb backend = smbpasswd

#定义用户后台的类型,共有3种。

 

#smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码。

 

#tdbsam:创建数据库文件并使用pdbedit建立SMB独立的用户。

 

#ldapsam:基于LDAP服务进行帐户验证。

 

smb passwd file = /etc/samba/smbpasswd    #共享目录路径

 

load printers = yes

#设置是否当Samba服务启动时共享打印机设备。

 

cups options = raw

#打印机的选项

[homes]

 

#共享参数

 

comment = Home Directories

#描述信息

 

browseable = no

#指定共享是否在"网上邻居"中可见。

 

writable = yes

#定义是否可写入操作,与"read only"相反。

[printers]

 

#打印机共享参数

 

comment = All Printers

 
 

path = /var/spool/samba

#共享文件的实际路径(重要)。

 

browseable = no

 
 

guest ok = no

#是否所有人可见,等同于"public"参数。

 

writable = no

 
 

printable = yes

 

[database]

   
   comment = Do not arbitrarily modify the database file 
   path = /database  
   public = no  
 

writable = yes

 
 

在根目录下创建database目录

保存smb.conf文件后重启启动SMB服务:

#systemctl restart smb

    

    #useradd smbuser

    #smbpasswd –a smbuser 添加用户并设置密码  

    

smbpasswd(选项)(参数)

选项

-a:向smbpasswd文件中添加用户;

-c:指定samba的配置文件;

-x:从smbpasswd文件中删除用户;

-d:在smbpasswd文件中禁用指定的用户;

-e:在smbpasswd文件中激活指定的用户;

-n:将指定的用户的密码置空。

4.在Windows下验证:

      

      登录进来可以看到刚刚所创建的database目录和用户的家目录。

      

      在smbuser下新建一个文件

      

      然后可以在服务器上用户家目录可以看到刚刚所创建的文件

      

6.在linux系统上验证共享结果:

      1)在另一台linux系统上安装客户端cifs-utils软件包

      #yum install –y cifs-utils

      2)创建挂载目录,并且挂载

      # mkdir /database       

      # vim /etc/fstab

      //192.168.1.1222/database   /database   cifs  username=smbuser,password=XXX,sec=ntlmssp,rw  0   0

      # mount –a

 然后查看挂载目录

  

      3)在服务器的/database目录下创建目录或者文件并在客户端上查看是否成功

      服务器上创建111文件:

      

      若提示权限不足,把/database目录权限修改为如下即可:

      

      注意所属主与所属组

      在客户端查看:

      

      至此实现了Linux系统之间分享数据。

Linux系统安装Samba共享服务器详解及安装配置的更多相关文章

  1. 【转】在VMware中为Linux系统安装VM-Tools的详解教程

    在VMware中为Linux系统安装VM-Tools的详解教程 如果大家打算在VMware虚拟机中安装Linux的话,那么在完成Linux的安装后,如果没有安装Vm-Tools的话,一部分功能将得不到 ...

  2. Linux下Samba详解及安装配置

    1.简介 2.安装配置 3.在windows和linux系统上验证 一.简介 早期网络想要在不同主机之间共享文件大多要用FTP协议来传输,但FTP协议仅能做到传输文件却不能直接修改对方主机的资料数据, ...

  3. 详解CentOS7安装配置vsftp搭建FTP

    安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用.想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这 ...

  4. 在VMware中为Linux系统安装VM-Tools的详解教程

    在安装Linux的虚拟机中,单击“虚拟机”菜单下的“安装Vmware-Tools”. 先介绍一下下面安装该工具时要用到的几个目录: /mnt 挂载目录,用来临时挂载别的文件系统,硬件设备 /tmp临时 ...

  5. Git客户端图文详解如何安装配置GitHub操作流程攻略

    收藏自 http://www.ihref.com/read-16377.html Git介绍 分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : ...

  6. 【转】linux中inittab文件详解

    原文网址:http://www.2cto.com/os/201108/98426.html linux中inittab文件详解 init的进程号是1(ps -aux | less),从这一点就能看出, ...

  7. (转)linux mount (挂载命令)详解

    linux mount (挂载命令)详解 原文:http://tutu.spaces.eepw.com.cn/articles/article/item/70737 挂接命令(mount) 首先,介绍 ...

  8. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  9. Linux开机启动程序详解

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

随机推荐

  1. 【错误】上传新的项目出错 error: failed to push some refs to 'https://github.com/...

    问题描述:在git bash中键入 $ git push origin master 进行提交的时候出现 如下错误: error: failed to push some refs to 'https ...

  2. TypeScript学习——数组、元组、接口(2)

    数组 数组类型注解 const numberArr: (number | string)[] = [1, '2', 3]; //既可以是number 也可以是string const stringAr ...

  3. 每天一个LINUX命令(pwd)

    每天一个LINUX命令(pwd) 基本信息 pwd: /bin/pwd,显示当前路径的绝对路径         语法:pwd 应用程序位置     which pwd PWD作用 pwd --help ...

  4. 在 Visual Studio 市场中发布项目扩展

    比较不错的开源项目中,尤其是类似于AbpNext这种级别的项目,我们都想要快速的尝试,如何提供快速给开发者提供模板是我们的一大难题.不过在VisualStudio中并没有这么难. 一.本地发布插件 就 ...

  5. JavaScript之DOM的增删改查

    JavaScript的组成: 1. ECMAScript-语法规范 2. Web APIs(浏览器提供的工具) (1).BOM (浏览器对象模型) (2).DOM (文档对象模型) 今天就来讲讲DOM ...

  6. HBase2.0 meta信息丢失的修复方法

    在HBase入库日志中发现有一个表入库失败,检查HBase服务端后发现该表的meta信息丢失了: 而HDFS上的region还在: 而HBCK工具不支持HBase2.0版本,只好自己写一个修复工具.网 ...

  7. 总结《深入理解JVM》 G1 篇

    注:一下内容主要结合<深入理解JVM>3th总结而来. 接上一篇,我们来说说G1,G1作为现在的主要的JVM GC,被作为各大互联网主要使用的垃圾回收器,了解G1回回收原理和回收过程,才能 ...

  8. centOS7:创建的新用户如何获得写权限

    要在root用户下使用 1.新建用户 adduser testuser //新建testuser 用户 passwd testuser //给testuser 用户设置密码 2.赋予root权限 方法 ...

  9. 理解ASCII,Unicode和UTF-8关系

    前言:之前一直就好奇这个问题,但是一直没解决,今天我总算明白了,感谢大佬们的科普 转自:https://blog.csdn.net/Deft_MKJing/article/details/794604 ...

  10. day03总结

    一. 基本数据类型# 1.整型int# 作用:记录年龄.等级.号码等状态# 定义与使用# age = 999# level = 10# qq = 383838338 # res=age * 1# pr ...