主頁 > 作業系統 > linux入門系列16--檔案共享之Samba和NFS

linux入門系列16--檔案共享之Samba和NFS

2020-09-29 03:27:40 作業系統

前一篇文章“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搭建郵件系統,

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/136575.html

標籤:Linux

上一篇:centos 安裝python3導致yum報錯

下一篇:Linux常見問題1:Permission Denied

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more