////////////////////////////////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. 【JS】JS中对于this的理解

    一.对this的产生原因分析和了解 第一:this指的是函数运行时所在的环境(即调用的对象). 第二:JavaScript 语言之所以有this的设计,跟内存里面的数据结构有关系(内存存储详细理解参考 ...

  2. Openstack创建镜像

    如何创建生产用的Openstack镜像 参考官方文档https://docs.openstack.org/image-guide/centos-image.html 1,创建虚拟机硬盘 qemu-im ...

  3. Java核心技术1

    Java方法参数的使用情况: 一个方法不能修改一个基本数据 对象析构与finalize方法 Java有自动的垃圾回收器,不需要人工回收内存,例如,文件或使用了系统资源的另一个对象的句柄.在这种情况下, ...

  4. 用express创建网站出现"$ DEBUG=microbog ./bin/www"的提示

    第一次用express框架创建网站,指令为:“express -t ejs microblog”,如下图 指令运行完成后,出现如图框中的提示,不知道什么意思,运行:“node app.js”来启动服务 ...

  5. 巨蟒python全栈开发-第6天 is&==

    1.小数据池 2.id 3.decode和encode 小数据池 #小数据池:不要死磕就行#python为了简化,搞出来的一个东西 ID (1)# id()函数可以帮我们查看一个变量的内存地址# a= ...

  6. 第04章—整合Mybatis

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...

  7. Web 资源介绍

    软件体系结构 C/S, client/server 特点: 该结构的软件, 客户端和服务端都需要编写 开发成本较高,维护较为麻烦 好处: 客户端在本地可以分担一部分运算 B/S, browser/se ...

  8. Linux用户空间网络配置工具tips

    1.当调用`ifconfig eth0 down`命令关闭网络设备eth0时,会产生如下影响: 所有配置在该网卡上的IP地址都将失效并且被移除 (在ubuntu 14.04上测试,IP并不会被移除,重 ...

  9. nodejs升级的两种方法

    方法一: 用n升级nodejs # 全局安装n$ npm install -g n# 升级到最新稳定版$ n stable # 升级到最新版$ n latest# 升级到定制版$ n v7.10.0# ...

  10. BCrypt 加密实现

    Bcrypt百度百科: bcrypt,是一个跨平台的文件加密工具.由它加密的文件可在所有支持的操作系统和处理器上进行转移.它的口令必须是8至56个字符,并将在内部被转化为448位的密钥. 除了对您的数 ...