自学内容网 自学内容网

任务1 Samba服务配置与管理

Samba服务概述

Samba 的由来

早期共享文件使用FTP 服务,不能直接修改服务器上的文件

FTP要求先把文件下载到本机,修改后再提交到服务器

解决方案:

         Windows:通用网络文件系统(Common Internet File System,CIFS)

        UNIX:网络文件系统(Network FileSystem,NFS)

Samba 工作原理

Samba 基于 NetBIOS 协议,在小型局域网内部进行网络通信

根据 NetBIOS 协议,主机必须有一个唯一的名字,即 NetBIOS Name

NetBIOS 协议的通过包括两个步骤

        加入到相同的群组并登录对方主机

        根据拥有的权限访问共享资源

Samba 使用两个守护进程实现主机的通信

        nmbd:负责名称解析及文件浏览,工作在 137,138/UDP 端口

        smbd:提供文件和打印机共享及用户验证服务,工作在 139,445/TCP 端口

Samba 联机模式-对等模式

各台主机之间没有主从关系,彼此独立

每台主机都独立地管理自己的账号和密码

在主机A上输入主机B的账号和密码,并交由主机B进行账户验证

Samba 联机模式-主控模式

所有主机的账号和密码都保存在主域控制器(Primary Domain Controller,PDC)上

主域控制器进行用户验证,并根据验证结果给予用户适当的访问权限

所有的验证操作都交给主域控制器

Samba 服务器的搭建步骤

安装 Samba 软件

配置 Samba 服务端

创建共享目录

添加 Samba 用户

启动 Samba 服务

在 Samba 客户端访问共享资源

Samba 安装与启停

软件名称:samba

后台守护进程:smb

安装之前确保yum源配置正确,参考国内常见 Yum 源配置及一键修改脚本教程_yum配置国内源-CSDN博客

yum  install  samba  -y        // 一键安装Samba

rpm  -qa  | grep  samba        // 安装后再次查看

systemctl  start | stop | restart | status | enable  smb        //启停Samba服务

Samba服务端配置

Samba 主配置文件-smb.conf

位于 /etc/samba 目录

参数配置的基本格式是“参数名=参数值”

以“#”开头的行表示注释

以“;”开头的行表示 Samba 参数,可忽略

[global]
        workgroup = SAMBA
        security = user
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S

Samba 主配置文件-全局参数

全局参数的配置对整个 Samba 服务器有效

“[global]”之后的部分表示全局参数

Samba 主配置文件-共享参数

共享参数用来设置共享域的属性

共享域的格式是“[共享名]”,表示共享资源对外显示的名称

[docs]
        comment = Public Resource
        path = /ito/pub
        browseable = yes
        writable = n
        admin users = ss
        valid users = @ito

 

Samba 主配置文件-参数变量

 参数变量就是“占位符”,会被实际的参数值取代

[homes]
        comment = Home Directory
        browseable = no
        writable = yes
        valid users = %S

 

添加Samba用户

 Samba 用户必须对应一个同名的 Linux 系统用户

先创建Linux用户,然后使用smbpasswd命令添加Samba用户

smbpasswd  [-axden]  [用户名]

[root@centos7 ~]# useradd  smbuser
[root@centos7 ~]# passwd  smbuser
新的 密码:            
重新输入新的 密码:    
passwd:所有的身份验证令牌已经成功更新。
[root@centos7 ~]# smbpasswd  -a  smbuser
New SMB password:
Retype new SMB password:
Added user smbuser.

Samba客户端验证

Linux 客户端验证-smbclient

安装samba客户端 

yum install samba-client -y

创建三个文件用于测试

touch file1 file2 file3

 执行smbclient命令登录samba服务端,语法:

smblient [服务名] [选项]

 服务名就是要访问的共享资源,格式为“//server/service”,server是samba服务器的IP地址或者NetBOIS Name,service是共享名。

例如:

[zys@smbcli ~]$ smbclient  //192.168.100.100/docs  -U  zsuser
Enter SAMBA\zsuser's password: <== 输入zsuser的Samba密码
smb: \> put  file1<== 上传测试文件
smb: \> ls<== 查看服务器中文件
  file1        A        0  Sun Dec  4 19:41:55 2022
smb: \> quit<== 退出交互环境

Windows 客户端验证-方式一

【2024最新】VMware虚拟机安装win10系统教程超详细附带安装包资料免费_哔哩哔哩_bilibili

依次选择【开始】→【附件】→【运行】选项,弹出【运行】对话框,在【打开】文本框中输入Samba服务器的访问路径

Windows 客户端验证-方式二

右击桌面上的【计算机】图标,在弹出的快捷菜单中选择【映射网络驱动器】选项 或者双击【计算机】图标,选择【工具】→【映射网络驱动器】选项。弹出【映射网络驱动器】对话框,输入Samba服务器共享资源的路径

 

任务实施 ---- 搭建Samba 服务器

任务要求

1、将samba服务器主机名设为appsrv,IP地址为192.168.100.100.

2、在samba服务器中创建Samba共享目录,本地目录为/data/share,共享名为docs;

      仅允许IP地址为192.168.100.110的主机访问该目录;

      仅允许用户zsuser上传文件,其他用户只有读权限。

3、在samba服务器中创建Samba共享目录,本地目录为/data/public,共享名为pubdoc;

      允许匿名访问该目录;

      所有用户都能上传文件。

4、分别在Linux客户端和Windows客户端上访问并验证samba服务。

      Linux客户端的主机名为smbcli,IP地址为192.168.100.110;

      Windows客户端的IP地址为192.168.100.120.

安装 Samba 软件

设置IP地址

先要更改子网地址为192.168.100.0,点击vmware station的编辑菜单,弹出如下对话框:

再设置虚拟机的ip地址。

修改服务器的主机名

修改完成后,需要重新登录root,命令如下:

hostnamectl set-hostname appsrv
exit
su - root

 新建zsuser系统用户同时升级某个本地用户为samba用户

useradd zsuser
passwd zsuser
smbpasswd -a zsuser
smbpasswd -a 本地用户名

创建本地共享目录并设置其权限

mkdir -p /data/share /data/public
chown zsuser:zsuser /data/share
chmod 777 /data/public
ls -l /data

添加共享域并设置相应参数

vim /etc/samba/smb.cnf

添加如下配置 

[docs]
        path = /data/share
        writable = yes
        hosts allow = 192.168.100.110
        hosts deny = all
[pubdoc]
        path = /data/public
        writable = yes
        guest ok = yes

重启 Samba 服务

systemctl restart smb

关闭防火墙

systemctl stop firewalld

调整SELinux安全策略

setenforce 0
getenforce

linux客户端验证

设置IP

修改主机名

hostnamectl set-hostname smbcli
exit
su - root

安装smbclient工具

yum install samba-client -y

新建测试文件 

touch file1 file2 file3

使用zsuser登录服务器

smbclient  //192.168.100.100/docs  -U  zsuser

使用zsuser访问docs共享目录

put file1

使用本地用户访问docs共享目录

quit //         zsuser用户退出连接docs
smbclient  //192.168.100.100/docs  -U  本地用户名
put file2

使用本地用户访问pubdoc共享目录 

quit //         本地用户退出连接docs
smbclient  //192.168.100.100/pubdoc  -U  本地用户名
put file2

使用匿名用户访问pubdoc共享目录

quit //         本地用户退出连接pubdoc
smbclient  //192.168.100.100/pubdoc  -U
put file3

windows客户端验证


原文地址:https://blog.csdn.net/daqi1983/article/details/143734832

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!