Samba服务搭建及详解
来源:互联网 发布:qq linux 编辑:程序博客网 时间:2024/06/01 10:38
转载自:http://hongtengfei.blog.51cto.com/9881650/1698588
Samba文件共享服务
1. 什么是Samba文件共享服务
1.1 Samba的含义Samba是linux和unix系统上实现SMB/CIFS协议的一个免费软件,由服务器和客户端程序构成。SMB:局域网支持共享文件和打印机的一种通信协议,为局域网内不同计算机之间提供文件及打印机等资源的共享服务 Samba原理图:
1.2 Samba的包组 Samba(服务器端软件包):包含了samba的主要daemon档案(smbd及nmbd)、samba的文件档(document)、以及其他与samba相关的logrotate设定文件及开机预设选项档案等。 Samba-common(Samba公共文件软件包):主要提供了SAMBA的主要设定档(smb.conf)、smb.conf语法检验的测试程序(testparm)等等。 Samba-client(客户端软件包):提供了当linux作为SAMBA Client端时,所需要的工具指令,例如挂载SAMBA档案格式的执行档smbmount等等。
1.3 Samba的进程及作用 Samba有两个守护进程:smbd和nmbd,这两个守护进程是独立的启动脚本。 Smbd:为客户端提供文件共享服务和打印机服务,并且负责用户权限验证以及锁功能。Smb服务启动smbd。端口号:TCP协议的139/445端口,netstat-nutlp查看端口信息 Nmbd:提供NetBIOS名称服务来满足基于CIFS(Common Internet File System)协议的共享访问环境。Nmb服务启动nmbd。端口号:UDP的137端口 或许表格会更清晰的了解Smbd和Nmbd,嘿嘿
2. 配置安装Samba服务器
2.1 关闭防火墙和selinux[root@Samba ~]# service iptables stop #临时关闭防火墙[root@Samba ~]# chkconfig iptables off #永久关闭防火墙[root@Samba ~]# setenforce 0 #暂时关闭selinux[root@Samba ~]# sed -i "/SELINUX=/cSELINUX=disabled" /etc/sysconfig/selinux #永久关闭selinux 2.2 安装Samba软件[root@Samba ~]# yum -y install samba 2.3 创建共享目录[root@Samba ~]# mkdir/common #创建公共目录common[root@Samba ~]# chmod777 /common #给common目录授权[root@Samba ~]# echo"hello world\!" > /common/test.txt #创建测试文件test.txt 2.4 修改配置文件[root@Samba ~]# vim /etc/samba/smb.conf在结尾添加以下内容:[common] //共享名称为commoncomment = Common share //共享注释path = /common //指定共享路径browseable = yes //所有人可见guest ok = no //拒绝匿名访问writeable = yes //支持写入数据 2.5 创建访问账号[root@Samba samba]# useradd -s/sbin/nologin smbuser //创建用户[root@Samba samba]# smbpasswd -a smbuser //创建密码New SMB password:Retype new SMB password: Addeduser smbuser. Smbpasswd命令:修改samba密码 –a添加账户并设置密码;-x删除SMB账户;-d禁用SMB账户 –e 启用SMB账户 2.6 启动服务[root@Samba ~]# servicesmb startShutting down SMB services: [ OK ] StartingSMB services: [ OK ]
3. 客户端访问
3.1 Windows客户端访问 3.1.1 windows客户端访问主机启动方式:windows键+R打开运行输入\\samba的ip
当使用windows客户端访问时会经常出现这样的错误
解决方式:网络右键属性打开网络和共享中心-更改适配器设置
本地连接右键属性-点击共享
将本地网卡共享给VMnet8
然后重新打开以下你的samba客户端然后输入你的用户名和密码就能进入
3.2 Linux客户端访问
#用linux客户端访问时需要smbclient命令,需要安装[root@Samba ~]#yum -y install samba-client#然后就可以执行smbclient命令[root@Samba ~]#smbclient -L //192.168.137.7 #查看主机共享信息#执行上述命令可能会一个error:[root@Samba ~]#smbclient -L //192.168.137.7Enter root's password: session setup failed:NT_STATUS_LOGON_FAILURE#这是由于使用的用户是root用户的原因,所以后面加个用户就行了[root@Samba ~]# smbclient -L//192.168.137.7 -U smbuser #查看共享信息Enter smbuser's password: #仅查看不需要密码,直接回车键Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6]Sharename Type Comment--------- ---- -------common Disk Common shareIPC$ IPC IPC Service (Samba Server Version3.6.23-20.el6)smbuser Disk Home DirectoriesDomain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6]Server Comment--------- -------Workgroup Master--------- -------#管理共享目录文件[root@Samba ~]# smbclient -U smbuser//192.168.137.7/commonEnter smbuser's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba3.6.23-20.el6]smb: \> ls . D 0 Thu Sep 24 23:45:22 2015 .. DR 0 Fri Sep 25 12:13:12 2015 test.txt 14 ThuSep 24 23:45:22 201535727 blocks of size 524288. 31695blocks availablesmb: \> quit
3.3 挂载Samba共享目录
#以挂载/test目录为例[root@Samba /]# mkdir /test[root@Samba /]# mount -t cifs//192.168.137.7/common /test -o username=smbuser,passwd="123456" #挂载 cifs为网络文件系统
4. Samba配置文件详细分析
[global] #定义全局策略 workgroup = MYGROUP #定义工作组 server string = Samba Server Version %v #服务器提示字符,默认显示samba版本 log file = /var/log/samba/log.%m #定义日志文件 max log size = 50 #定义日志文件单个文件最大容量为50KB security = user #security选项将会影响客户端访问方式 #可以设置user、share、server、domain。User:代表用户名和密码验证;share:代表匿名访问;server:代表基于验证身份的访问,账户信息在另一台SMB服务器上;domain:同样基于验证身份验证,账户信息在活动目录中 passdb backend = tdbsam #账户与密码存储方式,smbpasswd:使用老的明文格式存储账户及密码;tdbsam:代表基于TDB的密文格式存储;ldapsam:代表使用LDAP存储账户资料。 load printers = yes #客户端在10分钟内没有打开任何Samba资源,服务器将自动关闭回话。 cups options = raw #打印属性[homes] #共享名称 comment = Home Directories #注释,共享的描述信息 browseable = no #共享目录是否可以被浏览 writable = yes #共享目录是否可以进行写操作[printers] #打印机共享 comment = All Printers path = /var/spool/samba #打印机共享池 browseable = no guest ok = no #是否允许匿名访问 writable = no printable = yes[common] #共享名称为common comment = Common share path = /common #指定共享目录 valid users = tom jerry #有效账户列表 create mask = 0750 #客户端上传文件的默认权限 directorymask = 0775 #客户端创建目录的默认权限 browseable = yes #客户端是否对所有人可见 writable= no #是否允许写入 write list = tom #写权限账户列表 admin users = tom #该共享的管理员,具有完全权限 invalid users = root bin #禁止root与bin访问common共享 guest ok = no #是否允许匿名访问
阅读全文
0 0
- Samba服务搭建及详解
- samba服务的搭建
- samba服务搭建
- ubuntu 搭建samba服务
- centos搭建samba服务
- 搭建Samba服务
- samba服务搭建
- samba 服务的搭建
- 搭建samba服务 centos
- linux-samba服务搭建
- samba 服务搭建
- samba服务搭建
- Samba服务搭建
- samba服务的搭建
- Linux Samba服务搭建
- samba服务详解
- Samba 服务详解
- samba服务详解
- 安卓学习笔记 6-11 增量更新
- bflvphnlrffbdbv
- 单链表反转
- Call From master/192.168.170.128 to master:8020 failed on connection exception: java.net.ConnectExce
- C++动态规划算法之拦截导弹
- Samba服务搭建及详解
- 算法题目-组队竞赛
- windows 10 自带应用安装与卸载
- go语言学习-go语言linux环境搭建
- vb.net 教程 11-1 打印组件 4 PrintDocument 2
- Qt多线程编程中的对象线程与函数执行线程
- 学习Kotlin 初次尝试(一)
- spring定时任务
- wonderfl没了