////////////////////////////////Samba////////////////////////////////////////////

小常识:
在同一局域网中,两个系统的工作组名称相同,便是处于同一WorkGroup
你可以右键计算机属性,选择高级系统设置,点击计算机名,点击更改。
确认工作组名称相同即可

smb.conf 主配置文件
lmhosts 对应NetBIOS name和主机名称的IP地址,作用类似于/etc/hosts

开放端口时137.138.139端口

CIFS(Comment Internet File System ,可以理解成是网上邻居)

Samba套件的配置文件:
https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html
samba用户密码的几种方式对比:
http://www.cnblogs.com/jary-wang/archive/2013/05/21/3091343.html
samba支持软链接 
https://fengqi.me/unix/152.html
samba中文乱码问题 
http://bbs.chinaunix.net/thread-813206-1-1.html
samba多用户权限划分 
http://blog.csdn.net/w657395940/article/details/20312053

/////////////////////////////////////////////////////////////////////////////////////
目录
一、什么是Samba
二、安装配置Samba
1.安装
2.配置
3.启动服务
4.创建用户名
5.如何使用
6.samba实践

/////////////////////////////////////////////////////////////////////////////////////
Samba的安装、配置以及应用
一、什么是Samba
提供用户登录Samba主机时的身份认证
对Windows网络上的主机名解析(NetBIOS Name-----Network Basic Input/Output System 通信协议)
进行设备的共享(文件/打印机)

二、安装配置Samba
1.安装
yum install -y samba samba-client

2.常见参数:
配置文件 smb.conf

注释符是#
可以使用的语句;
实际都是注释

[global]
workgroup = MYGROUP/WORKGROUP
#用来定义工作组,我们选WORKGROUP
#同一个局域网内,需要有同一个工作组
#因此生产环境中需要弄到同一工作组上
server string = Samba Server Version %v
#这是自定义的
; netbios name = MYSERVER
#主机名称,如果没有设置,默认的NetBIOS会以主机名替代
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
; hosts allow = 127. 192.168.12. 192.168.13.
#用来设置允许的主机,如果在前面加上";",则表示为允许所有主机
log file = /var/log/samba/log.%m
max log size = 50
这是日志切割用的
security = user
# user 这里指定Samba的安全等级,关于安全等级有四种:
# share 用户不需要账户及密码即可登录Samba服务器,创建出来的文件是nobody
# user 由提供服务的Samba服务器负责检查账户及密码(默认是这个)
# server 检查账户及密码的工作由另外一台Windows或者Samba服务器负责
passdb backend = tdbsam
#密码存储的方式,用户的后台
#还有smbpasswd
#以及ldapsam
encrypt password = yes
smb passwd file = /etc/samba/smbpasswd
#加密用的
; dns forwarder = 192.168.0.1
; dns proxy = yes

load printers = yes
cups options = raw
#这两个是打印机用的
; printcap name = /etc/printcap
; printcap name = lpstat

[homes]
comment = Home Directories
这是说明,自定义的
browseable = no
writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S
create mode = 0664
directory mode = 0775

[public]
; comment = Read Only Public
; path = /home/samba
; public = yes
; writable = no
; printable = no
; write list = +staff
valid users = dazuo,@caiwu,@lingdao,network02
#允许访问的用户
#允许访问的group
read list = dazuo,@caiwu
#意味在read list里面的用户(组)只有只读权限,不管有没有read only
read only =yes

%U 当前登陆的用户名

%g 当前登录用户的群组名称

%h 运行Samba的HOSTNAME

%H 代表用户的主目录

%m 代表客户端NetBIOS主机名称

%M 就是HOSTNAME

%L Samba主机的NetBIOS主机名称

%I 代表客户端的IP地址

%T 当前日期时间

%D 当前用户所属组名

%S 取代当前设值的参数值,也就是取代[]里面的内容
the name of the current service, if any.

3.启动服务
service smb start

4.创建用户名
使用smbpasswd:
smbpasswd -a 用户名 #添加一个samba用户
  smbpasswd -d 用户名 #禁用一个samba用户
  smbpasswd -e 用户名 #恢复一个samba用户
  smbpasswd -x 用户名 #删除一个samba用户
#要创建的Samba用户必须是系统用户

早期使用的是这个,现在普及用tdbsam

使用tdbsam:
建立一个用户数据库passdb.tdb
pdbedit -i smbpasswd:/etc/samba/smbpasswd
pdbedit -a username :新建Samba账户
pdbedit -x username :删除Samba账户
pdbedit -L :列出Samba用户列表,读取passdb.tdb数据库文件
pdbedit -Lv :列出Samba用户列表详细信息
pdbedit -c "[D]" -u username :暂停该Samba用户账号
pdbedit -c "[]" -u username :回复Samba用户账号

使用ldapsam :
基于LDAP账户管理方式验证用户,首先要建立LDAP服务,设置"passdb backend = ldapsam:ldap://LDAP Server"
高级一点用这个

5.如何使用
Linux访问Samba共享文件:
a.安装客户端软件 :yum install -y samba-client
b.使用命令smbclient访问:
格式:smbclient //IP/共享名 -U 用户名
如果省略掉-U,则是匿名访问(nobody)
c.把共享文件挂在到本机:
挂载Samba目录:mount -t cifs //192.168.0.22/myshare /mnt/ -o username=user,password=yourpasswd
umount /mnt 取消挂载
可能会bad option 需要安装cifs的包
Windows访问Samba共享文件:
a.在开始--运行处输入:
\\ip\yourpath
b.浏览器输入
file://192.168.0.22/myshare

6.samba实践(均为Peer/peer模型,域模型这里不做介绍)
(1)共享一个目录,使用用户名和密码登陆后才可以访问,要求可以读写

配置如下:
[global] 部分内容如下
workgroup = WORKGROUP
server string = Samba Server Version %u
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw

还需要加入:
[myshare]
comment = share for users
path = /samba
browseable = yes
writable = yes
public = no

创建目录 : mkdir /samba
修改权限 : chmod 777 /samba

创建系统账号:
useradd user1
useradd user2

添加user1/user2为samba账户:
pdbedit -a user1
pdbedit -a user2

重启服务 server smb restart

测试:
浏览器输入 file://192.168.0.22/myshare
或者
smbclient -Uuser1 //192.168.0.22/myshare

(2)samba同时使用匿名和用户登录

配置如下:
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
map to guest = bad user
guest account = nobody
encrypt password = yes
smb passwd file = /etc/samba/smbpasswd

[public]
comment = public
path = /data/pub/public
browseable = yes
guest ok = yes
writable = yes
printable = no
create mask = 0644
directory mask =0755

[project]
comment = project
path = /data/pub/project
browseable = yes
public = no
guest ok = no
writable = yes
force user = root
printable = no
create mask = 0644
directory mask = 0755

注意,需要我们手动创建/data/pub/public 和 /data/pub/project目录,为了顺利完成试验,需要提前修改权限777

(3)samba多用户权限划分
见最上面的链接

Samba的安装配置使用的更多相关文章

  1. Ubuntu 环境 samba的安装&配置

    一.samba的安装: sudo apt-get install samba sudo apt-get install smbfs sudo apt-get install cifs-utils (新 ...

  2. VM中 Ubuntu14.04 中Samba的安装配置和使用

    以前都是在Redhat 上搭建samba,现在改成在ubuntu12.04 上搭建发现 sudo /etc/init.d/samba restart  始终不行,原来,现在ubuntu下,启动服务要用 ...

  3. ubuntu samba共享安装 配置

    参考: http://www.360doc.com/content/11/0615/12/3989678_127081905.shtml 参考: http://xfshean.blog.163.com ...

  4. 虚拟机下samba简单安装配置

    系统是Win7 虚拟机是CenterOS6.5 1.关闭防火墙以及关闭SELINUX的强制模式(重要): service iptables stop//关闭防火墙 setenforce 0 //关闭S ...

  5. Ubuntu中Samba的安装配置和使用[图文]

    Samba服务在Ubuntu服务器版本中默认并没有安装. 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba#sudo apt-g ...

  6. Ubuntu中Samba的安装配置和使用

    Samba服务在Ubuntu服务器版本中默认并没有安装. 1. Samba软件包的安装 使用源安装,在终端中输入如下命令: #sudo apt-get install samba#sudo apt-g ...

  7. CentOS 7.2 安装配置Samba服务器

    1背景 转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insigh ...

  8. Samba的安装与配置

    Samba的安装与配置: 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend stop #chkconfig libvirtd off # ...

  9. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

随机推荐

  1. SharePoint服务器端对象模型 完结

    整个系列已完结,大概看了一眼,平均阅读量不到200.估计也没什么人看了,而且服务器端对象模型除了在某些企业开发中会用到,从2013时代开始其实已经不是SharePoint开发的最佳选择了.不过既然已经 ...

  2. Windows服务的调试

    1.服务为其他程序调用的情况:首先停止服务,在项目中设置断点,重新启动服务,点击项目中工具,附加到进程,运行调用服务的程序,即可进入之前设置的断点,进而进行调试. 2.服务内方法为自动执行的情况:首先 ...

  3. 【转】Spring AOP 实现原理与 CGLIB 应用

    AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理.安全检查.缓存.对象池管理等.AOP 实现的关键就在于 ...

  4. c++智能指针,new之后不需要delete,简单的垃圾回收

    http://www.cnblogs.com/TenosDoIt/p/3456704.html 智能指针的初始化: 错误: std::shared_ptr<Serializer> seri ...

  5. python2 一些错误处理

    python2各种问题 pip安装django出错:python2 -m pip install django 编码问题:Unicode Decode Error ascii codec can't ...

  6. WSGI基础知识(转)

    add by zhj: WSGI全称Web Server Gateway Interface,即Web网关接口.其实它并不是OSI七层协议中的协议,它就是一个接口(即函数)而已,而WSGI规定了该接口 ...

  7. OpenStack Network --- introduction部分 阅读笔记

    Basic Networking 1.混杂模式(promiscuous mode):当网卡被配置为混杂模式时,它们会将所有的frame传递给操作系统,即使MAC地址不匹配. 2.交换机(switch) ...

  8. Andrew Ng机器学习编程作业:Support Vector Machines

    作业: machine-learning-ex6 1. 支持向量机(Support Vector Machines) 在这节,我们将使用支持向量机来处理二维数据.通过实验将会帮助我们获得一个直观感受S ...

  9. 七牛云 如何配置域名的 CNAME

    CNAME 简介 CNAME 即指别名记录,也被称为规范名字.这种记录允你将多个名字映射到同一台计算机. 当需要将域名指向另一个域名,再由另一个域名提供 ip地址,就需要添加 CNAME 记录. 为什 ...

  10. 在Linux下查找文件内容包含某个特定字符串的文件

    如何在Linux下查找文件内容包含某个特定字符串的文件? 我的目录下面有test1和test2两个文件夹,里面都含有很多文件,其中test2里面还包含一个test文件夹 我想请问的是,如何通过查找关键 ...