Linux操作系统实验十 Linux网络及服务配置(四)

简介: Linux操作系统实验十 Linux网络及服务配置(四)

案例演示3:

显示远程主机的当前目录,并且显示客户端当前工作目录,显示远程主机的当前目录下的所有文件信息,显示客户端当前工作目录下的所有信息,可以使用如下命令:

  1. pwd
  2. ! pwd
  3. ls
  4. ! ls

[请在右侧“命令行”里直接体验]

案例演示4:

在远程主机上新创建一个文件夹newDir,然后将本地的/home/fzm/testFile上传到newDir目录下,将远程主机上的sambaUser/fzm文件下载到/home/fzm目录下,并重命名为newFzm,最后退出smbclient客户端,可以使用如下命令:

  1. mkdir newDir
  2. put /home/fzm/testFile newDir/testFile
  3. get sambaUser/fzm /home/fzm/newFzm
  4. exit

[请在右侧“命令行”里直接体验]

案例演示5:

Windows系统上通过samba服务器去访问Linux系统共享的文件夹,可以使用如下步骤:

  • Windows主机上打开"运行"(快捷键win+r)输入需要访问的LinuxIP地址(格式为:\\IP);

[请在`Windows`主机上进行验证]

  • 回车后即可看到Linux主机上所共享的文件夹(fzm);

[请在`Windows`主机上进行验证]

  • 打开fzm文件夹进行访问即可(有时需要输入samba的用户名和密码才能访问)。

[请在`Windows`主机上进行验证]

编程要求

本关任务是学会如何使用smbclient命令访问samba服务器的共享资源。

注意:在执行本关任务前,首先执行如下命令来初始化任务环境。

  1. apt-get update
  2. apt-get install smbclient
  3. useradd testUser
  4. smbpasswd -a testUser(输入新设置的密码)
  5. touch testFile
  6. 向文件`/etc/samba/smb.conf`结尾追加如下内容,并且重新启动`Samba`服务器,并且重新启动服务
  7. [homes]
  8.        comment = smbclient homes
  9.        path = /tmp
  10.        browseable = no
  11.        writable = yes
  12.        create mask = 0664
  13.        directory mask = 0775

具体编程要求如下:

  • 启动samba服务;
  • 使用smbclient命令连接本机testUser共享文件夹(将本机作为远程服务器,并且使用testUser用户去访问);
  • 在远程服务器上新建一个目录Dir
  • 将本地的一个文件(/root/testFile)上传到远程主机的Dir目录下并重命名为upLoadFile

任务描述

通过以上关卡的学习,我们学会了使用smbclient命令来登录远程主机,并进行文件的上传和下载操作。接下来我们来学习如何配置samba服务器。

本关任务:学会samba服务器的常见配置。

相关知识

上一关卡中,我们在案例演示前进行了一系列环境的初始化,现在我们详细的介绍为什么我们要做那些环境的配置。

samba服务器提供了很多的配置项,每个配置项都有不同的功能,接下来,我们介绍samba常见的配置项功能,samba服务器的配置文件存放路径为:/etc/samba/smb.conf目录下。

smb.conf结构

smb.conf文件中包括4种结构,[Global]、[Homes]、[printers]、[Userdefined_shareName],其中:

  1. Globa:用于定义全局参数和缺省值;
  2. Homes:用于用户的home目录共享;
  3. Printers:用于定义打印机共享;
  4. Userdefined_ShareName:用于自定义共享(可有多个)。
全局配置参数[Global]

全局配置参数常用的主要有以下几个:

  1. Workgroup:设置 samba 要加入的工作组;
  2. server string:指定浏览列表里的机器描述;
  3. netbios name:设 置samba 的 NetBIOS 名字(需要自己添加);
  4. Intterface:设置接口 IP 地址;
  5. Host allow:设置允许访问的主机 IP;
  6. log file:指定日志文件的名称;
  7. Max  log size:指定日志文件的最大尺寸(KB);
  8. security:是定义 samba 的安装等级。

案例演示1:

修改浏览列表里的机器描述为This is My Samba Server,具体使用如下步骤:

  1. 修改 smb.conf 文件中的 server string 值(sudo vim /etc/samba/smb.conf)
  2. sudo service smbd restart
  3. smbclient -L 127.0.0.1 -U sambaUser%fzm

[修改配置文件]

[请在右侧“命令行”里直接体验]

配置home共享[homes]

home共享默认将用户的宿主目录进行了共享,这是十分危险的。为了安全考虑,我们需要自己指定共享的目录,使用home共享的好处是不同的登录用户看到的共享目录名称是本身用户名。

常见的设置共享目录的属性有如下几个:

  1. comment :描述该共享的名称;
  2. path:定义该共享的目录;
  3. browseable :指定共享的目录是否可浏览;
  4. Writable:指定共享的目录是否有写入权限;
  5. read only:指定共享的目录为只读权限;
  6. Public:指定是否可以允许 Guest 帐户访问;
  7. Guest  ok:通 public 相同,yes 为允许 guest 访问;
  8. create mask:创建文件的默认权限;
  9. directory mask:创建目录的默认权限。

我们现在讲解为什么我们在上一关中要向配置文件添加如下属性:

[上一关配置文件]

可以看到我们将home的共享目录指定为/tmp,并且设置可以有写权限,以及创建文件和目录的默认权限。

案例演示1:

home设置为可浏览,具体使用如下步骤:

  1. 修改 smb.conf 文件中的 server string 值(sudo vim /etc/samba/smb.conf)
  2. sudo service smbd restart
  3. smbclient -L 127.0.0.1 -U sambaUser%fzm

[请在右侧“命令行”里直接体验]

可以看到现在本机共享文件夹又多了一个homes的文件夹。

自定义共享

自定义共享文件夹可以设置多个,设置方式与home的设置方式相似,并且共享文件夹的名字随便起。

案例演示1:

自定义一个共享文件夹,将共享名字设置为MyShare,指定共享目录为/tmp,并且设置其可写属性以及创建文件和目录的默认权限分别是06440755,具体使用如下步骤:

  1. 修改 smb.conf 文件中的 server string 值(sudo vim /etc/samba/smb.conf)
  2. sudo service smbd restart
  3. smbclient -L 127.0.0.1 -U sambaUser%fzm

[追加配置文件]

[请在右侧“命令行”里直接体验]

可以看到新创建的共享文件夹MyShare成功的显示出来,如果登录的只需要输入:smbclient //127.0.0.1/MyShare -U userName%passwd

编程要求

本关任务是学会如何配置samba服务器。

注意:在执行本关任务前,首先执行如下命令来初始化任务环境。

  1. mkdir /testDir
  2. chmod 777 /testDir
  3. useradd testUser
  4. smbpasswd -a testUser(输入新设置的密码)
  5. touch testFile

具体编程要求如下:

  • 自定义一个共享文件夹,将共享名字设置为TestShare,指定共享目录为/testDir,同时设置其可浏览,并且设置其可写属性以及创建文件和目录的默认权限分别是06440755
  • 使用smbclient命令连接本机TestShare共享文件夹(将本机作为远程服务器,并且使用testUser用户去访问);
  • 在远程服务器上新建一个目录Dir;
  • 将本地的一个文件(/root/testFile)上传到远程主机的Dir目录下并重命名为upLoadFile

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
16天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
41 1
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
17天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
18天前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
15天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
16天前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
7月前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
62 2
|
安全 Ubuntu 网络协议
Linux中的服务管理
Linux系统可以同时运行数百个任务。其中大多数都属于操作系统环境的组成部分,不过可能也会有那么一两个你不需要的**守护进程**。有3种可用于启动守护进程和服务的工具,Linux发行版支持其中任意一种。传统的SysV系统使用/etc/init.d中的脚本。较新的systemd守护进程除了使用/etc/init.d之外,还用到了systemctl调用。还有些发行版使用的是upstart,配置脚本保存在/etc/init中。systemd如今已经取代了SysVinit系统。upstart是由Ubuntu开发并采用的,但是在14.04版中,已经改成了systemd。
156 3
|
Ubuntu 关系型数据库 MySQL
【Linux进阶篇】启动流程和服务管理
【Linux进阶篇】启动流程和服务管理
219 0
|
Linux 网络安全
Linux服务管理
1.service service命令,顾名思义,就是用于管理Linux操作系统中服务的命令。 这个命令不是在所有的linux发行版本中都有。主要是在redhat、fedora、mandriva和centos中。 查看所有服务当前的运行状态:
486 0
Linux服务管理
下一篇
DataWorks