今天我们要架设的samba服务器,功能主要就是类unix机器与windows机器的文件共享,也可以是共享打印机,samba软件整合了SMB协议及Netbios协议,使其运行在TCP/IP上
SMB协议:Server Message Block(服务信息块),可看作是局域网上的共享文夹打印机的一种协议。
SAMBA服务有两个进程
smbd:SMB服务器
nmbd:netbios名称服务器
玩过windows的应该都知道netbios吧,这个我就不多说了,但是一般linux上面的这个功能都没用,因为netbios不稳定,还不如直接用DNS
下面介绍下SAMBA服务器的特点 
1、在网络上共享目录,就好像一台文件服务器一样
2、在网络上共享打印机
3、决定共享目录的访问权限,可以让一个人、某些人、组和所有人访问
4、决定打印机的访问权限,可以让一个人、某些人、组和所有人使用
可以看出,安装和配置好了Samba服务器后,Linux就可以使用Windows网络中的文件和打印服务器了。
smb用的脚本文件
/etc/rc.d/init.d/smb 
所以我们启动samba服务器的时候使用
service  smb restart 
nmbd 使用的端口是 137138 
smbd使用的端口是139445,所以一般禁止samba服务我们控制139和445端口
139端口也是属于netbios ,但是最好禁止的时候把139端口也禁用了
所需的RPM包:samba
图形化软件:samba-swat
samba是可以通过图形界面配置的
我们今天只讲修改配置文件配置
但是提示大家注意一点
如果使用图形界面配置,从新启动服务器后,配置文件内被注释的行就会被删除,图形界面配置的软件是这样设计的 
配置文件是
/etc/samba/smb.conf 
samba服务的主配置文件/etc/samba/smb.conf主要由两部分组成
Global Settings 全局参数设置 
该设置都是与Samba 服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的
Share Definitions 共享目录 
该设置针对的是共享目录个别的设置,只对当前的共享资源起作用
samba服务器与用户的家目录相关,所以设计到selinux,这个大家要注意 
下面大家先安装samba服务器
大家打开配置文件吧
vim /etc/samba/smb.conf
配置文件有288行,我把重要的给大家说说
设置Samba服务器所属的群组名称或Windows的域名
workgroup = MYGROUP 
server string 是服务器的描述
设置可访问Samba 服务器的主机、子网或域
hosts allow = 
默认是注释了的,意思是允许所有访问,请大家仔细看这个选项,他的表达方式比较特殊,只需要写出网络位然后以点结束,主机位省略
127.0.0.0 只写 127.
192.168.12.0 写成 192.168.12.
切记~~~
还有全局的hosts allow 可以在局部使用,但是hosts deny 参数只能在全局使用 
设置是否允许打印配置文件中的所有打印机开机时自动加载 。
load printers = yes 
设置Samba 服务启动时,将自动加载的打印机配置文件  
printcap name = /etc/printcap 
设置guest 账号名 
guest account = pcguest 
指定Samba 服务器使用的安全等级 
security = user
我们今天只介绍share级别和user级别
其他的三个安全级别有兴趣的可以自己去研究下
share就是不用密码访问,user 级别就是使用用户密码验证
使用加密口令
encrypt password = yes/no 
设置Linux 用户到Windows 的用户映射。 
username map=/etc/samba/smbusers 
全局常用的设置基本就这些,应该可以满足你企业的通常使用
可以把一个linux的sambaID映射成一个虚拟机的用户名,在windows登陆samba服务器使用虚拟机的用户名,这样就提高了服务器的安全性
这个参数默认是没有的,需要自己添加,但是smbusers文件是存在的
下面介绍下共享目录的一些设置,其实这个文件和windows的.ini配置文件写法很象
每一个共享目录都由 [目录名] 开始,这个目录名字是client看到的名字
comment 是共享目录的描述
path 就是真正的共享目录位置了
public 是否可以匿名访问
writable 可以访问的用户是否有写入权限,要与文件权限配合使用
write list 允许写入权限的用户列表
如果printables = yes 那么这个目录就被认为是一个打印机,所以一般我们设置成 printables = no ,这样能理解吗?
还有一些常用的,但是配置文件没有写入的语句我给大家说说
valid users=
允许访问的用户列表,前提是public设置成no
刚才的write list 要生效的话,writeable 也设置成no 
注意valid users = ,users有个s 不要忘记了,少一个字符这句就没有意义了 
invalid users = 
不允许访问的用户,就算你上面允许他了,但是加入这句,这个用户也会被拒绝。一般用在允许所有,而禁止某几个用户的时候使用
create mode = 640
很有用的参数,用户创建的文件默认权限 
directory mode = 750 
用户常见的目录的默认权限
但是这两个参数只在client使用的是图形界面有效果,如果client使用的命令登陆,那么这两句就没有效果了,所以测试的时候注意了,用mount 挂载的测试不出效果 
最后就是samba 的ID设置
创建samba用户,主要两步
1、useradd redhat
2、smbpasswd  -a  redhat
 
1、是在系统建立一个redhat用户,一般我们不设置密码,把shell改成/sbin/nologin
2、是把刚才创建的用户变成samba用户-a 是新建的意思,如果修改密码就不用加-a 
记住只有安全级别是user 这里的用户才会生效
下面具体配置samba服务器
我们第一个要是实现的功能是共享/public目录让所有人访问,所有人可以写入文件,但是不可以删除或修改其他用户的文件
要求看懂了吗?这就是一个公司的交换文件服务器
1、新建public目录 
让所有用户有写入权限
2、让用户不能删除其他用户的文件,所以我们要使用一个冒险位 
3、设置selinux 
复制29行,然后运行
setsebool -P samba_enable_home_dirs on
然后复制39行后面部分,把path修改成我们要改变目录,用来修改上下文
chcon -t samba_share_t /public
4、修改配置文件
修改安全级别为share
修改共享目录描述
OK后,重新启动服务器
selinux要开启哈,使用setenforce 命令设置,也可以使用 setup命令
5、测试
smbclient -L 192.168.0.188
密码直接回车
这样就能看到我们服务器的相关信息
smbclient命令还可以这样用:smbclient //192.168.0.188/public
这样链接上去就像一个ftp服务器,输入问号,可以查看能使用的命令,和FTP的操作差不多
下面我们来挂载
mkdir /mnt/smb
mount -t cifs //192.168.0.188/public /mnt/smb/
记住-t cifs 这是samba的文件系统格式 
这样挂载要跟具体的目录哈,表达方式和windows下很相似,不带参数也可以哈,-t auto 也可以,这个是自动识别的,但是新手,建议多多了解
net use r:\\192.168.0.188
#######################Michael分割线#######################
还有不清楚的可以参考[RHEL5企业级Linux服务攻略]--第2季 Samba服务全攻略,下次RHCE课程讲解user级别哈~~~
#######################Michael分割线#######################

RHCE课程-RH253Linux服务器架设笔记三-Samba服务器配置(1)相关推荐

  1. RHCE课程-RH253Linux服务器架设笔记五-DNS服务器配置(2)

    上季我们学习了,DNS的原理和bind软件的相关简介,还有安装架设了BIND软件的DNS服务器,还有就是正向区域和反向区域的一些技巧,今天我们要学的就是DNS的辅助服务器的架设,还有DNS的缓存域名服 ...

  2. RHCE课程-RH253Linux服务器架设笔记五-APACHE服务器配置(4)

    JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司一起参与建立的一种基于Java技术的动态网页技术标准. Apache只是一个Web服务器,不能运行JS ...

  3. CentOS4.4下邮件服务器架设笔记之windows AD整合功能实现

    1.通过"CentOS4.4下邮件服务器架设笔记之邮件网关功能实现"这一篇文章,我们已经实现了邮件网关功能,但是对于microsoft ad 平台下exchange邮件系统用户来说 ...

  4. 服务器架设笔记——打通MySQL和Apache

    在<服务器架设笔记--使用Apache插件解析简单请求>一文中,我们已经可以获取请求内容.这只是万里长征的第一步.因为一般来说,客户端向服务器发起请求,服务器会有着复杂的业务处理逻辑.举个 ...

  5. 服务器架设笔记——多模块和全局数据

    随着项目工程的发展,多模块设计和性能优化是在所难免的.本文我将基于一些现实中可能遇到的需求,讲解如何在Apache的Httpd插件体系中实现这些功能.(转载请指明出于breaksoftware的csd ...

  6. 服务器架设笔记——使用Apache插件解析简单请求

    一般来说,对于一个请求,服务器都会对其进行解析,以确定请求的合法性以及行进的路径.于是本节将讲解如何获取请求的数据.(转载请指明出于breaksoftware的csdn博客) 我们使用<服务器架 ...

  7. 服务器架设笔记——Apache模块开发基础知识

    通过上节的例子,我们发现Apache插件开发的一个门槛便是学习它自成体系的一套API.虽然Apache的官网上有对这些API的详细介绍,但是空拿着一些零散的说明书,是很难快速建立起一套可以运行的系统. ...

  8. FreeBSD6.0Release+Squid+Socks5服务器架设笔记

    架设此服务器,使客户端通过设置代理服务器的squid来浏览网页,通过代理服务器的socks5来使用QQ.MSN.证券等服务,下面简单介绍服务器的架设过程. 一.安装FreeBSD6.0Release ...

  9. 服务器架设笔记——编译Apache及其插件

    之前一直从事Windows上的客户端软件开发,经常会处理和服务器交互相关的业务.由于希望成为一个全栈式的工程师,我对Linux上服务器相关的开发也越来越感兴趣.趁着年底自由的时间比较多,我可以对这块做 ...

最新文章

  1. linux改英语环境,CentOS6.8中/英文环境切换教程图解
  2. ip pim spare 源树 和 共享树_iPhone通过内置应用与电脑传输共享文件指南
  3. Maven安装与配置——手把手教程
  4. 2016年个人技术总结(前端)
  5. 【算法分析与设计】找到最重的球
  6. 阿里云API网关(18)请求报文和响应报文
  7. $Django 聚合函数、分组查询、F,Q查询、orm字段以及参数
  8. oracle复制表结构与表数据
  9. EventBus 使用介绍
  10. sqlServer对内存的管理
  11. Apache Qpid Proton 0.16.0,轻量通信库
  12. python开发面试笔试题_Python测试开发面试笔试题
  13. 数据库实验报告--安全性实验
  14. 福州船政计算机专业多少钱,福建船政交通职业学院怎么样排名多少?特色专业?录取分数线及收费...
  15. 抖音评论怎么引流?商家如何利用抖音评论区
  16. 黑客入侵微软邮件服务器部署勒索软件、惠普更新打印机漏洞|12月2日全球网络安全热点
  17. 经典的三角形软件测试用例
  18. OpenCV -5 -GoogLeNet模型使用及CNN理论
  19. 21 07 13学习总结
  20. 计算机cpu多大,电脑的cpu频率多少算正常

热门文章

  1. java plug in错误_Eclipse启动失败 - 在安装BlackBerry Java Plug-in for Eclipse v1.3之后
  2. Matlab-使用逻辑值进行索引
  3. 中修改环境变量_超详干货!Linux环境变量配置全攻略
  4. Programming Computer Vision with Python (学习笔记十)
  5. 工作以后如何有效学习
  6. 用python实现基本A*算法
  7. Python计算机视觉:第二章 图像局部描述符
  8. 利用Matlab优化工具箱解数独问题
  9. TLD(Tracking-Learning-Detection)学习与源码理解之(四)
  10. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.4. 重点回顾)