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. python center() 函数

    center Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串.默认填充字符为空格. 语法 center()方法语法: str.center(widt ...

  2. 第十八篇:融汇贯通--谈USB Video Class驱动

    USB Video Class驱动是WINDOWS系统包含的一个针对于USB VIDEO 类的驱动程序. 好多project师都做过USB VIDEO设备端的开发, 基本的工作内容为: 使用FIRMW ...

  3. 【剑指offer】 二叉树中和为某一值的路径

    一.题目: 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中,数组长度 ...

  4. Python中的__init__.py的作用

    当用 import 导入该目录时,会执行 __init__.py 里面的代码 因此在__init__.py文件中,把深层的包的路径缩短,别的地方就可以在引用到目录级别时引到深层的包.

  5. kernel下nand flash的文件系统总结

    1.FLASH转换层(FTL) EXt2/EXT3/EXT4文件系统可以通过FTL实现对flash的支持,因为FTL可以将闪存flash模拟成磁盘结构. 在ext2文件系统的基础上上,为了保证数据的一 ...

  6. soapUI-JDBC Request

    1.1.1  JDBC Requet 1.1.1.1 概述 – JDBC Request Option Description   JDBC Request TestStep Toolbar 对JDB ...

  7. Air Jordan 1 Los Primeros Will be unveiled

    This new pair of Air Jordan 1 Los Primeros is part of the popular Air-Jordan- Line signature and is ...

  8. asp.net本地读取excel正确。但在iis服务器上就报错 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序

    本地vs2010可以上传ecxel文件.并读取数据,但部署到本地IIS.并访问.则提示: 未在本地计算机上注册“Microsoft.ACE.OleDb.12.0”提供程序 首先:确保安装了Micros ...

  9. 转载的 Linux下chkconfig命令详解

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  10. 使用i5ting_toc 预览 markdown 文件

    i5ting_toc__tree https://github.com/i5ting/i5ting_ztree_toc 是去哪儿网前段架构师狼叔编写的一个jQuery插件,用于将markdown 转化 ...