1.安装软件包
rpm -q samba samba-common samba-client cifs-utils
yum -y install samba samba-common samba-client cifs-utils

smbd 管理Samba主机共享的目录,文件与打印机等。使用TCP 139 445进行可靠的数据传递
nmbd 管理工作组、NetBIOS Name等解析,使用UDP 137 138来负责名称解析的任务
2.修改主配置文件

security
share 不需要密码可以访问
user 需要密码(默认)
smbclient -L 服务器ip
smbclient -U 账户名 //服务器ip/共享名

useradd nick
useradd hunter
smbpasswd -a nick 等于 pdbedit -a nick 设置密码
cd /etc/samba/
[root@test01 samba]# cp smb.conf smb.conf.bak
[root@test01 samba]# vim smb.conf
workgroup = Tarena 工作组
server string = Windows Server 2008 链接时的提示(建议改掉默认)
[tools]
path = /usr/src //指定共享路径
public = no //不对所有人开放
read only = yes //默认的权限为只读
valid users = nick,hunter //指定合法用户
write list = hunter //用户hunter可读可写
3.启动服务
[root@test01 samba]# testparm 检测配置命令
[root@test01 samba]# service smb,nmb restart; chkconfig nmb,smb on
[root@test01 samba]# netstat -tulnp | grep smb
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1489/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1489/smbd
tcp 0 0 :::139 :::* LISTEN 1489/smbd
tcp 0 0 :::445 :::* LISTEN 1489/smbd

4.设置权限
[root@test01 ~]# setfacl -m u:hunter:rwx /usr/src/
[root@test01 ~]# getfacl /usr/src/
5.测试
Windows:
UNC路径 \\192.168.10.10
Linux:
[root@test02 ~]# yum -y install samba-client
[root@test02 ~]# smbclient -L 192.168.10.10
[root@test02 ~]# smbclient -U nick //192.168.10.10/tools
smb: \> !ls
anaconda-ks.cfg anon.txt install.log.syslog local.tgz
anon.tgz install.log lisi.txt
smb: \> put install.log
smb: \> quit
[root@test02 ~]# smbclient -U hunter //192.168.10.10/tools
smb: \> ls
smb: \> put install.log
smb: \> ls
smb: \> quit
[root@test02 ~]# mkdir /mnt/smbdir
[root@test02 ~]# mount -o username=nick,password=redhat //192.168.10.10/tools /mnt/smbdir/ 7不支持-o密码的设置了,只能手动
6.设置开机自动挂载
[root@test02 ~]# grep smbdir /etc/fstab
//192.168.10.10/tools /mnt/smbdir cifs defaults,username=nick,password=redhat 0 0 还可以调用文件credentials=文件 文件权限600
[root@test02 ~]# mount -a
[root@test02 ~]# df -hT

试验二:Samba账户别名与访问地址控制

1.修改Samba用户别名文件
[root@test01 ~]# vim /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
hunter = hijack
2.修改主配置文件
[root@localhost ~]# vim /etc/samba/smb.conf
 username map = /etc/samba/smbusers                                                别名

 [tools]
 path = /usr/src
 public = no
 valid users = nick,hunter                                                                 有效用户
 write list = hunter                                                                           可写用户
 hosts allow = 192.168.10.20                                                            访问控制
3.客户端测试
[root@test02 ~]# smbclient -U hijack //192.168.10.10/tools
Enter hijack's password:
Domain=[TARENA] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> ls

针对RHEL7

设置防火墙等
Firewall-cmd --permanent --add-service=samba; firewall-cmd --reload
semanage fcontext -a -t samba_share_t '/smb1(/.*)?' (chcon -R -t samba_share_t /smb1)               smb1为共享目录
restorecon -RFvv /smb1/

semanage fcontext -l | grep smb1                                                                                               查看内核默认上下文

//ip/smb1 /mnt/smb1 cifs defaults,credentials=/root/smb1.passwd 0 0
Chmod 600 /root/smb1.passwd

//ip/smb2 /mnt/smb2 cifs defaults,credentials=/root/smb2.passwd,multiuser,sec=ntlmssp 0 0
/root/smb2.passwd 写任意一个能访问的 chmod 600 /root/smb2.passwd
基于多用户安全
su - 用户
cifscreds add server0(服务器) 分层管理,,(针对多用户,有的可读,有的可写)

例子
多用户挂载
读写 setfacl -m u:ldapuser5:rwx /smb2
Vim /etc/samba/smb.conf
[smb2]
Path = /smb2
Valid users = user1, user2, @hr
Write list = user2
Systemctl enable nmb smb;systemctl restart nmb smb
semanage fcontext -a -t samba_share_t '/smb2(/.*)?' (chcon -R -t samba_share_t /smb1)
restorecon -RFvv /smb2/
客户端
Vim /etc/fstab

//ip/smb2 /mnt/smb2 cifs defaults,credentials=/root/smb2.passwd,multiuser,sec=ntlmssp 0 0
/root/smb2.passwd 写任意一个能访问的 chmod 600 /root/smb2.passwd

cifscreds add server0

samba安装与配置的更多相关文章

  1. centos7 samba安装与配置

    1.关闭防火墙. CentOS 7 是自带的firewall,CentOS 6 好像是iptables.关闭防火墙命令如下: 第一种方法是关闭防火墙: systemctl disable firewa ...

  2. Samba安装及配置

    samba 可以实现Windows对Windows . Windows对Linux.Linux对Linux的文件传输 在centos7安装samba yum install samba 启动samba ...

  3. Ubuntu samba 安装与配置 实现windows和虚拟机中的Ubuntu共享文件

    2.    安装sumba服务 sudo apt-get install samba samba-common 这里出现了小问题, Ubuntu上安装samba不能安装的问题,“下列的软件包有不能满足 ...

  4. samba安装和配置

    windows和windows系统之间要实现文件共享是通过网络邻居实现linux和windows之间通过什么来实现文件共享呢?一.通过文件挂载(首先要制作ISO镜像文件,然后在用挂载命令)二.通过sa ...

  5. Ubantu 16.4 samba安装配置

    本文总结了Ubantu 16.04 环境下的samba安装.配置及使用.本文为原创,也是我的第一篇博客,以后会经常写博客,记录自己的学习.总结及研究,让博客见证着我成长的轨迹. 下文中的所有命令均使用 ...

  6. CentOS 7下Samba服务安装与配置详解

    1. Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共 ...

  7. 【samba】samba 用户权限配置(转)

    首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.a ...

  8. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  9. CentOS 6.3下Samba服务器的安装与配置

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

随机推荐

  1. Mvc 6 中创建 Web Api

    如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管 微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我 ...

  2. PHP调用Webservice实例

    原文 PHP调用Webservice实例 NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService.它是一个开源软件,是完全采用PHP语言编写的.通过HTTP收发S ...

  3. c语言mysql api

    原文:c语言mysql api 1.mysql_affected_rows()            //返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. 2.mysql_ ...

  4. WimMaker 2.0 (2013.10) WIM制作工具

    WimMaker 2.0 (2013.10) WIM制作工具 可用于制作PE启动内核的Wim文件 说明: 因本软件使用.NET2.0制作,故主要用于制作WIM映像不用于备份还原系统(虽可用,但不专业, ...

  5. hdu2899 Strange fuction

    在区间(0,100).在恒大二阶导数0.f(x)有极小值.用的最低要求的一阶导数值点: #include<math.h> #include<stdio.h> #include& ...

  6. 使用Python改写的身份证信息查询小程序

    花了几天时间过了一遍python基础.真心感觉python让世界充满了爱…先简单的使用一下python好了,拿以前写的<C语言身份证信息查询系统(修改版)>开刀~ 很多东西,不需要考虑C语 ...

  7. 一个用MFC实现Com聚合样本

    ComATLATLMFCMFC MFCIUnknownMFCCCmdTargetComMFCCom MFCCOM 1. 1.1 #pragma once typedef long HRESULT; / ...

  8. String的使用

    String的常用方法 方法 说明 Anchor() 创建html锚 Concat() 把字符串连接起来 indexOf() 查找字符出现的位置 lastIndexOf() 查找最后出现字符 char ...

  9. Javascript多线程引擎(六)

    Javascript多线程引擎(六) 经过三个月的时间, Javascript 引擎已经完成beta版本(还不支持多线程特性, 预计下个星期就可以支持了, 现阶段还在进行测试基本JS单元功能), 并且 ...

  10. 动态代理 原理简析(java. 动态编译,动态代理)

    动态代理: 1.动态编译 JavaCompiler.CompilationTask 动态编译想理解自己查API文档 2.反射被代理类 主要使用Method.invoke(Object o,Object ...