samba

smb:service message block(137/udp, 138/udp, 139/tcp, 445/tcp)

协议是:CIFS:Common Internet File System

CIFS监听的端口:

137/udp, 138/udp

这两个端口实现NetBIOS:Windows基于主机实现互相通信的机制;

想在Linux上实现CIFS协议,又能通过CIFS协议和Windows主机进行交互,前提是在samba中或Linux上既要实现

CIFS还要实现NetBIOS的功能。否可windows网上另据无法看到Linux,依然无法访问。

139/tcp, 445/tcp

跨平台工作文件系统:samba

samba可以实现3中服务应用:samba默认之启动前两个功能

nmbd:NetBIOS   在Linux中提供netbios协议

smbd:cifs     实现cifs或smb协议

winbindd:     实现在samba工作后,让Linux加入Windows的ad中去(即活动目录中去,如果Windows没有创建活动域,这项则不启动)

linux是客户端,windows是服务器端:

基于交互式数据访问 

1、在windows上创建test用户,并创建文件,更改文件设置交互式数据访问:

2、UNC路径:\\SERVER\shared_name

#smbclient -L HOST -U USERNAME

#smbclient -L 192.168.108.135 -U test

3、获取共享信息之后:

smbclient //SERVER/shared_name -U USERNAME

# smbclient //192.168.108.135/tools -U test

基于挂载方式访问:

mount -t cifs //SERVER/shared_name /mount -o point username=USERNAME,password=PASSWORD

# mount -t cifs //192.168.108.135/tools /mnt -o username=test

smbclient //192.168.18.5/scan -U administrator:访问服务端共享文件夹。help查看使用命令。

客户端挂载Windows服务端共享目录:

mount -t cifs //192.168.108.135/scan /mnt -o username=administrator,password=123456

windows是客户端,Linux是服务器端

#yum -y install samba:安装服务端工具

#yum install samba-client:客户端工具

#rpm -ql samba | less

服务脚本:

/etc/rc.d/init.d/nmb

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

主配置文件

/etc/samba/smb.conf

启动文件  //两个守护进程

/usr/sbin/nmbd     //在Linux中提供netbios协议

/usr/sbin/smbd    //实现cifs或smb协议

samba如何认证用户:先创建系统用户账号,然后把用户加入到samba密码文件中来

账号:都为系统用户  /etc/passwd

密码:为samba自行维护密码

将系统用户添加为samba用户的命令:sambapasswd

启动服务:

# service nmb start; service smb start

#service nmb start

#service smb start

# netstat -tunl   //查看端口

确定(137/udp, 138/udp, 139/tcp, 445/tcp)端口已处于监听状态

编辑(/etc/samba/smb.conf)主配置文件中的工作组

workgroup = WORKGROUP

重启服务:service smb restart && service nmb restart

添加系统用户为smb用户:smbpasswd -a xj

-a Sys_User:添加系统用户为smb用户

-d: 禁用指定用户

-e:启用指定用户

-x:删除用户

#useradd smbuser1    //添加系统账号

#smbpasswd  -a smbuser1     //把系统账号添加samba用户加密码,输入两边密码

以上只能访问自己的家目录,自定义共享,编辑主配置文件

smb.conf

全局设定:所有文件系统所共用的系统设定

特定共享的设定

私有家目录家目录

打印机共享

自定义共享

自定义共享

[file]:共享文件名  [shared_name]

path =/opt/file:共享文件夹     path = /path/to/share_directory

comment = :说明信息

guest ok = {yes|no}:是否匿名访问

public = {yes|no}:是否公开

writable = {yes|no}:写权限

read only = {yes|no}:只读

write list = +GROUP_NAME:指定可访问用户或组

comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes

测试配置文件是否有语法错误,以及显示最终生效的配置:

# testparm

注意:共享目录时确定登录用户对该目录有相应权限,如果没有用setfacl设定,不要修改原有属主和属组。

图形化配置(注:图形化修改后会修改之前的一切信息,需要谨慎)

# yum install samba-swat

# cd /etc/xinetd.d/

# service xinetd start

#ss -tnl    //查看是否监听了901端口

http://192.168.108.160:901       //在浏览器中输入即可

示例:

建立samba共享,共享目录为/data,要求:
1) 共享名为shared,工作组为xiaoheshang;
2) 添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为123456;
3) 添加samba用户gentoo,centos和ubuntu,密码均为123456;
4) 此samba共享的shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5) 此samba共享服务仅允许来自192.168.0.0/24网络的主机访问;

samba服务器为192.168.1108.160,测试主机为192.168.108.128 , 192.168.108.129

1、创建共享目录

# mkdir /data

2、添加组和用户

# groupadd develop

# useradd -G develop gentoo

# useradd -G centos develop

# useradd ubuntu

3、添加密码

# echo 123456 | passwd --stdin gentoo

# echo 123456 | passwd --stdin centos

# echo 123456 | passwd --stdin ubuntu

4、把系统用户添加为samba用户,并添加samba密码

# smbpasswd -a gentoo

# smbpasswd -a centos

# smbpasswd -a ubuntu

5、设置共享目录权限

# setfacl -m g:develop:rwx /data

# setfacl -m u:ubuntu:rwx /data

# getfacl /data

6、 编辑配置文件/etc/samba/smb.conf;
       设置工作组和访问权限

 

自定义共享

检测文件语法错误

#testparm

7、启动samba服务

# service nmb start; service smb start

# netstat -tuanp | grep '[s|n]mb'             //查看启动端口

samba基本应用24-4及示例的更多相关文章

  1. JavaEE Tutorials (24) - 资源适配器示例

    24.1trading示例369 24.1.1使用出站资源适配器370 24.1.2实现出站资源适配器372 24.1.3运行trading示例37324.2traffic示例374 24.2.1使用 ...

  2. 【网络流24题】 No.22~24

    接下来几题就写写题解吧.不是很想打了. 22. 输入文件示例input.txt4 21 2 7 36 5 8 37 8 10 59 6 13 9 输出文件示例output.txt17 最长不相交路径. ...

  3. Excel VBA Range对象基本操作应用示例

    [示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value = 22Ms ...

  4. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  5. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  6. jsp页面中jstl标签详解

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  7. jsp 页面标签 积累

    http://www.cnblogs.com/xiadongqing/p/5232592.html <%@ taglib %>引入标签库 ========================= ...

  8. Python 装饰器学习

    Python装饰器学习(九步入门)   这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 1 2 3 4 5 6 7 8 # -*- c ...

  9. 深入了解SQL注入绕过waf和过滤机制

    知己知彼百战不殆 --孙子兵法 [目录] 0x00 前言 0x01 WAF的常见特征 0x02 绕过WAF的方法 0x03 SQLi Filter的实现及Evasion 0x04 延伸及测试向量示例 ...

  10. 『Golang』跨平台TUI(基于文字的用户界面)库Terbox-Go文档翻译

    原文 package termbox import "github.com/nsf/termbox-go" termbox-go 是一个用于创建跨平台TUI(基于文本的用户界面)的 ...

随机推荐

  1. java-基础-【一】枚举

    enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中. 一.static final定义[jdk1.5之前] public static ...

  2. POJ1014:Dividing(多重背包)

    http://poj.org/problem?id=1014 Description Marsha and Bill own a collection of marbles. They want to ...

  3. Approximate Inference

    1.  Approximation    Probabilistic model  中的一个 central task :给定一组observation X 后,计算latent variables ...

  4. [LeetCode] 53. Maximum Subarray_Easy tag: Dynamic Programming

    Given an integer array nums, find the contiguous subarray (containing at least one number) which has ...

  5. jquery 的each函数

    each函数经常用到.它本身就是一个循环遍历 你可以可以break continue 但这是在for while循环中 each中我们可以这样 下面的例子是遍历 MyTable中所有的tr 第一个td ...

  6. C#+Aspose.Cells 导出Excel及设置样式 (Webform/Winform)

    在项目中用到,特此记录下来,Aspose.Cells 不依赖机器装没有装EXCEL都可以导出,很方便.具体可以参考其他 http://www.aspose.com/docs/display/cells ...

  7. linux下操作iso文件的两个shell程序

    记得这还是当初玩cdlinux时弄的,当初应该是由于windows下的Ultraiso对cdlinux的镜像修改后导致镜像无法引导,所以就使用linux下的命令进行操作 这应该是挂载iso文件的命令: ...

  8. unity Texture贴图纹理及相关属性

    Texture资源是Unity3d游戏开发中用途最广泛的资源之一,被引用于诸如界面UI. Mesh模型 .粒子效果等.还有一些特殊的Texture资源,如:Movie Texture:视频资源.Ren ...

  9. Zooming

    Zooming 是一款纯 javascript 图片缩放库,主要特点有: 不依赖其他库,纯 JavaScript 实现,支持移动设备: 流畅的动画: 可缩放高清图像: 易于集成和定制. 使用方法 1. ...

  10. java常用类总结

    0.jar包下载地点 http://mvnrepository.org/ 1.序列化反序列化Object代码 百度云:http://pan.baidu.com/disk/home#list/path= ...