Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB

(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它

为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

samb启动的进程

nmbd  NetBIOS服务
  smbd

监听端口
    早些版本的TCP139 445
          UDP 137和138

我这里用的samba4没有找到UDP端口,只开放了139和445端口

如果系统自带可以先卸载,rpm -e smba-common samba-client  --nodeps

yum install samba samba-client samba-swat samba-common

有依赖关系的包samba-winbind-clients、libsmbclient将自动安装上去。

服务脚本
 /etc/rc.d/init.d/smb

配置文件
 /etc/samba/
    smb.conf
    [globle]  全局定义
    
    [shared name]                共享名称    
    comment =                     //注释内容
    path =                                  //定义指定共享的目录
    browseable =    Yes/No                //目录是否可浏览
    public =    Yes/No             //是否允许所有人访问            
    read only = Yes/No            //是否只读
    writable =  Yes/No            //是否可写
    write list = user1, user2              //定义可写用户列表
             @group1, +group2          //用@或者+加组名定义某些组可写
    valid user =                          //白名单,定义共享哪些用户访问
    invalid user =                        //黑名单

testparm    专门测试/etc/samba/samba.conf是否有语法错误

smaba的用户都是系统用户,但密码不是系统密码
smbpasswd
    -a          添加系统用户为samba用户,密码最好不要和系统用户密码一样
    -d        启用samba账户
    -e          禁用samba账户
    -x          删除samba账户

windows访问linux/unix使用UNC路径  格式 \\ip\sharednmae   可以在浏览器直接输入,也可以映射到本地

linx访问windows使用命令smbclient,使用的也是系统用户,密码为系统用户密码
 smbclient
    -L  指定IP
    -U  指定用户
 
    smbclient -L 192.168.136.135
    smbclient UNC 路径 -U                //UNC路径不是反斜杠
    smbclient  //192.168.136.131/test

挂载windows目录到本地
    -o指定额外挂载选项,以test用户挂载test到本地
    mount -t cifs //192.168.136.131/test    /mnt/test -o username=test
开机自动挂载编辑/etc/fstab,为了安全,credentials指定挂载时使用的username和password

//192.168.136.131/test   /mnt/test     cifs   credentials=/etc/samba/cred.pass 0 0

操作文件命令类似于FTP
    lcd  切换linux本机路径
    cd   切换共享目录路径
    put   上传
    get   下载

用户的权限是共享权限和文件系统权限的交集

samba访问控制

  1. iptables139,445

  2.主配置文件中的hosts allow,指定某些主机,或者某些网络,空格隔开

linux上配置samba
1.在samba主配置下面添加共享配置

  [samba]

  comment = test
path = /samba
public = yes
writable = yes
write list = @samba

2.测试文件有没有语法错误testparm

[root@localhost /]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[samba]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions [global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size =

3.查看端口是否开启TCP139端口,netstat -ntlup

4.添加samba用户,可以自己事先创建的系统用户
 smbpasswd -a samba
5.window访问linux共享
 如果访问不成功,检查selinxu是否关闭,防火墙是否允许

右击windows设备计算机,添加网络驱动器然后添加地址

  然后输出添加samba账户是设定账户和密码

如果没有写权限,则要检查,配置时是否可写,登录的用户(对应的系系统用户)是否对共享目录可写。必须两者同时满足才可写。

配置samba4-swat    samba独立的web服务器
    yum install samba4-swat会安装依赖xinetd,
    xinetd是swat的超级守护进程(独立守护进程),为哪些平时不经常启动的服务(非独立守护进程,瞬时进程,短暂进程),监听端口。如果有请求  服务,xinetd为转交给对应的服务,服务完成后,瞬时进程关闭。

启动swat服务只需要启动xinetd服务即可,超级守护进程(独立守护进程)有运行级别(--level),瞬时守护进程没有运行级别。
    每一个非独立守护进程在/etc/xinet.d/ 下面有配置文件

启动瞬时进程两个方法
    1.chkconfig swat on
    2.编辑/etc/xinet.d/ 下面的配置文件,修改disable=yes 改为no

/etc/xinet.d/swat配置

service swat
{
port = 901 //监听端口
socket_type = stream                //套接字类型,STREAM是TCP协议
wait = no                  //是否允许多个请求
only_from = 127.0.0.1              //默认只允许本机访问,可以修改
user = root                 //访问时使用的账户,第一次登陆必须为root
server = /usr/sbin/swat            //启动的程序
log_on_failure += USERID                //如果错误记录USERID
disable = no                   //no表示允许    
}
~

重启swat   service xinetd restart,查看901端口

                    LISTEN      /smbd
tcp ::: :::* LISTEN -
tcp ::: :::* LISTEN /xinetd
tcp ::: :::* LISTEN -
[root@localhost ~]#

windows访问192.168.136.135:901输入root账号和密码

如果事先没有启动nmb服务,需要启动nmb服务

samba简单配置的更多相关文章

  1. Samba简单配置--匿名用户共享资料可读可写的实现

    http://e-mailwu.blog.163.com/blog/static/65104036200931893921923/ http://www.cnblogs.com/god_like_do ...

  2. centos 6.5 samba简单配置

    1.安装samba yum -y install samba  (我的显示已经安装啦!) 2.编辑samba的配置文件 vi /etc/samba/smb.conf 用 testparm查看我配置后的 ...

  3. Linux之Samba的配置

    Samba的配置   对于linux与windows共享,和平共处,我们可以用Samba软件 Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件 ...

  4. samba 基本配置及自定义控制

    Samba简介: Samba实现的是Linux和Windows之间的一种共享,为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,共享文件系统.打印机及其他资 ...

  5. <转载> FreeNAS的安装和简单配置 http://freenas.cn/?p=342

    前些日子在公司搭了一个模拟生产环境的平台.由于是测试环境,资源有限只能使用虚拟机实现,所以存储这块就想到了使用FreeNAS.很早以前玩儿过几次,当时是生产环境需要上存储设备,经过对比还是选择的更可靠 ...

  6. openwrt 配置samba && ubuntu 配置samba

    前言:在修改opkg update的下载目录,公司里不能连外网,尝试用samba. 配置samba很简单,修改/etc/config/samba文件,拷贝一下share项,再改一下name就可以了. ...

  7. 一看就懂的Ubuntu系统下samba服务器安装配置教程

    文章目录 前言 环境搭建 安装 配置 Examples 1 创建共享(任何人都可以访问) 2 单用户权限(需要密码访问) 添加samba用户 配置参数 3 支持游客访问(单用户拥有管理员权限) 前言 ...

  8. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  9. 以实际的WebGIS例子探讨Nginx的简单配置

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...

随机推荐

  1. Kubernetes 监控方案之 Prometheus Operator(十九)

    目录 一.Prometheus 介绍 1.1.Prometheus 架构 1.2.Prometheus Operator 架构 二.Helm 安装部署 2.1.Helm 客户端安装 2.2.Tille ...

  2. 阿里云移动推送 安卓项目添加SDK步骤

    Gradle的Emas服务插件会加载您下载的 aliyun-emas-services.json 文件.请修改工程的build.gradle使用该插件.配置步骤如下: 1. 修改项目级目录下build ...

  3. LeetCode 445. 两数相加 II(Add Two Numbers II)

    445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个 ...

  4. Spark源码(1) Spark配置

    写熟悉的第一句代码 val conf = new SparkConf().setAppName("WordCount")点击SparkConf() ,发现 private val ...

  5. Python规范:用用assert

    什么是assert assert的语法: assert_stmt ::= "assert" expression ["," expression] 例: ass ...

  6. python基础 — random库

    python中用于生成伪随机数的函数库是random 因为是标准库,使用时候只需要import random random库包含两类函数,常用的共8个 --基本随机函数: seed(), random ...

  7. 5. JDBC/ODBC服务器

    Spark SQL也提供JDBC连接支持,这对于让商业智能(BI)工具连接到Spark集群上以及在多用户间共享一个集群的场景都非常有用.JDBC服务器作为一个独立的Spark驱动器程序运行,可以在多用 ...

  8. idea 中激活 JRebel

    JRebel介绍: JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效.IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,修改才能 ...

  9. Spark 系列(十二)—— Spark SQL JOIN 操作

    一. 数据准备 本文主要介绍 Spark SQL 的多表连接,需要预先准备测试数据.分别创建员工和部门的 Datafame,并注册为临时视图,代码如下: val spark = SparkSessio ...

  10. JDK提供的原子类和AbstractQueuedSynchronizer(AQS)

    大致分成: 1.原子更新基本类型 2.原子更新数组 3.原子更新抽象类型 4.原子更新字段 import java.util.concurrent.atomic.AtomicInteger; impo ...