前一篇文章“linux入门系列15--文件传输之vsftp服务”讲解了文件传输,本篇继续讲解文件共享相关知识。

文件共享在生活和工作中非常常见,比如同一团队中不同成员需要共同维护同一个文档,在windows环境下,通常会选用第三方协作工具,如腾讯文档,石墨文档等等。

之前讲解了基于ftp的文件传输,为何还会单独讲解文件共享呢?试想一下,假如我们要修改服务器上某个文件,如果使用ftp的话,需要先下载下来进行修改,然后在上传到服务器。这样是很繁琐的,这时候就可以使用文件共享来解决这个问题。

文件传输和文件共享有本质的区别,基于ftp协议的文件传输可以实现不同机器之间文件的传输和拷贝,会产生多个副本。而文件共享则只有一个副本,各个客户端连接到共享服务器操作的是同一份文件。

Linux环境下可以通过Samba服务或NFS服务来实现文件共享,下面分别进行介绍。

一、文件共享服务Samba

1.1 Samba概述

为了解决局域网内的文件和打印机等资源的共享问题,微软和英特尔与1987年共同制定了 SMB(Server Messages Block,服务器消息块)协议,这使得多个主机之间共享文件变得简单。

到了1991年,一个国外牛逼大学生 为了解决 Linux 系统 与 Windows 系统之间的文件共享问题,基于SMB协议开发出了SMBServer服务程序。它是一款开源的文件共享软件、只需要简单的配置就能实现文件共享。

后来作者把它注册商标为Samba,它现在已经成为Linux系统和Windows系统之间共享文件的最佳选择

1.2 Samba安装及配置文件

安装之前规划并准备实验环境

角色 操作系统 ip地址 主机名称
Samba服务器 Centos7 192.168.78.101 sambaserver
Samba客户端 Centos7 192.168.78.102 cliet
Samba客户端 Windows10 宿主机即可

Samba服务程序的名字就是软件包的名字,安装后的服务名叫smb,在sambaserver主机上,通过rpm名称查看系统是否已经安装,如果没有安装则通过Yum软件仓库进行安装。

[root@sambaserver ~]# rpm -q samba
package samba is not installed
[root@sambaserver ~]# yum install samba
Loaded plugins: fastestmirror, langpacks
...省略部分内容
Installed:
samba.x86_64 0:4.1.1-31.el7
Complete!
[root@sambaserver yum.repos.d]# ^C
[root@sambaserver yum.repos.d]# rpm -q samba
samba-4.1.1-31.el7.x86_64
[root@sambaserver yum.repos.d]#

安装完成成后,配置文件所在目录为:/etc/samba/,主配置文件为:smb.conf

[root@sambaserver yum.repos.d]# ll /etc/samba/
total 20
-rw-r--r--. 1 root root 20 Dec 3 01:48 lmhosts
-rw-r--r--. 1 root root 706 Dec 3 01:48 smb.conf
-rw-r--r--. 1 root root 11327 Dec 3 01:48 smb.conf.example
[root@sambaserver yum.repos.d]#

接下来我们看下配置文件里的主要内容,还是按“linux入门系列15--文件传输之vsftp服务”中的2.4.1提到的老规矩,将注释以及空行信息去掉,便于观察配置项。

[root@sambaserver yum.repos.d]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
[root@sambaserver yum.repos.d]# cat /etc/samba/smb.conf.bak | grep -v "#" |grep -v ";" | grep -v "^$">/etc/samba/smb.conf

以上脚本通过grep命令-v参数反向选择,去掉以#和分号开头的注释信息,用^$过滤掉空白行,过滤无用信息后通过重定向覆写到原始配置文件中。

接下来看看主配置文件的内容:

[root@sambaserver yum.repos.d]# cat /etc/samba/smb.conf
[global]
workgroup = SAMBA #工作组名称
security = user #安全验证的方式,总共有4种:share、user、server、domain
passdb backend = tdbsam #定义用户后台的类型,共有3种:smbpasswd、tdsam、ldapsam
printing = cups
printcap name = cups
load printers = yes #设置在 Samba 服务启动时是否共享打印机设备
cups options = raw #打印机的选项
[homes] #共享参数
comment = Home Directories #描述信息
valid users = %S, %D%w%S
browseable = No #指定共享信息是否在“网上邻居”中可见
read only = No
inherit acls = Yes
[printers] #打印机共享参数
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
[root@sambaserver yum.repos.d]#

我直接把注释添加到每项配置的后边,方便查看。

其中[homes]参数为来访用户的家目录共享信息,[printers]参数为共享的打 印机设备,如果不需要可以手动直接删除即可。

1.3 Samba文件共享实操

通过前文可以看到,Samba服务程序的主配置文件包括全局配置参数和区域配置参数。顾名思义,全局配置参数用于设置整体的资源共享环境,对每一个独立的共享资源都有效;而区域配置参数则用于设置单独的共享资源,且只对该资源有效。

下面我们就来配置并使用Samba服务

1.3.1 文件共享服务器配置

(1)Samba主配置文件配置

[root@sambaserver yum.repos.d]# cd /etc/samba/
[root@sambaserver samba]# vim smb.conf
...省略原有内容
[database] #共享名称设为database
comment=请勿随意修改数据库哟 #提示信息
path=/home/database #共享目录/home/database
public=no #关闭所有人可见
writeable=yes #允许写入操作

添加以上内容并保存退出。

补充一下主配置文件中全局配置global的2个参数,security和passdb backend 。

从1.2中讲到的主配置文件中可以看出,它们的默认值分别为user和tdbsam。

其中security有4种安装认证方式,分别如下:

  • share:来访主机无需验证口令,比较方便,但安全性很差

  • user:需验证来访主机提供的口令后才可以访问,提升了安全性

  • server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)

  • domain:使用域控制器进行身份验证

passdb backend有3种方式,定义用户后台的类型:

  • smbpasswd:使用 smbpasswd 命令为系统用户设置 Samba 服务程序的密码

  • tdbsam:创建数据库文件并使用 pdbedit 命令建立 Samba 服务程序的用户

  • ldapsam:基于 LDAP 服务进行账户验证

接下来我们就采用默认的user验证模式来进行设置,其他模式的搭配使用暂时不做讲解。

(2)创建访问共享资源的账号

从默认配置文件中可以看出,在RHEL7中Samba采用默认的user认证模式,可以确保仅让有密码且受信任的用户访问共享资源,需要先建立账户信息数据库,并且要求账户必须在当前系统中已经存在。

与前文讲解ftp时类似,要求用户在当前系统中已经存在,是为了避免在创建文件时引起文件权限属性混乱而引发错误。

用于管理 SMB 服务程序的账户信息数据库的命令为:pdbedit。

语法格式:

​ pdbedit [参数] 账户

参数:

参数 作用
-a 建立Samba用户
-x 删除Samba用户
-L 列出账户列表
-Lv 列出账户详细信息的列表

先创建用户samba,并设置密码为:123456

[root@sambaserver samba]# useradd -s /sbin/nologin samba
[root@sambaserver samba]# passwd samba
Changing password for user samba.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@sambaserver samba]# id samba
uid=1001(samba) gid=1001(samba) groups=1001(samba)
[root@sambaserver samba]#

使用功能pdbedit创建samba服务的用户,密码为888888(注意此处的密码不是samba系统用户登录的密码,虽然也可以设置密码给之前密码相同,但一定要分清楚这2个密码是单独的,不要弄混淆

[root@sambaserver samba]# pdbedit -a -u samba
new password: #此处输入密码,密码不一定要给samba用户登录系统的密码一致
retype new password: #重复输入密码
Unix username: samba
NT username:
Account Flags: [U ]
User SID: S-1-5-21-3641161961-465911512-1567372236-1000
Primary Group SID: S-1-5-21-3641161961-465911512-1567372236-513
Full Name:
Home Directory: \\sambaserver\samba
HomeDir Drive:
Logon Script:
Profile Path: \\sambaserver\samba\profile
Domain: SAMBASERVER
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 23:06:39 CST
Kickoff time: Wed, 06 Feb 2036 23:06:39 CST
Password last set: Wed, 22 Jan 2020 14:45:50 CST
Password can change: Wed, 22 Jan 2020 14:45:50 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@sambaserver samba]#

(3)创建共享资源的目录

在前面的第一步中我们配置了共享目录为/home/database。因此我们来创建此目录,需要考虑到文件读写权限问题。

[root@sambaserver samba]# mkdir /home/database
[root@sambaserver samba]# chown -Rf samba:samba /home/database/
[root@sambaserver samba]#

(4)SELinux上下文和策略设置

由于/home目录是系统中普通用户的家目录,因此不仅要考虑文件读写权限,还要注意SELinux安全上下文以及域策略所带来的限制(原始的主配置文件中有关于SELinux安全上下文策略的配置说明)。

设置SELinux安全上下文

[root@sambaserver samba]# semanage fcontext -a -t samba_share_t /home/database
[root@sambaserver samba]# restorecon -Rv /home/database/
restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:samba_share_t:s0
[root@sambaserver samba]#

除了设置上下文,还需要设置SELinux域相关策略,开启相关的策略即可

[root@sambaserver samba]# getsebool -a |grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_sandbox_use_samba --> off
virt_use_samba --> off
[root@sambaserver samba]# setsebool -P samba_enable_home_dirs on
[root@sambaserver samba]#

(5)防火墙设置

samba服务名称为smb,重启并设为开机启动,清空防火墙策略

[root@sambaserver samba]# systemctl restart smb
[root@sambaserver samba]# systemctl enable smb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@sambaserver samba]# iptables -F

至此,就可以用客户端使用samba服务实现文件共享了

先在共享目录准备一个文件用于客户端共享

[root@sambaserver home]# cd database/
[root@sambaserver database]# ll
total 0
[root@sambaserver database]# echo "samba server">samba.txt
[root@sambaserver home]# chown -Rf samba:samba /home/database/
[root@sambaserver database]# ll
total 4
-rw-r--r--. 1 samba samba 13 Jan 22 15:44 samba.txt

这样客户端就可以查看并编辑此共享文件了。

Samba支持Windows、Linux、macOS之间文件共享,接下来演示客户端是Linux和Windows的情况。

1.3.2 Linux客户端访问文件共享服务

在之前准备的samba客户端主机上安装客户端后,用之前的samba账号密码就可以共享文件了。

(1)安装共享客户端

[root@cliet ~]# yum install cifs-utils
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...省略部分内容
Installed:
cifs-utils.x86_64 0:6.2-10.el7
Complete!
[root@cliet ~]#

(2)创建认证文件

[root@cliet ~]# vim auth.smb
username=samba
password=888888
domain=SAMBA

保存并退出,用户密码为之前1.3.1第二步中创建的samba用户及对应的密码,domain为主配置文件中的域。

为了保证不被其他人随意看到,最后把这个认证文件的权限修改为仅root管理才能够读写。

[root@cliet ~]# ll auth.smb
-rw-r--r--. 1 root root 44 Jan 22 15:37 auth.smb
[root@cliet ~]# chmod 600 auth.smb
[root@cliet ~]# ll auth.smb
-rw-------. 1 root root 44 Jan 22 15:37 auth.smb
[root@cliet ~]#

(3)本地创建目录挂载Samba共享目录

[root@cliet ~]# mkdir /database
[root@cliet ~]# vim /etc/fstab
//192.168.78.101/database /database cifs credentials=/root/auth.smb 0 0
#保存并退出
[root@cliet ~]# mount -a

这样就可以查看并修改共享服务器内的内容

[root@cliet ~]# ll /database/
total 4
-rw-r--r--. 1 root root 13 Jan 22 15:44 samba.txt
[root@cliet ~]# cat /database/samba.txt
samba server
[root@cliet ~]#
1.3.3 Windows访问文件共享服务

本演示以win10为例

在开始菜单输入共享服务器地址

在弹出弹出登录框输入正确的账号密码

进入共享目录

进入目录后,就可以执行查看、写入、更名、删除文件等操作,在samba服务器和对应的其他客户端就可以看到文件的变化。因此就实现了文件共享。

二、网络文件系统NFS

如果你只是在Linux主机之间共享文件,那NFS将更加简单。

NFS(Network File System即网络文件系统)服务可以将远程 Linux 系统上的文件共享资源挂载到本地主机的目录上,从而使得客户端基于TCP/IP协议,像使用本地主机上的资源一样读写远程Linux系统上的共享文件。

虚拟机准备,可以单独新克隆两台虚拟机,此处我就直接用原来的2台机器,只是要注意为了避免上一实验的干扰,将之前的Samba客户端作为nfs的服务器,将Samba服务器当作nfs的客户端。规划如下:

角色 操作系统 ip地址 主机名称
NFS客户端 Centos7 192.168.78.101 sambaserver
NFS服务器 Centos7 192.168.78.102 cliet

2.1 NFS服务器配置

(1)安装NFS

RHEL7系统中默认已经安装了NFS服务,可以通过rpm命令查看,当然也可以直接执行如下安装命令,如果有新的包会自动更新,如果已是最新版本则提示Nothing to do。

[root@cliet ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.65.el7.x86_64
[root@cliet ~]# yum install nfs-utils
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package 1:nfs-utils-1.3.0-0.65.el7.x86_64 already installed and latest version
Nothing to do
[root@cliet ~]#

NFS包名为nfs-utils。

(2)在NFS服务器创建共享目录

[root@cliet ~]# mkdir /nfs
[root@cliet ~]# chmod -Rf 777 /nfs/
[root@cliet ~]# echo "nfs server">/nfs/nfs.txt
[root@cliet ~]# chmod -Rf 777 /nfs/
[root@cliet ~]# ll /nfs/
total 4
-rwxrwxrwx. 1 root root 11 Jan 22 23:11 nfs.txt
[root@cliet ~]#

创建目录,修改权限,并创建共享文件。

(3)NFS服务配置

NFS服务程序配置文件为/etc/exports,默认为空。采用如下格式定义要共享的目录和相应的权限。

格式:共享目录的路径 允许访问的 NFS 客户端(共享权限参数)

相关参数及作用如下

参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当 NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会 丢失数据

按上边的语法格式,把第一步创建的nfs目录共享给192.168.78.0/24网段内的所有主机,让这些主机都有读写权限。为了最大限度保证数据不丢失,在将数据写入到NFS服务器的硬盘中后才会结束操作,同时把来访客户端root管理员映射为本地的匿名用户,配置如下:

[root@cliet ~]# vim /etc/exports
/nfs 192.168.78.*(rw,sync,root_squash)

保存并退出,注意ip地址与权限之间没有空格。

(4)设置防火墙策略

直接清空iptables防火墙的默认策略,以免默认的防火墙策 略禁止正常的NFS共享服务。

[root@cliet ~]# iptables -F

(5)启动NFS服务程序

[root@cliet ~]# systemctl restart rpcbind
[root@cliet ~]# systemctl enable rpcbind
[root@cliet ~]# systemctl start nfs-server
[root@cliet ~]# systemctl enable nfs-server

在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的I 地址和端口号等信息发送给客户端。

因此,在启动NFS服务之前,还需要重启并启用 rpcbind 服务程序,并将这两个服务一并加入开机启动项中。

至此NFS服务器端配置完成,接下来配置NFS客户端。

2.2 NFS客户端使用

(1)查看NFS服务器

查看NFS服务器远程共享信息使用showmount命令。

语法:

showmount [参数] 服务器ip

参数:

参数 作用
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源的情况
-v 显示版本号

输出格式为:“共享的目录名称 允许使用客户端地址”

[root@sambaserver database]# showmount -e 192.168.78.102
Export list for 192.168.78.102:
/nfs 192.168.78.*
[root@sambaserver database]#

(2)创建目录并挂载

[root@sambaserver database]# mkdir /nfs
[root@sambaserver database]# mount -t nfs 192.168.78.102:/nfs /nfs
[root@sambaserver database]# ll /nfs/
total 4
-rwxrwxrwx. 1 root root 11 Jan 22 23:11 nfs.txt

使用mount命令并结合-t 参数,指定要挂载的文件系统的类型为nfs,并在命令后面写上服务器的 IP地址、服务器上的共享目录以及要挂载到本地系统的目录/nfs,这样就可以看到共享的目录文件了。

(3)挂载信息持久化

为了保证上一步骤的挂载能一直生效,需要将其写入到fstab文件中。

[root@sambaserver database]# vim /etc/fstab
...省略无关内容
192.168.78.102:/nfs /nfs nfs defaults 0 0

这样就在本地完成了服务器的文件共享。

三、自动挂载服务autofs

3.1 autofs概述

无论是之前讲解本地yum源的安装还是本文讲解的Samba和NFS服务,都需要将挂载信息接入到/etc/fstab文件中,这样才会使共享资源自动随服务器开机而进行挂载。

但是如果挂载的远程资源太多,则会给网络带宽和硬件资源带来很大的压力。如果挂载后长期不使用,会造成资源的浪费。

为了不造成浪费,可以在每次需要使用才才去手动挂载,但是这样操作又非常繁琐。为了解决这个问题,autofs自动挂载服务应运而生。

与mount命令不同,autofs服务程序是一 种Linux系统守护进程,当检测到用户视图访问一个尚未挂载的文件系统时,将自动挂载该文件系统。

简单说就是,将挂载信息写入/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs 服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。

3.2 autofs安装及配置文件

3.2.1 autofs安装
[root@sambaserver database]# yum install autofs
Loaded plugins: fastestmirror, langpacks
...省略部分内容
Installed:
autofs.x86_64 1:5.0.7-106.el7
Dependency Installed:
hesiod.x86_64 0:3.2.1-3.el7
Complete!
[root@sambaserver database]#
3.2.2 配置文件解释

autofs服务程序主配置文件为:/etc/auto.master,我们一般采用主配置和子配置的方式进行配置。原因是生产环境中,可能会同时管理很多设备的挂载操作,如果把所有挂载信息都写入主配置文件,一旦内容多了将难以管理,且不利于服务执行效率。

主配置文件中采用“挂载目录 子配置文件”的格式填写,挂载目录是设备挂载位置的上一级目录。例如,光盘设备一般挂载到/media/cdrom目录中,那么主配置文件中的挂载目录就写成/media即可。

子配置文件需要用户自定义,文件名称没有严格要求,后缀建议以.misc结束。格式为:“挂载目录 挂载文件类型及权限 :设备名称”。

下边就以自动挂载光驱为例,进行演示autofs的用法

3.3 以光驱为例演示sutofs使用

3.3.1 autofs配置

主配置文件

[root@sambaserver database]# vim /etc/auto.master
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/media /etc/iso.misc
/misc /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
# "nosuid" and "nodev" options unless the "suid" and "dev"
# options are explicitly given.
#
/net -hosts
#
# Include /etc/auto.master.d/*.autofs
# The included files must conform to the format of this file.
#
+dir:/etc/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master
[root@sambaserver database]#

添加/media /etc/iso.misc保存并退出,其他内容不变。

子配置文件

[root@sambaserver database]# vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

保存并退出。

说明:把光盘设备挂载到/media/iso 目录中,子配置文件可将挂载目录写为 iso,而-fstype 为文件系统格式参数,iso9660 为光盘设备格式,ro、nosuid 及 nodev 为光盘设备具体的权限参数,/dev/cdrom 则是定义要挂载的设备名称。

3.3.2 启动autofs服务

配置完成后,启动autofs服务并加入开机启动

[root@sambaserver database]# systemctl start autofs
[root@sambaserver database]# systemctl enable autofs
Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.
[root@sambaserver database]#
3.3.3 使用autofs服务

经过以上操作我们配置并开启了autofs服务,我们先来看下是否已经给我们挂载好了光盘设备

[root@sambaserver database]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 4.3G 14G 25% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 76K 914M 1% /dev/shm
tmpfs 914M 29M 886M 4% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 377M 25% /boot
192.168.78.102:/nfs 18G 4.6G 13G 26% /nfs
[root@sambaserver media]# ls /media/
[root@sambaserver media]#

可以看到光标设备没有挂载上,并且/media 目录中根本就没有 iso 子目录

接下来,我们直接进入到挂载的/media/iso目录,看看是否有内容

[root@sambaserver media]# cd /media/
[root@sambaserver media]# ll
total 0
[root@sambaserver media]# cd iso
[root@sambaserver iso]# ls
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
[root@sambaserver iso]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 4.3G 14G 25% /
devtmpfs 905M 0 905M 0% /dev
tmpfs 914M 76K 914M 1% /dev/shm
tmpfs 914M 29M 886M 4% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 377M 25% /boot
192.168.78.102:/nfs 18G 4.6G 13G 26% /nfs
/dev/sr0 3.9G 3.9G 0 100% /media/iso
[root@sambaserver iso]#

以上演示说明,当切换到iso目录时,也就是说只有使用挂载资源时,autofs才自动进行挂载。当系统重启后可以看到它没有挂载上去,而再次切换到/media/iso目录时,又会自动挂载。通过这种方式实现了按需分配,从而节约带宽等资源。

在讲解完文件共享之后,下一篇文章将分享使用Postfix和Dovecot搭建邮件系统。

linux入门系列16--文件共享之Samba和NFS的更多相关文章

  1. linux入门系列17--邮件系统之Postfix和Dovecot

    前文演示了通过Samba和NFS实现文件共享,本篇演示使用Postfix和Dovecot在局域网实现电子邮件收发系统. 电子邮件系统是我们日常生活和工作中非常重要的一个网络服务,在windows下收发 ...

  2. linux入门系列18--Web服务之Apache服务1

    前面系列文章讲解了Linux下通过文件传输.文件共享.邮件系统来分享和获取资源,本文讲解网络资源获取和共享的另外一种形式,通过Apache服务程序来提供Web服务. 本文先讲解目前主流的Web服务程序 ...

  3. linux入门系列8--shell编程

    本文将结合前面介绍的Linux命令.管道符等知识,通过VI编辑器编写Shell脚本,实现能自动化工作的脚本文件. 在讲解Linux常用命令"linux入门系列5--新手必会的linux命令& ...

  4. linux入门系列12--磁盘管理之分区、格式化与挂载

    前面系列文章讲解了VI编辑器.常用命令.防火墙及网络服务管理,本篇将讲解磁盘管理相关知识. 本文将会介绍大量的Linux命令,其中有一部分在"linux入门系列5--新手必会的linux命令 ...

  5. linux入门系列13--磁盘管理之RAID、LVM技术

    前一篇文章学习了磁盘分区.格式化.挂载等相关知识,本文将讲解RAID和LVM技术. 磁盘管理操作主要是运维人员用的较多,如果只是单纯的开发人员,可以先略过本文.但是在很多小公司里往往都是一人多用,运维 ...

  6. linux入门系列14--ssh服务及主机远程管理

    通过前面十余篇文章的介绍,相信已经初步入门Linux本地管理的基本方法了,后续的文章将介绍Linux中常用的服务部署以及如何为外部提供相应的服务. 系列文章第三篇"linux入门系列3--l ...

  7. linux入门系列20--Web服务之LNMP架构实战

    作为本入门系列最后一篇文章,将演示如何在CentOS7环境下搭建LNMP环境来构建个人博客网站. 常见搭建网站的方式有LAMP.LNMP.IIS.Nginx.Tomcat等等,本文演示比较流行的基于L ...

  8. linux入门系列2--CentOs图形界面操作及目录结构

    上一篇文章"linux入门系列1--环境准备及linux安装"直观演示了虚拟机软件VMware和Centos操作系统的安装,按照文章一步一步操作,一定都可以安装成功.装好系统之后, ...

  9. linux入门系列4--vi/vim编辑器

    上一篇文章"linux入门系列3--linux远程登陆工具"讲解了如何使用常用的工具远程连接和管理linux服务器,要管理服务器必然会涉及到脚本文件的创建.编辑工作,因此在介绍命令 ...

随机推荐

  1. mpu6050的驱动的加载和测试步骤

    mpu6050的使用方法: 1.接线方式: VCC,GND,SCL,SDA,正常接法,VCC接3.3v,主要说一下AD0引脚,用来表示地址 接低电平设备地址为0x68,接高电平表示0x69 2.设备接 ...

  2. Scapy-ARPspoof学习

    layout title tag date post Scapy模块学习之ARP欺骗 Python 2018-05-08 from scapy.all import Ether,ARP,sendp,g ...

  3. python_4

    1.迭代器:通过iter()方法获得了list的迭代对象,然后就可以通过next()方法来访问list中的元素了,当容器中没有可访问元素时,会抛出StopIteration异常终止迭代器 data = ...

  4. WOW.js——在页面滚动时展现动感的元素动画效果

    插件描述:WOW.js 是一款可以实现滚动页面时触发CSS 动画效果的插件,动态效果可以使网站显示更有动感. 当页面在向下滚动的时候,使用WOW.js可以让页面元素产生细小的动画效果,从而引起浏览者注 ...

  5. linux下常用命令查看端口占用

    在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询netstat命令各个参数说明如下: -t : 指明显示TCP端口 ...

  6. [LC] 557. Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  7. 3)ARP到底属于网络层还是链路层

     说白了  就是有些协议起到了承上启下的作用  比较模糊   很难给出一个精确的定位

  8. 84)PHP,SQL注入基础讲解

     怎么预防: 填写防止SQL注入的代码:

  9. [Python] 使用Python 3 下载麦子学院视频

    本文基于Python 3,下载麦子学院的视频课程. 本项目只是针对某个具体课程的链接,去寻找该课程所有课时的视频链接并进行下载. 整个项目是非常简单的. 主要涉及的Python: 网络相关:reque ...

  10. Spring+Mybais整合

    简单的来说,Spring主要用于在业务层(当然spring也有数据库交互的模块,个人觉得spring在这方面有一点不如mybatis),而mybatis主要用于数据持久化,在一个完整的项目中无论是业务 ...