Samba简介:在UNIX系统中,Samba是通过服务器消息块协议(SMB)在网络上的计算机之间,共享文件和打印服务的软件包。

SMB简介:Server Message Block,SMB协议是一种服务器/客户端协议,位于应用层,是Windows共享文件和打印服务的标准化协议,可以在两台计算机之间共享文件,打印机。

服务基本限定:

1、那些主机可以访问

2、那些用户可以访问

一、 确认已经安装samba

rpm -qa | grep samba

启动程序

/etc/rc.d/init.d/smb start





二、Samba有两个守护进程

1、smbd
– 监听139TCP端口

2、nmbd
– 监听137、138UDP端口

作用: 1、smbd进程的作用是处理SMB请求包,负责用户验证和文件共享【最终要】

2、nmbd进程的作用是处理浏览共享,和计算机名称解析





三、Samba配置

Samba配置文件保存在:
/etc/samba/smb.conf

包括四个设置段:

[global]
设置全局环境选项

主要选项设置:

workgroup=指定工作组或域


server string=描述 

security=制定系统的安全模式

1、share
无权限验证

2、user
由Linux的Samba服务器作验证【缺省,推荐使用】

3、server
第三方主机验证

4、doman
第三方主机验证【第三方必须是Windows域控制器】

hosts allow=限定主机访问
【如果该段被注释掉,则表示所有的主机都可访问】 hosts deny=限定主机不能访问【这两项一般不同时使用】【默认是没有这一项的】

log file=指定日志文件存放位置【最好保留这一项】

max log size=指定日志文件所占空间【注释了则表示没限制】


[homes]
设置用户宿主目录共享,如果每个用户不能访问自己的宿主目录,则注释掉该项

主要选项设置

comment描述

browseable=no
//没有权限访问的目录是不可见的

writeable/writable=yes
//可写,no,只读

[printers]
设置打印机共享【不常用】

[sharefiles]
设置文件共享

【分号“;”也是注释符】





四、【Samba应用示例一】

允许用户通过Windows客户端访问自己的宿主目录

1、安装Samba,不需要对配置文件作任何修改,即可完成此功能,但是如果开启了SELinux,或是Netfilter/Iptables,则需做如下工作,关闭防火墙

# iptables -F
//关闭Iptables

# setsebool -P samba_enable_home_dirs on
//改变SELinux策略

或者,编辑/etc/selinux/config将SELinux项改为disabled,设置SELinux永久不启动

【最佳实践】

gesebool -a | grep samba
查看SELinux所有与Samba有关的策略

2、设置用户Samba验证

smbpasswd -a 用户名
【-a表示添加】





3、启动Samba服务

/etc/rc.d/init.d/smb start





4、Windows访问Samba服务器共享资源

开始 → 运行 → 输入\\Samba服务器地址 

【断开连接:Windows → com : net use * /delete /y】





5、Samba服务器端访问的客户端信息

smbstatus

同时,用户登录的全部信息保存在/var/log/samba目录下

Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(上)的更多相关文章

  1. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例

    五.[Samba应用案例二] 设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限. 1.创建目录/software,添加用户jack, ...

  2. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  3. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

  4. Linux学习笔记之查看Linux版本信息

    0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息. 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 cat /proc/ver ...

  5. Linux学习笔记之Centos7 自定义systemctl服务脚本

    0x00 概述 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义 ...

  6. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

  7. 【linux学习笔记之一】linux系统目录结构以及常用系统命令

    序 ???这破笔记也要序?? 昨天开始学linux,做好笔记以备日后翻阅 Linux系统目录结构图 bin  --主要用于存放二进制文件(如:命令文件) boot--引导目录 dev  --设备目录 ...

  8. Linux学习笔记之十一————Linux常用服务器构建之ssh和scp

    一.ssh 1.ssh介绍 SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. ...

  9. Linux学习笔记之二————Linux系统的文件和目录

    一.Windows和Linux文件系统区别 1.在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符: 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:  ...

随机推荐

  1. SQL_CALC_FOUND_ROWS equivalent in PostgreSQL

    https://www.postgresql.org/message-id/1185863074.10580.91.camel%40linda.lfix.co.uk On Tue, 2007-07-3 ...

  2. arm-none-eabi-g++ -Xlinker -T "../LF3Kmonitor.ld" -Xlinker -Map="Bogota_ICT_V.map"-ram-hosted.ld -mc

    1.arm-none-eabi-g++:是编译ARM裸板用的编译器,不依赖于操作系统. 2.-Xlinker -T "../LF3Kmonitor.ld" -Xlinker -Ma ...

  3. Python descriptor

    class A: def __init__(self, name): self.name = name def __get__(self, ins, cls): print('call get') i ...

  4. mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...

  5. android galley实现画廊效果

    青春流水指间. 每段路,都有即将要来的旅程 每颗心,都有值得期待的成分 Android之ImageSwitcher,Gallery用法 今天在做一个软件界面时用到了ImageSwitcher和Gall ...

  6. Android View框架总结(五)View布局流程之Layout

    转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52216195 View树的Layout流程 View的Layout时序图 View布局 ...

  7. XML Schema

    XML Schema 是基于 XML 的 DTD 替代者. XML Schema 描述 XML 文档的结构. XML Schema 语言也称作 XMLSchema 定义(XML Schema Defi ...

  8. jQuery Ajax 使用 ($.ajax、$.post、$.get)

    项目中只要涉及到前后台的交互,数据状态之间的交互,ajax是必不可少的.一般项目中jquery方式的ajax用的还是比较多的.封装的比较好,用起来也顺手,兼容浏览器之间的差异. 操作的方式有三种: 1 ...

  9. ServletContainerInitializer初始化器

    在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能.每个框架 ...

  10. Intellij IDEA插件开发入门

    现今的IDE尽管有如"洪水猛兽"般强大,但要知道再强大的IDE也没法提供给使用者想要的一切功能, 所以IDE一般都提供有API接口供开发者自行扩展.下面以Intellij IDEA ...