Samba服务详解
Samba文件服务器
- 本章结构

- 服务简介
- SMB协议
Server Message Block,服务消息块
- CIFS协议
Common Internet File System,通用互联网文件系统
- Samba项目
- 作用:
分享档案与打印机服务;
可以提供用户登入SAMBA主机时的身份认证;
可以进行Windows网络上的主机名解析(NetBIOS name)
- SAMBA软件包

- samba服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问,打开的端口为139和445
nmbd:提供基于NetBIOS主机名的解析,打开端口为137和138
Samba的服务脚本:/etc/init.d/smb
Samba的配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm
- 常见配置
smb.conf文件的配置内容:
[global]:全局配置
[homes]:用户目录共享设置
[printers]:打印机共享设置
[myshare]:自定义名称的共享目录设置,名字可以自定义,但是最好见名知意
辅助配置内容:
注释行:以#号开头的行
配置样例行:以;号开头的行
结合grep命令可以提取有效配置行
grep –v "^#" smb.conf | grep –v "^;" | grep –v ^$
常见全局配置项的含义:
workgroup:所在工作组名称
server string:服务器描述信息
security:安全级别,可用值如下:
share、user、server、domain
log file:日志文件位置,"%m"变量表示客户机地址
max log size:日志文件的最大容量。单位为KB
passwd backend:设置共享账户文件的类型
常见共享目录配置项的含义:
comment = some string:对共享目录的注释、说明信息
path = pathname:共享目录在服务器中对应的实际路径
load printers = yes/no:是否加载打印机
browseable = yes/no:该目录在"网上邻居"中是否可见
guest ok = yes/no:是否允许所有人访问,等效于"public"
public = yes/no:是否允许所有人访问
writable:是否可写,与read only的作用相反
printable = yes/no:是否允许打印
read only = yes:只读
share modes = yes/no:是否开启共享模式
valid users = username1,username2,@groupname:
#指定合法用户或组,只有写在这里的才可以登陆
write list = username1,username2,@groupname:
#只有写在这里用户或组才具有写权限,组名前要加@符号
- 其他设置
端口映射与地址访问限制:
hosts allow = 192.168.1. EXPECT 192.168.1.15
#设置允许访问的主机IP,可以使用EXPECT排除某个IP
username map = /etc/samba/smbusers
格式为:原名 = 别名
#别名映射,别名文件为smbusers
linux自动挂载
#vim /etc/fstab
//192.168.10.2/share /mnt cifs defaults,username=zhangsan,password=123456
注意:samba共享目录,除了服务自身设置外,还要注意设置目录权限
- 客户端访问
- Linux客户端
# yum -y install samba-client #安装SAMBA客户端
#useradd admin #添加本地用户
#加入samba服务的用户家目录其实就是系统用户的家目录
#smbpasswd -a admin #为用户添加密码
#smbclient –U username //主机IP/sharedir
#以某用户登陆SAMBA
#smbclient [-U username] -L IP地址
#列出某samba服务器共享的目录信息
smb: \> get 文件名 #下载文件
smb: \> put 文件名 #上传文件
smb: \> ls #列出共享的文件
- Windows客户端
\\IP地址\sharedir (unc路径:Universal Naming Convention
通用命名规则,也称通用命名规范、通用命名约定)在CMD下可以使用:net use * /del #删除本机所有映射和IPC#$(空连接)连接
#如果想每次都不用做上述操作,那么可以将其映射到本机,即在windows里面,点击"计算机—映射网络驱动器" 填写好相关信息
- 试验一
创建3个文档目录:
/var/share/public,存放公共数据
/var/share/training,存放技术培训资料
/var/share/devel,存放项目开发资料
1、将/var/share/public目录共享为public
所有员工可匿名访问,但是只能读取文件,不能写入
2、将/var/share/training目录共享为peixun
只允许管理员admin及技术部的员工只读访问
3、将/var/share/devel/目录共享为kaifa
技术部的员工都可以读取该目录中的文件
但是只有管理员admin及xdl项目组的员工有写入权限
首先记得关闭防火墙和SELINUX
#yum –y install samba
#vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server Version %
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]
comment = Home Directories
browseable = no
writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[public]
comment = public
path = /var/share/public
browseable = yes
guest ok = yes
read only = yes
[peixun]
comment = peixun
path = /var/share/training
valid user = admin,@tech
read only = yes
[kaifa]
comment = kaifa
path = /var/share/devel
writable = yes
write list = admin,@xdl
#service smb start
#useradd admin #添加本地用户
#smbpasswd -a admin #为用户添加密码
#chmod 775 /var/share/public #可根据系统用户、组、其他人进行设置
#chmod 770 /var/share/training
#chmod 770 /var/share/devel
添加用户组进行测试:
#groupadd xdl
#groupadd tech
#useradd –G xdl user1
#useradd –G xdl user2
#useradd –G xdl user3
#useradd –G tech tech1
#useradd –G tech tech2
#setfacl -m u:admin:rx /var/share/training
#setfacl -m g:tech:rx /var/share/training
#setfacl -m g:tech:rx /var/share/devel
#setfacl -m g:xdl:rwx /var/share/devel
#setfacl -m u:admin:rwx /var/share/devel
#smbpasswd -a user1
#smbpasswd –a user2
#smbpasswd –a user3
#smbpasswd –a tech1
#smbpasswd –a tech2
Linux测试机:
#yum –y install samba-client
#smbclient -U admin //192.168.131.129/kaifa #测试结果可读写
#mkdir /samba
- 永久挂载
# vim /etc/fstab
//192.168.131.129/kaifa /samba cifs defaults,username=admin,password=123 0 0
#mount –a
#mount
- 临时挂载
#mount -t cifs -o defaults,username=admin,password=123 //192.168.131.129/kaifa /samba/
Samba服务详解的更多相关文章
- winxp计算机管理中服务详解
winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...
- Android中Service(服务)详解
http://blog.csdn.net/ryantang03/article/details/7770939 Android中Service(服务)详解 标签: serviceandroidappl ...
- WCF中队列服务详解
WCF中队列服务详解 一.引言 在前面的WCF服务中,它都要求服务与客户端两端都必须启动并且运行,从而实现彼此间的交互.然而,还有相当多的情况希望一个面向服务的应用中拥有离线交互的能力.WCF通过服务 ...
- 【转】SSH服务详解
[转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...
- (转)SSH服务详解
SSH服务详解 原文:http://www.cnblogs.com/clsn/p/7711494.html 第1章 SSH服务1.1 SSH服务协议说明SSH 是 Secure Shell Proto ...
- HTTPD之二————HTTPD服务详解————httpd的配置文件常见设置
HTTPD之二----HTTPD服务详解----httpd的配置文件常见设置 HTTP服务器应用 http服务器程序 httpd apache nginx lighttpd 应用程序服务器 IIS,a ...
- angular-ngSanitize模块-$sanitize服务详解
本篇主要讲解angular中的$sanitize这个服务.此服务依赖于ngSanitize模块. 要学习这个服务,先要了解另一个指令: ng-bing-html. 顾名思义,ng-bind-html和 ...
- Java从入门到精通——数据库篇Oracle 11g服务详解
装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...
- windows 7 系统进程服务详解
windows 7已经发布有段时间了,相信很多网友都已经换上了传说中非常完美的win7系统.win7不仅继承而且还超越了vista的美观界面,性能优化方面也下足了功力.还拥有强大的win xp兼容性, ...
随机推荐
- 第三百零三天 how can I 坚持
今天年会,运气还不错,竟然中了个小奖,一个榨汁机,已经很满足了. 今天加上了她,感觉挺合适,就怕一句话聊不来就带搭不理的了.她很好,懂得知足,不攀比. 弟弟今天把房子首付交了,把贷款办完就算安心了,目 ...
- Window下开发React-Native Android步骤
1.安装Android开发环境 下载并安装JDK 下载并安装Android SDK, Android NDK 启动SDK下面的SDK Manager.exe,安装相关SDK Platform-tool ...
- SaltStack 最新版WebUI部署
saltstack web uiweb平台界面 saltapi项目主页:http://salt-api.readthedocs.org/en/latest/ halite 项目主页:https://g ...
- 转载 C#中静态类和非静态类比较
转载原地址: http://www.cnblogs.com/NothingIsImpossible/archive/2010/07/28/1786706.html C#静态方法与非静态方法的区别不仅仅 ...
- POJ 1511 - Invitation Cards (dijkstra优先队列)
题目链接:http://poj.org/problem?id=1511 就是求从起点到其他点的最短距离加上其他点到起点的最短距离的和 , 注意路是单向的. 因为点和边很多, 所以用dijkstra优先 ...
- 位运算&字节运算
- C#的枚举数(Enumerator)和可枚举类型(Enumerable)
数组可以被foreach语句遍历数组中的元素,原因是数组可以按需提供一个叫做枚举数(enumerator)的对象.枚举数可以依次返回请求的数组的元素. 对于有枚举数的类型而言,必须有一个方法来获取它们 ...
- 腾讯云centos6.5下部署django环境
基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...
- iis 启用父目录路径访问
今天公司有个客户保修网站后台无法访问,我查看了源代码,发现ASP代码本身并没有什么问题.而且我下到本地能够访问.就是在网上不能正常连接,显示入下错误: Server.MapPath() 错误 'ASP ...
- sql 指令
SELECT 是用来做什么的呢?一个最经常使用的方式是将资料从数据库中的表格内选出.从这一句回答中.我们立即能够看到两个keyword:从 (FROM)数据库中的表格内选出 (SELECT).(表格是 ...