samba网络服务的搭建和配置

简介:

一.理论知识:

1.samba 代替 nfs 的原因。
2. Windows 主机之间使用 SMB/CIFS 协议进行文件和打印的共享。(微软的服务)
端口: 445  139
3. samba 的核心是两个守护进程 smbd nmbd 程序。
Smbd nmbd 使用的全部配置信息全都保存在 smb.conf 文件中。
Smb.conf smbd nmbd 两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。
4.Smbd 进程的作用是提供文件 / 打印共享。
nmbd 进程是提供网络中域或者工作组内的主机进行主机名称的解析  
二.安装(四个包 1.samba 2.samba-common  3.samba-client  4.system-config-samba 
1.rpm 安装
rpm –ivh /media/cdrom/Redhat/RPM/samba*   
2. 源码包的安装( samba-3.0.22.tar.gz
tar xzvf  samba-3.0.22.tar.gz
cd  samba-3.0.22/source
./configure  --prefix=/usr/local/samba  --sysconfdir=/etc/samba/
make
make install

三. /etc/samba/smb.conf 主配文件的主要参数:
smb.conf 文件中,注释行以 “#” 开头,同时每项中英文字母不区分大小写,在一行最后字符尾加  “\” ,可将一行分成多行。用 开头的行,是可改变的配置,将 去掉时,该配置将取作用。
提问: grep 的含义;常用参数
1  grep -v "^#" /etc/samba/smb.conf |grep -v "^;" 排除以 # 开头的行
[global]
   workgroup = MYGROUP
   ;hosts allow = 192.168.1   192.168.2
   server string = Samba Server
   printcap name = /etc/printcap
   load printers = yes
cups options = raw
hosts allow = 192.168.1.     10.100.100.    ( 注意格式   )
  log file = /var/log/samba/%m.log
   max log size = 50
   security = user
[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
create mask = 0755    创建文件时   权限是 755
only  guest  =   yes   仅以匿名用户登录

[global](
全局参数的设置,它对 samba 的功能具有很大的影响,主要用来设置整个系统规则。  
workgroup= 
这是你在 windows 中的域。  
server string= 
这是在 windows 中看到你的 samba 的解释。  
netbios name =192.168.1.125(
linux 主机IP ), 如果把该句注消 , 默认的是你 LINUX 机器名 , 不过 , 最好还是自己填上  
dos charset=GB2312 
unix charset=GB2312 
加上这二句就可以正确显示中文了。  
hosts allow 
允许登录的 linux-samba 的主机名单,用 IP 地址给出,多个 IP 地址用空格分开,不在名单中的主机将不能得到 samba 提供的服务,这也是网络安全的一个方面。  
printcap name 
指定 printcap 文件地址,通常为 /etc/printcap, 包含了 linux 打印机的配置信息。  
load printers 
允许使用共享打印机时,默认值为 yes  
log file = /usr/local/samba/var/log.%m 
max log size = 0 
  上面这两行则是 Samba 日志的相关定义。其记录文件的位置是放在 /var/log/samba/%m.log ,安装目录不一样,日志可不一样,后面的一条是定义日志记录文件的大小,单位是 KB ,如果是 0 的话就不限大小。  
guest acount 
来宾帐户,表示用哪一个 Linux 用户作为所要的客户连接 , 定义 Samba 缺省的用户账号,这个账号必须在 /etc/passwd 中。  
security 
指定安全模式。大多数用户使用 user 级的安全模式, samba 用本地 linux 口令文件验证。  
security = security_level  
定义 Samba 的安全级别,按从低到高分为四级: share user server domain 。它们对应的验证方式如下:  
1.    share:
没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。  
2.    user:samba
的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密            码进行验证。    
3.    server:
user 安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台 NT 服务器。如果递交失败,就退到 user 安全级。  
4.    domain:
这个安全级别要求网络上存在一台 Windows 的主域控制器, samba 把用户名和密码递交给它去验证。
注意:
/etc/samba/lmhosts  文件提供 ip netbios 名称间的解析

后面三种安全级都要求用户在本 linux 机器上也要系统帐户。否则是不能访问的  
smb passwd file=/etc/samba/smbpasswd (
设置 smb 密码文件的位置
username map =/etc/smbusers 
encrypt passwords =no 
采用的时明文密码验证,如果是加密的 , 就改为 yes
四.用户的建立
1. 用户必须是系统用户。用 useradd 添加
2. 密码用 smbpasswd –a  后面跟用户名,然后会提示你输入密码
禁用某个用户
启用
删除  
五.使用 swat 管理 Samba 服务器
    1. 安装 swap   rpm -ivh samba-swat-3.0.10-1.4E.i386.rpm
    2. chkconfig  swat  on
3. service xinetd restart
4. http://ip:901  就可以访问了  ( 默认情况下 , 只能用本机访问 )

testparm 命令是配置文件测试工具,可以对 smb.conf 配置文件的语法进行检测,并显示当前配置的清单
七. Smbstatus   显示服务器的连接信息
Smbclient –L 192.168.1.1   显示 192.168.1.1  这个服务器上的共享目录
    Smbclient  //192.168.1.1/aa   -U  aa  用用户 aa 访问 192.168.1.1 上面的 aa 目录
.目录挂载
.Smbmount 用于挂再 linux 共享 目录。      smbmount //192.168.1.2/public /mnt
    mount -t smbfs -o username=st02   //192.168.1.2/public /mnt
十一   本科总结
1.Windows 主机之间使用 SMB/CIFS 协议进行文件和打印的共享
2.Samba 服务器在 Linux /UNIX 系统中实现了 SMB/CIFS 协议
3.Samba 服务器需要运行 smbd nmbd 两个服务程序
4. 配置文件 smb.conf Samba 服务器配置的核心
5. 使用 smbclient smbmount 客户端命令可以连接使用 Samba 服务器中的共享目录
实验
                                
常见共享目录配置项的含义
     comment :对共享目录的注释、说明信息
     path :共享目录在服务器中对应的实际路径
     browseable :该共享目录在“网上邻居”中是否可见
     guest ok :是否允许所有人访问,等效于“ public”
     writable :是否可写,与 read only 的作用相反
     read only = yes
     writable
实验 :
建立资源 , 使登陆到该服务器的用户均有权使用该空间 ( 包括读 , )
.
编辑 smb.conf 文件
vi smb.conf
[resource]
comment = local resource 
path = /var/samba/resource 
read only = no 
public = yes //
允许 guest 用户访问
建立共享文件夹
mkdir -p /var/samba/resource
由于任何人都能使用 , 所以得给该文件夹设置访问权限
chmod 707 /var/samba/resource
如果想在该文件夹中放置预共享文件 , 而又不想花时间从别的文件夹中 cp 过来 , 此时可以使用指针 . 比如想共享 /usr/share/doc 中的文件 , 则可以 :
ln -s /usr/share/doc /var/samba/resource/doc
进入 /var/samba/resource ls 一下 , 是不是出现指针文件了 !
建立一资源 , 只能让用户 liu 全权访问 .
编辑 smb.conf 文件
vi smb.conf
[liu]
comment = liu
path = /var/samba/liu
valid users = liu //
只允许 liu 访问   或者 @ 组名
public = no
writable = yes
建立共享文件夹
mkdir -p /var/samba/liu
由于只能让 liu 使用 , 所以得给该文件夹设置访问权限
chown liu.liu /var/samba/liu
chmod 700 /var/samba/liu
此时该文件夹属于 liu 用户 , 并且只能由 liu 用户访问 .
建立一资源 , 只能让 root,zhang wang 访问 .
编辑 smb.conf 文件
vi smb.conf
[zhang wang]
comment = zhang wang
path = /var/samba/liu
valid users = zhang     wang     
public = no
writable = yes
create mask = 0707           create
建立共享文件夹
mkdir -p /var/samba/zhangwang
给该文件夹设置访问权限
chmod 707 /var/samba/zhangwang
此时该文件夹只能 root,zhang,wang 访问了 .
建立一资源 , 让指定的组 group2 中的用户访问 .
编辑 smb.conf 文件
vi smb.conf
[group]
comment = group2
path = /var/samba/group2
public = yes
writable = yes
write list = @group2 //
设置读写访问用户列表( read list
建立共享文件夹
mkdir -p /var/samba/group2
给该文件夹设置访问权限
chown group2.group2 /var/samba/group2
chmod 770 /var/samba/group2
此时该文件夹只能由 group2 中的用户访问了 .
(3). 
以上为创建共享文件夹 , 下面为创建共享打印机 .
配置打印机的方面有很多 , 比如使用 redhat-config-printer 命令即可调出配置菜单 .
当然 smb.conf 中也要设置啊 :
[global]
printcap name = /etc/printcap //
配置文件路径
[printers]
writable = no
guest ok = yes //guest
可用
browseable = no //
不可浏览
ptrintable = yes
path = /var/spool/samba //
队列位置
printer admin = root //
打印机管理员
其他配置不变或按情配置
接下来再添加 print 驱动设置 :
[print$]
comment = printer drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root
接着创建 drivers 文件夹 :mkdir -p /etc/samba/drivers
最后给用户准备打印机驱动 , 并启动打印共享 :
注意:例 3 4 是补充内容,课本上没有!!!
cupsaddsmb -a -U root //-a 为共享所有打印机  -U 为以 root 身份执行
cupsaddsmb
命令
灵活的 samba 权限
read only = yes
write list = aa 这两行的作用:虽然该目录只读,但 aa 仍然能写
read only = no
read    list = aa  作用:虽然该目录都可写,但 aa 只读


本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/263894,如需转载请自行联系原作者
相关文章
|
7月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
2876 93
|
7月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
564 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
6月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
484 10
|
6月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
机器学习/深度学习 移动开发 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
618 1
RT-DETR改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤
|
10月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
482 61
|
10月前
|
安全 网络虚拟化 数据安全/隐私保护
配置小型网络WLAN基本业务示例
本文介绍了通过AC与AP直连组网实现企业分支机构移动办公的WLAN基本业务配置方案。需求包括提供名为“WiFi”的无线网络,分配192.168.1.0/24网段IP地址给工作人员,采用直连二层组网方式,AC作为DHCP服务器,并使用隧道转发业务数据。配置步骤涵盖AP与AC间CAPWAP报文传输、DHCP服务设置、AP上线及WLAN业务参数配置等,最终确保STA成功接入无线网络“WiFi”。
配置小型网络WLAN基本业务示例
|
10月前
|
监控 安全 网络安全
网络安全新姿势:多IP配置的五大好处
服务器配置多IP地址,既能提升网络速度与安全性,又能实现多站点托管和故障转移。本文详解多IP的五大妙用、配置方法及进阶技巧。从理论到实践,合理规划IP资源,让服务器性能跃升新高度。
311 2
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
478 0