中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

鄭州鄭州網(wǎng)站建設(shè)河南做網(wǎng)站公司哪家好seo建站還有市場(chǎng)嗎

鄭州鄭州網(wǎng)站建設(shè)河南做網(wǎng)站公司哪家好,seo建站還有市場(chǎng)嗎,wordpress 獲取當(dāng)前自定義分類,用asp做的網(wǎng)站如何運(yùn)行Linux 網(wǎng)絡(luò)文件共享介紹 一.常見的存儲(chǔ)類型 目前常見的存儲(chǔ)類型有 DAS,NAS,SAN 等,最主要的區(qū)別是硬盤存儲(chǔ)媒介是如何 于處理器連接的,以及處理器使用何種方式來(lái)訪問(wèn)磁盤,以及訪問(wèn)磁盤使用 的協(xié)議(網(wǎng)絡(luò)協(xié)議、I/O 協(xié)議)。 三種存儲(chǔ)類型如下 直…
Linux 網(wǎng)絡(luò)文件共享介紹

一.常見的存儲(chǔ)類型

目前常見的存儲(chǔ)類型有 DAS,NAS,SAN 等,最主要的區(qū)別是硬盤存儲(chǔ)媒介是如何
于處理器連接的,以及處理器使用何種方式來(lái)訪問(wèn)磁盤,以及訪問(wèn)磁盤使用
的協(xié)議(網(wǎng)絡(luò)協(xié)議、I/O 協(xié)議)。

三種存儲(chǔ)類型如下
直連式存儲(chǔ):Direct-Attached Storage,簡(jiǎn)稱 DAS
網(wǎng)絡(luò)附加存儲(chǔ):Network-Attached Storage,簡(jiǎn)稱 NAS
存儲(chǔ)區(qū)域網(wǎng)絡(luò):Storage Area Network,簡(jiǎn)稱 SAN

1.1 DAS 類型的存儲(chǔ)

  • DAS 存儲(chǔ)是最常見的一種存儲(chǔ)方式,尤其是在中小企業(yè)應(yīng)用中。PC 中的硬盤或只
    有一個(gè)外部 SCSI 接口的 JBOD 都屬于 DAS 架構(gòu)。DAS 是指存儲(chǔ)設(shè)備直接連接到
    服務(wù)器總線上,存儲(chǔ)設(shè)備只與一臺(tái)獨(dú)立的主機(jī)連接,其他主機(jī)不能使用這個(gè)存儲(chǔ)
    設(shè)備。DAS 存儲(chǔ)設(shè)備與服務(wù)器主機(jī)之間的連接通道通常采用 SCSI 連接,DAS 存儲(chǔ)
    設(shè)備主要是磁盤陣列(RAID: Redundant Arrays of Independent Disks)、磁盤簇
    (JBOD:Just a Bunch Of Disks)等。

1.2 NAS 類型的存儲(chǔ)

  • NAS 存儲(chǔ)就是存儲(chǔ)設(shè)備通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(比如以太網(wǎng))添加到一群計(jì)算
    機(jī)上。與 DAS 以及 SAN 不同,NAS 是文件級(jí)的存儲(chǔ)方法。采用 NAS 較多的
    功能是用來(lái)進(jìn)行文件共享。
  • NAS 存儲(chǔ)也通常被稱為附加存儲(chǔ),顧名思義,就是存儲(chǔ)設(shè)備通過(guò)標(biāo)準(zhǔn)的網(wǎng)絡(luò)拓
    撲結(jié)構(gòu)(例如以太網(wǎng))添加到一群計(jì)算機(jī)上。NAS 是文件級(jí)的存儲(chǔ)方法,它的重
    點(diǎn)在于幫助工作組和部門級(jí)機(jī)構(gòu)解決迅速增加存儲(chǔ)容量的需求。如今更多的人
    們采用 NAS 較多的功能是用來(lái)文檔共享、圖片共享、電影共享等等,而且隨著
    云計(jì)算的發(fā)展,一些 NAS 廠商也推出了云存儲(chǔ)功能,大大方便了企業(yè)和人們等
    個(gè)人用戶的使用。
  • NAS 產(chǎn)品是真正即插即用的產(chǎn)品。NAS 設(shè)備一般支持多計(jì)算機(jī)平臺(tái),用戶通過(guò)
    網(wǎng)絡(luò)支持協(xié)議可進(jìn)入相同的文檔,因而 NAS 設(shè)備無(wú)需改造即可用于混合
    Unix/Windows NT 局域網(wǎng)內(nèi),同時(shí) NAS 的應(yīng)用非常靈活。但 NAS 有一個(gè)關(guān)
    鍵性問(wèn)題,即備份過(guò)程中的帶寬消耗。與將備份數(shù)據(jù)流從 LAN 中轉(zhuǎn)移出去的
    存儲(chǔ)區(qū)域網(wǎng)(SAN)不同,NAS 仍使用網(wǎng)絡(luò)進(jìn)行備份和恢復(fù)。NAS 的一個(gè)缺點(diǎn)
    是它將存儲(chǔ)事務(wù)由并行 SCSI 連接轉(zhuǎn)移到了網(wǎng)絡(luò)上。這就是說(shuō) LAN 除了必須
    處理正常的最終用戶傳輸流外,還必須處理包括備份操作的存儲(chǔ)磁盤請(qǐng)求。

1.3 SAN 類型的存儲(chǔ)

  • 存儲(chǔ)區(qū)域網(wǎng)絡(luò),這個(gè)是通過(guò)光纖通道或以太網(wǎng)交換機(jī)連接存儲(chǔ)陣列和服務(wù)器主機(jī),
    最后成為一個(gè)專用的存儲(chǔ)網(wǎng)絡(luò)。SAN 經(jīng)過(guò)十多年歷史的發(fā)展,已經(jīng)相當(dāng)成熟,成
    為業(yè)界的事實(shí)標(biāo)準(zhǔn)(但各個(gè)廠商的光纖交換技術(shù)不完全相同,其服務(wù)器和 SAN
    存儲(chǔ)有兼容性的要求)。

  • SAN 提供了一種與現(xiàn)有 LAN 連接的簡(jiǎn)易方法,并且通過(guò)同一物理通道支持廣
    泛使用的 SCSI 和 IP 協(xié)議。SAN 不受現(xiàn)今主流的、基于 SCSI 存儲(chǔ)結(jié)構(gòu)的
    布局限制。特別重要的是,隨著存儲(chǔ)容量的爆炸性增長(zhǎng),SAN 允許企業(yè)獨(dú)立地增
    加它們的存儲(chǔ)容量。SAN 的結(jié)構(gòu)允許任何服務(wù)器連接到任何存儲(chǔ)陣列,這樣不管
    數(shù)據(jù)置放在那里,服務(wù)器都可直接存取所需的數(shù)據(jù)。因?yàn)椴捎昧斯饫w接口,SAN
    還具有更高的帶寬。

  • 如今的 SAN 解決方案通常會(huì)采取以下兩種形式:光纖信道以及 iSCSI 或者基于
    IP 的 SAN,也就是 FC SAN 和 IP SAN。光纖信道是 SAN 解決方案中大家最熟
    悉的類型,但是,最近一段時(shí)間以來(lái),基于 iSCSI 的 SAN 解決方案開始大量出
    現(xiàn)在市場(chǎng)上,與光纖通道技術(shù)相比較而言,這種技術(shù)具有良好的性能,而且價(jià)格低
    廉。

SAN 的優(yōu)勢(shì):
隨著存儲(chǔ)容量的增長(zhǎng),SAN 允許企業(yè)獨(dú)立地增加他們的存儲(chǔ)容量。SAN 允許任
何服務(wù)器連接到任何存儲(chǔ)陣列(好處是:不管數(shù)據(jù)放在哪里,服務(wù)器都可以直接
存取所需的數(shù)據(jù))
由于使用光纖接口,SAN 具有更高的帶寬。除了 FC 連接,SAN 連接還有
ISCSI(SCSI over IP)以及 SAS(Serial Attached SCSI)接口。
光纖接口可以提供 10 公里那么長(zhǎng)那么遠(yuǎn)的連接長(zhǎng)度,非常容易實(shí)現(xiàn)物理分離的存儲(chǔ)

1.4 三種存儲(chǔ)類型的比較

  • 技術(shù)上
處理器----存儲(chǔ) 連接類型有無(wú)網(wǎng)絡(luò)媒介I/O 協(xié)議帶寬是否容量共享是否數(shù)據(jù)共享
DASNO使用并行 SCSI,光纖通道SCSI40MBps-160MBps,取決于媒介手動(dòng)配置,默認(rèn)不共享NO
SNAYES最常用光纖網(wǎng)絡(luò),后來(lái)也可基于以太網(wǎng)SCSI100MBps or 200MBpsYES數(shù)據(jù)共享需要特定軟件配合,如 SANergy
NASYES以太網(wǎng)NFS,CIFS10Mbps–1GbpsYESYES
  • 優(yōu)缺點(diǎn)和使用場(chǎng)景
三種存儲(chǔ)架構(gòu)的應(yīng)用場(chǎng)景
DAS 雖然比較古老了,但是還是很適用于那些數(shù)據(jù)量不大,對(duì)磁盤訪問(wèn)速度要求
較高的中小企業(yè)
NAS 多適用于文件服務(wù)器,用來(lái)存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),雖然受限于以太網(wǎng)的速度,
但是部署靈活,成本低
SAN 則適用于大型應(yīng)用或數(shù)據(jù)庫(kù)系統(tǒng),缺點(diǎn)是成本高、較為復(fù)雜

二.文件傳輸協(xié)議 FTP

2.1 FTP 工作原理

File Transfer Protocol(FTP):文件傳輸協(xié)議,是用于在計(jì)算機(jī)網(wǎng)絡(luò)上的客戶機(jī)和服務(wù)器
之間傳輸文件的標(biāo)準(zhǔn)應(yīng)用層協(xié)議。FTP 是基于客戶端/服務(wù)器模型(C/S),并且使用不同的連
接來(lái)工作,將控制和數(shù)據(jù)傳輸分開,控制通道使用 TCP/21 端口,數(shù)據(jù)通道端口視情況而定。

FTP 用戶可以使用明文登錄協(xié)議進(jìn)行身份驗(yàn)證,通常是用戶名和密碼的形式,但如果服務(wù)器配
置允許,則可以匿名連接(此時(shí)連接的用戶名為 ftp 或者 anonymous)。對(duì)于保護(hù)用戶名和密
碼并對(duì)內(nèi)容進(jìn)行加密的安全傳輸,FTP 通常使用 SSL/TLS (FTPS)或 SSH 文件傳輸協(xié)議
(SFTP)進(jìn)行保護(hù)。

第一個(gè) FTP 客戶端應(yīng)用程序是在操作系統(tǒng)具有圖形用戶界面之前開發(fā)的命令行程序,并且到
目前仍然隨大多數(shù) Windows、Unix 和 Linux 操作系統(tǒng)一起提供。此后,許多 FTP 客戶端
和自動(dòng)化實(shí)用程序被開發(fā)用于桌面、服務(wù)器和移動(dòng)設(shè)備。

FTP 工作時(shí)使用兩種模式:從服務(wù)器角度來(lái)說(shuō)
主動(dòng)模式(PORT style): 服務(wù)器主動(dòng)連接客戶端
控制通道:客戶端:隨機(jī) port —> 服務(wù)器:21/tcp
數(shù)據(jù)通道:客戶端:隨機(jī) port <—服務(wù)器:20/tcp
被動(dòng)模式(PASV style): 客戶端主動(dòng)連接服務(wù)器
控制通道:客戶端:隨機(jī) port —> 服務(wù)器:21/tcp
數(shù)據(jù)通道:客戶端:隨機(jī) port —> 服務(wù)器:隨機(jī) port /tcp

例如:服務(wù)器被動(dòng)模式數(shù)據(jù)端口
227 Entering Passive Mode (172,16,0,1,224,59)客服端主動(dòng)連接服務(wù)器
可以在客戶端看到該消息,服務(wù)器數(shù)據(jù)端口計(jì)算:224*256+59

FTP 服務(wù)狀態(tài)碼
1XX:信息 125:數(shù)據(jù)連接打開
2XX:成功類狀態(tài) 200:命令 OK 230:登錄成功
3XX:補(bǔ)充類 331:用戶名 OK
4XX:客戶端錯(cuò)誤 425:不能打開數(shù)據(jù)連接
5XX:服務(wù)器錯(cuò)誤 530:不能登錄
用戶認(rèn)證:
匿名用戶:ftp,anonymous,對(duì)應(yīng) Linux 用戶 ftp
系統(tǒng)用戶:Linux 用戶,用戶/etc/passwd,密碼/etc/shadow
虛擬用戶:特定服務(wù)的專用用戶,獨(dú)立的用戶/密碼文件

2.2 常見的 FTP 軟件

常見的 FTP 服務(wù)端軟件
Wu-ftpd,Proftpd,Pureftpd
Filezilla Server,Serv-U,Wing FTP Server,IIS
vsftpd:Very Secure FTP Daemon,CentOS 默認(rèn) FTP 服務(wù)器高速,穩(wěn)定,下載速度是
WU-FTP 的兩倍,據(jù) ftp.redhat.com 提供的數(shù)據(jù):FTP 單機(jī)最多可支持 15000 個(gè)并發(fā)連接。
常見的 FTP 客戶端軟件
ftp
ftp -A ftpserver port -A 主動(dòng)模式 –p 被動(dòng)模式
lftp
lftp –u username ftpserver
lftp username@ftpserver
lftpget
lftpget ftp://ftpserver/pub/file
gftp:GUI centos5 最新版 2.0.19 (11/30/2008)
wget
curl
filezilla,FTP Rush,CuteFtp,FlashFXP,LeapFtp

2.2.1 vsftpd 軟件

vsftpd 由 vsftpd 包提供,不由 xinetd 管理
用戶認(rèn)證配置文件:/etc/pam.d/vsftpd

  • 服務(wù)啟動(dòng)文件

/usr/lib/systemd/system/vsftpd.service
/etc/rc.d/init.d/vsftpd

  • 配置文件

/etc/vsftpd/vsftpd.conf
幫助:man 5 vsftpd.conf

  • 配置文件格式
    option=value 等號(hào)兩端不能有空格

  • 用戶和其共享目錄
    匿名用戶(映射為系統(tǒng)用戶 ftp )共享文件位置:/var/ftp
    系統(tǒng)用戶共享文件位置:用戶家目錄
    虛擬用戶共享文件位置:為其映射的系統(tǒng)用戶的家目錄

2.2.2 vsftpd 服務(wù)常見配置

2.2.2.1 命令端口配置

listen_port=21

2.2.2.2 主動(dòng)模式端口

connect_from_port_20=YES  主動(dòng)模式端口為20ftp_data_port=20 (默認(rèn))   指定主動(dòng)模式的端口

2.2.2.3 被動(dòng)模式端口范圍

linux 客戶端默認(rèn)使用被動(dòng)模式
windows 客戶端默認(rèn)使用主動(dòng)模式

pasv_min_port=6000     0為隨機(jī)分配
pasv_max_port=6010

2.2.2.4 使用當(dāng)?shù)貢r(shí)間

use_localtime=YES 默認(rèn)為NOGMT時(shí)區(qū)

2.2.2.5 使用匿名用戶登錄

anonymous_enable=YES   支持匿名用戶
no_anon_password=YES   匿名用戶略過(guò)口令檢查 , 默認(rèn)NO

2.2.2.6 允許匿名上傳文件

anon_upload_enable=YES     匿名上傳,注意:文件系統(tǒng)權(quán)限
anon_mkdir_write_enable=YES  匿名建目錄
anon_world_readable_only     只能下載全部讀的文件, 默認(rèn)YES
anon_umask=0333        指定匿名上傳文件的umask,默認(rèn)077
anon_other_write_enable=YES   可刪除和修改上傳的文件, ,默認(rèn)NO

2.2.2.7 指定匿名用戶的上傳文件的默認(rèn)的所有者和權(quán)限

chown_uploads=YES      默認(rèn)NO
chown_username=wang
chown_upload_mode=0644

2.2.2.8 Linux 系統(tǒng)用戶

local_enable=YES 是否允許 linux 用戶登錄
write_enable=YES 允許 linux 用戶上傳文件
local_umask=022 指定系統(tǒng)用戶上傳文件的默認(rèn)權(quán)限

2.2.2.9 將系統(tǒng)用戶映射為指定的 guest 用戶

guest_enable=YES 所有系統(tǒng)用戶都映射成 guest 用戶
guest_username=ftp 配合上面選項(xiàng)才生效,指定 guest 用戶
local_root=/ftproot guest 用戶登錄所在目錄

2.2.2.10 限定系統(tǒng)用戶在指定目錄

  • 禁錮所有系統(tǒng)在家目錄中
chroot_local_user=YES 禁錮系統(tǒng)用戶,默認(rèn)NO,即不禁錮
  • 禁錮或不禁錮特定的系統(tǒng)用戶在家目錄中,與上面設(shè)置功能相反
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

當(dāng) chroot_local_user=YES 時(shí),則 chroot_list 中用戶不禁錮
當(dāng) chroot_local_user=NO 時(shí),則 chroot_list 中用戶禁錮

2.2.2.11 啟用日志

wu-ftp日志:默認(rèn)啟用
xferlog_enable=YES   啟用記錄上傳下載日志,此為默認(rèn)值
xferlog_std_format=YES  使用wu-ftp日志格式,此為默認(rèn)值
xferlog_file=/var/log/xferlog 可自動(dòng)生成, 此為默認(rèn)值vsftpd日志:默認(rèn)不啟用
dual_log_enable=YES  使用vsftpd日志格式,默認(rèn)不啟用
vsftpd_log_file=/var/log/vsftpd.log 可自動(dòng)生成, 此為默認(rèn)值

2.2.2.12 啟用提示信息

  • 登錄提示信息
ftpd_banner="welcome to mage ftp server"
banner_file=/etc/vsftpd/ftpbanner.txt
  • 目錄訪問(wèn)提示信息
dirmessage_enable=YES 此為默認(rèn)值
message_file=.message 信息存放在指定目錄下.message ,此為默認(rèn)值

2.2.2.13 PAM 模塊實(shí)現(xiàn)用戶訪問(wèn)控制

pam_service_name=vsftpd pam配置文件:/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers  默認(rèn)文件中用戶拒絕登錄

2.2.2.14 是否啟用控制用戶登錄的列表文件

userlist_enable=YES      此為默認(rèn)值
userlist_deny=YES(默認(rèn)值)  黑名單,不提示口令,NO為白名單
userlist_file=/etc/vsftpd/users_list  此為默認(rèn)值

2.2.2.15 vsftpd 服務(wù)指定用戶身份運(yùn)行

nopriv_user=nobody 此為默認(rèn)值

2.2.2.16 連接數(shù)限制

max_clients=0 最大并發(fā)連接數(shù)
max_per_ip=0 每個(gè) IP 同時(shí)發(fā)起的最大連接數(shù)

2.2.2.17 傳輸速率,字節(jié)/秒

anon_max_rate=0    匿名用戶的最大傳輸速率
local_max_rate=0    本地用戶的最大傳輸速率

2.2.2.18 連接時(shí)間:秒為單位

connect_timeout=60   主動(dòng)模式數(shù)據(jù)連接超時(shí)時(shí)長(zhǎng)
accept_timeout=60     被動(dòng)模式數(shù)據(jù)連接超時(shí)時(shí)長(zhǎng)
data_connection_timeout=300  數(shù)據(jù)連接無(wú)數(shù)據(jù)輸超時(shí)時(shí)長(zhǎng)
idle_session_timeout=60  無(wú)命令操作超時(shí)時(shí)長(zhǎng)

2.2.2.19 優(yōu)先以文本方式傳輸

ascii_upload_enable=YES
ascii_download_enable=YES

2.2.2.20 實(shí)現(xiàn)基于 SSL 的 FTPS

  1. 查看是否支持 SSL
[root@centos8 ~]#ldd `which vsftpd`|grep libssl
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f8878e2c000)
  1. 創(chuàng)建自簽名證書
# CentOS 7 上可以實(shí)現(xiàn)
cd /etc/pki/tls/certs/
make vsftpd.pem
openssl  x509 -in vsftpd.pem -noout –text
# 或者分別生成一個(gè)證書和私鑰文件
mkdir /etc/vsftpd/ssl
cd /etc/vsftpd/ssl
openssl req -x509 -nodes -keyout vsftpd.key -out vsftpd.crt -days 365 -newkey rsa:2048
  1. 配置 vsftpd 服務(wù)支持 SSL
[root@centos7 ~]#vim  /etc/vsftpd/vsftpd.conf
ssl_enable=YES          #啟用SSL
allow_anon_ssl=NO       #匿名不支持SSL
force_local_logins_ssl=YES  #本地用戶登錄加密
force_local_data_ssl=YES    #本地用戶數(shù)據(jù)傳輸加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
#rsa_private_key_file  /path/file   #此項(xiàng)如果沒有指定,私鑰也在證書文件中
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#require_ssl_reuse=NO
#ssl_ciphers=HIGH[root@centos7 ~]#systemctl restart vsftpd
[root@centos7 ~]#ftp 192.168.100.7
Connected to 192.168.100.7 (192.168.100.7).
220-welcome to magedu
220
Name (192.168.100.8:root): wang
530 Non-anonymous sessions must use encryption.
Login failed.
421 Service not available, remote server has closed connection# 用filezilla等工具測(cè)試

2.2.3 vsftpd 虛擬用戶概念

vsftpd 的虛擬用戶:

  • 所有虛擬用戶會(huì)統(tǒng)一映射為一個(gè)指定的系統(tǒng)帳號(hào):訪問(wèn)共享位置,即為此系統(tǒng)帳號(hào)的家目錄
  • 各虛擬用戶可被賦予不同的訪問(wèn)權(quán)限,通過(guò)匿名用戶的權(quán)限控制參數(shù)進(jìn)行指定

虛擬用戶帳號(hào)的存儲(chǔ)方式:

  • 存儲(chǔ)于文件:編輯文本文件,此文件需要被編碼為 hash 格式。奇數(shù)行為用戶名,偶數(shù)行為密碼
    使用命令db_load -T -t hash -f vusers.txt vusers.db生成 vsftpd 可識(shí)別的.db格式
  • 存儲(chǔ)于關(guān)系型數(shù)據(jù)庫(kù)中的表中:實(shí)時(shí)查詢數(shù)據(jù)庫(kù)完成用戶認(rèn)證
    vsftpd 支持 mysql 庫(kù):pam 要依賴于 pam-mysql
    /lib64/security/pam_mysql.so
    /usr/share/doc/pam_mysql-0.7/README

2.2.4 基于文件驗(yàn)證的虛擬用戶

2.2.4.1 創(chuàng)建用戶數(shù)據(jù)文件

vim /etc/vsftpd/vusers.txt
wang
wangpass
mage
magepass
cd /etc/vsftpd/
db_load -T -t hash -f vusers.txt vusers.db
chmod 600 vusers.db

2.2.4.2 創(chuàng)建用戶訪問(wèn) FTP 共享文件目錄

useradd -d /data/ftproot -s /sbin/nologin -r vuser
mkdir -pv /data/ftproot/upload
setfacl -m u:vuser:rwx /data/ftproot/upload
#chmod a=rx /data/ftproot/ 如果自動(dòng)創(chuàng)建家目錄,需修改權(quán)限

2.2.4.3 創(chuàng)建 pam 配置文件

vim /etc/pam.d/vsftpd.db
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers

2.2.4.4 指定 pam 配置文件

vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.db

2.2.4.4 每個(gè)虛擬用戶建立獨(dú)立的配置文件

# 指定各個(gè)用戶配置文件存放的路徑
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers.d/# 創(chuàng)建各個(gè)用戶配置文件存放的路徑
mkdir /etc/vsftpd/vusers.d/
cd /etc/vsftpd/vusers.d/# 創(chuàng)建各用戶自已的配置文件,允許wang用戶可讀寫,其它用戶只讀
vim wang  
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES# 創(chuàng)建各用戶自已的配置文件
vim mage  # 登錄目錄改變至指定的目錄
local_root=/data/ftproot2

2.2.5 基于 mysql 驗(yàn)證的虛擬用戶

2.2.5.1 環(huán)境準(zhǔn)備

本實(shí)驗(yàn)在兩臺(tái) CentOS 主機(jī)上實(shí)現(xiàn), CentOS 7 一臺(tái)做為 FTP 服務(wù)器,一臺(tái)做數(shù)據(jù)庫(kù)服務(wù)器

2.2.5.2 在數(shù)據(jù)庫(kù)服務(wù)器上安裝 mysql 數(shù)據(jù)庫(kù)

yum –y install mariadb-server
systemctl enable --now  mariadb.service

2.2.5.3 在數(shù)據(jù)庫(kù)服務(wù)上配置數(shù)據(jù)庫(kù)支持 vsftpd 服務(wù)

# 建立存儲(chǔ)虛擬用戶數(shù)據(jù)庫(kù)和表
mysql> CREATE DATABASE vsftpd;
mysql> USE vsftpd;
mysql> CREATE TABLE users (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name CHAR(50) BINARY NOT NULL,
password CHAR(48) BINARY NOT NULL
);
# 添加虛擬用戶,為了安全應(yīng)該使用PASSWORD函數(shù)加密其密碼后存儲(chǔ)
mysql> INSERT INTO users(name,password) values('wang',password('magedu'));
mysql> INSERT INTO users(name,password) values('mage',password('magedu'));
# 創(chuàng)建連接的數(shù)據(jù)庫(kù)用戶
mysql> GRANT SELECT ON vsftpd.* TO vsftpd@'172.16.0.%'  IDENTIFIED BY 'magedu';
mysql> FLUSH PRIVILEGES;

2.2.5.4 在 FTP 服務(wù)器上安裝 vsftpd 和 pam_mysql 包

yum install vsftpd -y
yum install pam_mysql -y
  • 對(duì)于 centos 6:pam_mysql 由 EPEL 的源中提供
  • 對(duì)于 centos7 和 8:無(wú)對(duì)應(yīng) rpm 包,需手動(dòng)編譯安裝
  • pam-mysql 源碼進(jìn)行編譯
# 安裝相關(guān)包
yum install vsftpd gcc gcc-c++ make mariadb-devel  pam-devel# 下載pam-mysql源碼進(jìn)行編譯
wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
# https://github.com/NigelCunningham/pam-MySQL/archive/v0.8.1.tar.gztar xvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1/
./configure --with-pam-mods-dir=/lib64/security
# 如果上面命令不指定  --with-pam-mods-dir=/lib64/security  會(huì)報(bào)以下錯(cuò)誤
# checking if the second argument of pam_conv.conv() takes const pointer... no
# configure: error: Your system doesn\'t appear to be configured to use PAM.
# Perhaps you need to specify the correct location where the PAM modules reside.make && make install
[root@vsftpd ~]#ll /lib64/security/pam_mysql*
-rwxr-xr-x 1 root root    882 Dec 17 14:34 /lib64/security/pam_mysql.la
-rwxr-xr-x 1 root root 141712 Dec 17 14:34 /lib64/security/pam_mysql.so

2.2.5.5 在 FTP 服務(wù)器上建立 pam 認(rèn)證所需文件

vi /etc/pam.d/vsftpd.mysql# 添加如下兩行
auth required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=magedu host=mysqlserver db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

參考 README 可知

  • crypt 加密方式:
    0 表示不加密
    1 表示 crypt(3)加密
    2 表示使用 mysql password()函數(shù)加密
    3 表示 md5 加密
    4 表示 sha1 加密
  • 配置字段說(shuō)明
    auth 表示認(rèn)證
    account 驗(yàn)證賬號(hào)密碼正常使用
    required 表示認(rèn)證要通過(guò)
    pam_mysql.so 模塊是默認(rèn)的相對(duì)路徑,是相對(duì)/lib64/security/路徑而言,也可以寫絕對(duì)路徑;后
    面為給此模塊傳遞的參數(shù)
    user=vsftpd 為登錄 mysql 的用戶
    passwd=magedu 登錄 mysql 的的密碼
    host=mysqlserver mysql 服務(wù)器的主機(jī)名或 ip 地址
    db=vsftpd 指定連接 msyql 的數(shù)據(jù)庫(kù)名稱
    table=users 指定連接數(shù)據(jù)庫(kù)中的表名
    usercolumn=name 當(dāng)做用戶名的字段
    passwdcolumn=password 當(dāng)做用戶名字段的密碼
    crypt=2 密碼的加密方式為 mysql password()函數(shù)加密

2.2.5.6 建立相應(yīng)用戶和修改 vsftpd 配置文件

# 建立虛擬用戶映射的系統(tǒng)用戶及對(duì)應(yīng)的目錄
useradd -s /sbin/nologin -d /data/ftproot -r vuser
# centos7 需除去ftp根目錄的寫權(quán)限
chmod 555 /data/ftproot                
mkdir -pv /data/ftproot/{upload,pub}
setfacl –m u:vuser:rwx /data/ftproot/upload
# 確保/etc/vsftpd.conf中已經(jīng)啟用了以下選項(xiàng)
anonymous_enable=YES
# 添加下面兩項(xiàng)
guest_enable=YES
guest_username=vuser
# 修改下面一項(xiàng),原系統(tǒng)用戶無(wú)法登錄
pam_service_name=vsftpd.mysql# 啟動(dòng)vsftpd服務(wù)
systemctl enable --now vsftpd

2.2.5.7 在 FTP 服務(wù)器上配置虛擬用戶具有不同的訪問(wèn)權(quán)限

vsftpd 可以在配置文件目錄中為每個(gè)用戶提供單獨(dú)的配置文件以定義其 ftp 服務(wù)訪問(wèn)權(quán)限,
每個(gè)虛擬用戶的配置文件名同虛擬用戶的用戶名。配置文件目錄可以是任意未使用目錄,
只需要在 vsftpd.conf 指定其路徑及名稱即可

# 配置vsftpd為虛擬用戶使用配置文件目錄
vim /etc/vsftpd/vsftpd.conf
# 添加如下選項(xiàng)
user_config_dir=/etc/vsftpd/vusers.d/
# 創(chuàng)建所需要目錄,并為虛擬用戶提供配置文件
mkdir /etc/vsftpd/vusers.d/
cd /etc/vsftpd/vusers.d/
touch wang mage
# 配置虛擬用戶的訪問(wèn)權(quán)限
# 虛擬用戶對(duì)vsftpd服務(wù)的訪問(wèn)權(quán)限是通過(guò)匿名用戶的相關(guān)指令進(jìn)行的。如要讓用戶wang具有上傳文件的權(quán)
限,可修改/etc/vsftpd/vusers.d/wang文件,在里面添加如下選項(xiàng)并設(shè)置為YES即可,只讀則設(shè)為NO
# 注意:需確保對(duì)應(yīng)的映射用戶對(duì)于文件系統(tǒng)有寫權(quán)限
anon_upload_enable={YES|NO}
anon_mkdir_write_enable={YES|NO}
anon_other_write_enable={YES|NO}
# 登錄目錄改變至指定的目錄
local_root=/data/ftproot2

三.文件共享服務(wù)

3.1 NFS 分布式文件系統(tǒng)協(xié)議

Network File System(NFS):網(wǎng)絡(luò)文件系統(tǒng),是一個(gè)分布式文件系統(tǒng)協(xié)議,最初由
Sun Microsystems(SUN)在 1984 年開發(fā),其允許用戶在客服端通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)
訪問(wèn)服務(wù)器的文件,就如同在客戶端本地訪問(wèn)一樣。和其他協(xié)議一樣,NFS 基于
Open Network Computing Remote Procedure Call(ONC RPC)遠(yuǎn)程過(guò)程調(diào)用
系統(tǒng)。NFS 是一個(gè)開放的標(biāo)準(zhǔn),定義于一個(gè) RFC 中,允許任何人實(shí)現(xiàn)該協(xié)議。

3.2 NFS 工作原理

RPC 采用 C/S 模式,客戶機(jī)請(qǐng)求程序調(diào)用進(jìn)程發(fā)送一個(gè)有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)
進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息到達(dá)為止。
當(dāng)一個(gè)調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計(jì)算結(jié)果,發(fā)送答復(fù)信息,然后等待
下一個(gè)調(diào)用信息,最后,客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用
執(zhí)行繼續(xù)進(jìn)行。

NFS 優(yōu)勢(shì):節(jié)省本地存儲(chǔ)空間,將常用的數(shù)據(jù),如:/home 目錄,存放在 NFS 服務(wù)
器上且可以通過(guò)網(wǎng)絡(luò)訪問(wèn),本地終端將可減少自身存儲(chǔ)空間的使用

3.3 NFS 軟件

軟件包:nfs-utils
相關(guān)軟件包:rpcbind(必須),tcp_wrappers
Kernel 支持:nfs.ko
端口:2049(nfsd), 其它端口由 portmap(111)分配

  • 說(shuō)明:CentOS 6 開始 portmap 進(jìn)程由 rpcbind 代替
NFS 服務(wù)主要進(jìn)程:
rpc.nfsd 最主要的 NFS 進(jìn)程,管理客戶端是否可登錄
rpc.mountd 掛載和卸載 NFS 文件系統(tǒng),包括權(quán)限管理
rpc.lockd 非必要,管理文件鎖,避免同時(shí)寫出錯(cuò)
rpc.statd 非必要,檢查文件一致性,可修復(fù)文件

日志位置:/var/lib/nfs/
NFS 配置文件:
/etc/exports
/etc/exports.d/\*.exports

3.4 NFS 配置

/dir     主機(jī)1(opt1,opt2)     主機(jī)2(opt1,opt2)...

格式

  • #號(hào)開始為注釋
  • 主機(jī)格式
    單個(gè)主機(jī):ipv4,ipv6,FQDN
    IP networks:兩種掩碼格式均支持
    172.18.0.0/255.255.0.0
    172.18.0.0/16
    wildcards:主機(jī)名通配,例如*.magedu.com,IP不可以
    netgroups:NIS域的主機(jī)組,@group_name
    anonymous:表示使用*通配所有客戶端
    
  • 每個(gè)條目指定目錄導(dǎo)出到的哪些主機(jī),及相關(guān)的權(quán)限和選項(xiàng)
默認(rèn)選項(xiàng):(ro,sync,root_squash,no_all_squash)
ro,rw         只讀和讀寫
async         異步,數(shù)據(jù)變化后不立即寫磁盤,性能高
sync         (1.0.0后為默認(rèn))同步,數(shù)據(jù)在請(qǐng)求時(shí)立即寫入共享存儲(chǔ)磁盤
root_squash  (默認(rèn))遠(yuǎn)程root映射為nfsnobody,UID為65534,CentOS8 為nobody,早期版本是4294967294 (nfsnobody)
no_root_squash 遠(yuǎn)程root映射成root用戶
all_squash     所有遠(yuǎn)程用戶(包括root)都變成nfsnobody,CentOS8 為nobody
no_all_squash (默認(rèn))保留共享文件的UID和GID
anonuid和anongid 指明匿名用戶映射為特定用戶UID和組GID,而非nfsnobody,可配合all_squash使用
  • 配置示例
vim /etc/exports
/myshare server.example.com
/myshare *.example.com
/myshare  server?.example.com
/myshare  server[0-20].example.com
/myshare 172.25.11.10
/myshare 172.25.0.0/16
/myshare 2000:472:18:b51:c32:a21
/myshare 2000:472:18:b51::/64
/myshare *.example.com 172.25.0.0/16
/myshare desktop.example.com(ro)
/myshare desktop.example.com(ro) server[0-20].example.com(rw)
/myshare diskless.example.com(rw,no_root_squash)

3.5 NFS 相關(guān)工具

3.5.1 rpcinfo

rpcinfo 工具可以查看 RPC 相關(guān)信息,查看注冊(cè)在指定主機(jī)的 RPC 程序
rpcinfo -p hostname
查看 RPC 注冊(cè)程序
rpcinfo -s hostname
例子

[root@centos8 ~]#rpcinfo -pprogram vers proto   port  service100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper100024    1   udp  36310  status100024    1   tcp  45265  status
[root@centos8 ~]#rpcinfo -sprogram version(s) netid(s)                         service     owner100000  2,3,4     local,udp,tcp,udp6,tcp6          portmapper  superuser100024  1         tcp6,udp6,tcp,udp                status      29

3.5.2 exports

exportfs:可用于在 NFS 服務(wù)器管理 NFS 導(dǎo)出的文件系統(tǒng)
常用選項(xiàng):

  • –v 查看本機(jī)所有 NFS 共享
  • –r 重讀配置文件,并共享目錄
  • –a 輸出本機(jī)所有共享
  • –au 停止本機(jī)所有共享

3.5.3 showmount

showmount 用來(lái)查詢遠(yuǎn)程服務(wù)器上的 NFS 服務(wù)信息。
showmount -e hostname

3.5.4 mount.nfs

mount.nfs工具用于在客戶端掛載網(wǎng)絡(luò)文件系統(tǒng)
掛載 NFS 時(shí),選項(xiàng)參數(shù)說(shuō)明

  • fg(默認(rèn))前臺(tái)掛載
  • bg 后臺(tái)掛載
  • hard(默認(rèn))持續(xù)請(qǐng)求
  • soft 非持續(xù)請(qǐng)求
  • intr 和 hard 配合,請(qǐng)求可中斷
  • rsize 和 wsize 一次讀和寫數(shù)據(jù)最大字節(jié)數(shù),rsize=32768
  • netdev 無(wú)網(wǎng)絡(luò)不掛載

提示:基于安全考慮,建議使用 nosuid,nodev,noexec 掛載選項(xiàng)_

范例:臨時(shí)掛載 NFS 共享
mount -o rw,nosuid,fg,hard,intr 172.16.0.1:/testdir /mnt/nfs/
范例:開機(jī)掛載

vim  /etc/fstab  
172.16.0.1:/public   /mnt/nfs   nfs   defaults,_netdev  0  0

3.6 自動(dòng)掛載文件系統(tǒng)

可使用 autofs 服務(wù)按需要掛載外圍設(shè)備,NFS 共享等,并在空閑 5 分鐘后后自動(dòng)卸載

3.6.1 相關(guān)文件

軟件包: autofs
服務(wù)文件:/usr/lib/systemd/system/autofs.service
配置文件:/etc/auto.master

3.6.2 配置文件格式

參看幫助:man 5 autofs
所有導(dǎo)出到網(wǎng)絡(luò)中的 NFS 啟用特殊匹配 -host 至“browse”
范例:/net 目錄可以自動(dòng)掛載 NFS 共享

cat  /etc/auto.master
/net    -hosts
cd  /net/192.168.8.100/
自動(dòng)掛載資源有兩種格式:
相對(duì)路徑法:將 mount point 路徑分成 dirname 和 basename 分別配置,
可能會(huì)影響現(xiàn)有的目錄結(jié)構(gòu)
絕對(duì)路徑法:直接匹配全部絕對(duì)路徑名稱,不會(huì)影響本地目錄結(jié)構(gòu)

相對(duì)路徑法:

  1. /etc/auto.master 格式
掛載點(diǎn)的dirname     指定目錄的配置文件路徑
  1. 指定目錄的配置文件格式
掛載點(diǎn)的basename      掛載選項(xiàng)     選項(xiàng)設(shè)備

相對(duì)路徑例子

[root@centos8 ~]#vim /etc/auto.master
/misc   /etc/auto.misc
[root@centos8 ~]#vim /etc/auto.misc
cd      -fstype=iso9660,ro,nosuid,nodev   :/dev/cdrom

相對(duì)路徑法支持通配符

vim /etc/auto.master
/misc   /etc/auto.misc
vim /etc/auto.misc
#表示/misc下面的子目錄和nfs共享/export目錄的子目錄同名
*  server:/export/&

絕對(duì)路徑法

  1. /etc/auto.master 格式
/-            指定配置文件路徑
  1. 指定配置文件格式
絕對(duì)路徑        掛載選項(xiàng)     選項(xiàng)設(shè)備

絕對(duì)路徑例子

vim /etc/auto.master:
/-                  /etc/auto.direct
vim /etc/auto.direct:
/foo            -fstype=nfs server1:/export/foo
/user/local/    -fstype=nfs,vers=3  server1:/usr/local
/mnt/cdrom      -fstype=iso9660     :/dev/cdrom

3.7 案例

3.7.1 目標(biāo)

將 NFS 的共享目錄,通過(guò) autofs 發(fā)布出來(lái),做為遠(yuǎn)程主機(jī)用戶的家目錄

3.7.2 環(huán)境準(zhǔn)備

三臺(tái)主機(jī)
一臺(tái)主機(jī) nfs server,IP:192.168.8.100
另兩臺(tái)當(dāng) nfs client,IP:192.168.8.101 和 192.168.8.102

3.7.3 步驟

# NFS服務(wù)器創(chuàng)建用戶和相應(yīng)的家目錄,將用戶wang的家目錄共享
useradd -d /data/wang  wang
Vim /etc/exports.d/test.exports
/data/wang  *(rw,anonuid=1000,anongid=1000,all_sqush)
# 在第一臺(tái)NFS客戶端主機(jī)192.168.8.101上實(shí)現(xiàn)相對(duì)路徑法的autofs
vim /etc/auto.master
/home   /etc/homeauto
vim /etc/homeauto
*  -fstype=nfs,vers=3 192.168.8.100:/data/wang/&
# 注意:home目錄下其它用戶家目錄無(wú)法訪問(wèn)
# 在第二臺(tái)NFS客戶端主機(jī)192.168.8.102上實(shí)現(xiàn)絕對(duì)路徑法的autofs
vim /etc/auto.master
/-  /etc/homeauto
vim e/etc/homeauto
/home/wang  -fstype=nfs,vers=3 nfsserver:/data/wang

四.SAMBA 服務(wù)

Samba 是基于SMB網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)的自由軟件,最初由Andrew Tridgell。Samba 為各種
Microsoft Windows 客戶端提供文件和打印服務(wù),可以作為域控制器(DC)或域成員與
Microsoft Windows 服務(wù)域集成。從版本 4 開始,它支持活動(dòng)目錄(Active Directory)
和 Microsoft Windows NT 域。

另外,Samba 也是巴西的一種最受歡迎的音樂(lè)和舞蹈形式。每年狂歡節(jié)的主角都是 Samba 舞。

4.1 SAMBA 服務(wù)介紹

SMB:Server Message Block 服務(wù)器消息塊,IBM 發(fā)布,最早是 DOS 網(wǎng)絡(luò)文件共享協(xié)議
CIFS:common internet file system,微軟于 1996 年將 SMB 改名并加入很多特性的協(xié)議
SAMBA:1991 年 Andrew Tridgell,實(shí)現(xiàn) windows 和 UNIX 相通

CIFS/SMB 和網(wǎng)絡(luò)文件系統(tǒng)(NFS) 是目前在 network-attached(NAS)存儲(chǔ)系統(tǒng)使用最為廣泛的協(xié)議。

SAMBA 官網(wǎng)

SAMBA 的功能:

  • 共享文件和打印,實(shí)現(xiàn)在線編輯
  • 實(shí)現(xiàn)登錄 SAMBA 用戶的身份認(rèn)證
  • 可以進(jìn)行 NetBIOS 名稱解析
  • 外圍設(shè)備共享

Windows 計(jì)算機(jī)網(wǎng)絡(luò)管理模式:

  • 工作組 WORKGROUP:計(jì)算機(jī)對(duì)等關(guān)系,帳號(hào)信息各自管理
  • 域 DOMAIN:C/S 結(jié)構(gòu),帳號(hào)信息集中管理,DC,AD

4.2 SAMBA 軟件介紹

相關(guān)包:

  • samba 提供 smb 服務(wù)
  • samba-client 客戶端軟件
  • samba-common 通用軟件
  • cifs-utils smb 客戶端工具
  • samba-winbind 和 AD 相關(guān)

相關(guān)服務(wù)進(jìn)程:

  • smbd 提供 smb(cifs)服務(wù) TCP:139,445
  • nmbd NetBIOS 名稱解析 UDP:137,138

主配置文件:/etc/samba/smb.conf
幫助參看:man smb.conf
語(yǔ)法檢查: testparm [-v][/etc/samba/smb.conf]
客戶端工具:smbclient,mount.cifs

  • 安裝和啟動(dòng)服務(wù)
yum/dnf install samba
systemctl start smb
systemctl start nmb

4.3 SAMBA 客戶端工具

訪問(wèn) SAMBA 服務(wù)器時(shí)使用 UNC 命名規(guī)范
UNC 路徑: Universal Naming Convention 通用命名規(guī)范,格式如下

\\sambaserver\sharename

4.3.1 使用 smbclient 訪問(wèn) SAMBA 服務(wù)器

smbclient -L instructor.example.com
smbclient -L instructor.example.com -U  smb用戶%password
# 可以使用-U選項(xiàng)來(lái)指定用戶%密碼,或通過(guò)設(shè)置和導(dǎo)出USER和PASSWD環(huán)境變量來(lái)指定
smbclient  //instructor.example.com/shared -U wang
>cd directory
>get file1
>put file2

4.3.2 掛載 CIFS 文件系統(tǒng)

范例:手動(dòng)掛載

mount -o user=wang,password=magedu //server//shared   /mnt/smb

范例:開機(jī)自動(dòng)掛載

cat /etc/fstab
# 可以用文件代替用戶名和密碼的輸入
//server/homes /mnt cifs credentials或cred=/etc/smb.txt 0 0cat /etc/smb.txt
username=wang           #或 user=wang
password=password       #或 pass=password
chmod 600 /etc/smb.txt

4.4 管理 SAMBA 用戶

4.4.1 samba 用戶

相關(guān)包:samba-common-tools
相關(guān)工具:smbpasswd pdbedit
用戶數(shù)據(jù)庫(kù):/var/lib/samba/private/passdb.tdb
說(shuō)明:samba 用戶須是 Linux 用戶,建議使用/sbin/nologin

4.4.2 管理用戶命令

添加 samba 用戶:

smbpasswd -a  <user>
pdbedit -a -u <user>

修改用戶密碼:

smbpasswd  <user>

刪除用戶和密碼:

smbpasswd –x <user>
pdbedit  –x –u <user>

查看 samba 用戶列表:

pdbedit –L –v

[root@centos8 ~]#pdbedit  -L
No builtin backend found, trying to load plugin
smb1:1002:
smb2:1003:
smb3:1004:
[root@centos8 ~]#pdbedit  -L -v
No builtin backend found, trying to load plugin
---------------
Unix username:        smb1
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1476810783-3936299954-1329646792-1000
Primary Group SID:    S-1-5-21-1476810783-3936299954-1329646792-513
Full Name:            
Home Directory:       \\linux39\smb1
HomeDir Drive:        
Logon Script:        
Profile Path:         \\linux39\smb1\profile
Domain:               CENTOS8
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:    Thu, 19 Dec 2019 10:02:31 CST
Password can change:  Thu, 19 Dec 2019 10:02:31 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username:        smb2
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1476810783-3936299954-1329646792-1001
Primary Group SID:    S-1-5-21-1476810783-3936299954-1329646792-513
Full Name:            
Home Directory:       \\linux39\smb2
HomeDir Drive:        
Logon Script:        
Profile Path:         \\linux39\smb2\profile
Domain:               CENTOS8
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:    Thu, 19 Dec 2019 09:57:36 CST
Password can change:  Thu, 19 Dec 2019 09:57:36 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------

查看服務(wù)器狀態(tài)–smbstatus

[root@centos8 ~]#smbstatus
Samba version 4.9.1
PID     Username     Group        Machine                                 Protocol Version  Encryption           Signing
45299   smb1         smb1         192.168.39.6 (ipv4:192.168.39.6:55898)    NT1               -                    -
Service      pid     Machine       Connected at                     Encryption    Signing
smb1         45299   192.168.39.6  Thu Dec 19 10:30:24 AM 2019 CST  -              -
No locked files

4.5 SAMBA 服務(wù)器配置

amba 配置文件 /etc/smb.conf 格式 ,使用.ini 文件的格式

全局設(shè)置:

  • [global] 服務(wù)器通用或全局設(shè)置的部分

特定共享設(shè)置:

  • [homes] 用戶的家目錄共享
  • [printers] 定義打印機(jī)資源和服務(wù)
  • [sharename] 自定義的共享目錄配置
  • 其中:#和;開頭的語(yǔ)句為注釋,大小寫不敏感

samba 配置中的宏定義:

  • %m 客戶端主機(jī)的 NetBIOS 名
  • %M 客戶端主機(jī)的 FQDN
  • %H 當(dāng)前用戶家目錄路徑
  • %U 當(dāng)前用戶的用戶名
  • %g 當(dāng)前用戶所屬組
  • %h samba 服務(wù)器的主機(jī)名
  • %L samba 服務(wù)器的 NetBIOS 名
  • %I 客戶端主機(jī)的 IP
  • %T 當(dāng)前日期和時(shí)間
  • %S 可登錄的用戶名

4.5.1 SAMBA 服務(wù)器全局配置

workgroup 指定工作組名稱
server string 主機(jī)注釋信息
netbios name 指定 NetBIOS 名,注意:netbios name 需要啟動(dòng) nmb 服務(wù)
范例:

[global]workgroup = workgroupnetbios name = linux39

interfaces 指定服務(wù)偵聽接口和 IP
hosts allow 可用逗號(hào),空格,或 tab 分隔,默認(rèn)允許所有主機(jī)訪問(wèn),也可在每個(gè)共享獨(dú)立
配置,如:在[global]設(shè)置,將應(yīng)用并覆蓋所有共享設(shè)置,可以是以下格式:

IPv4 network/prefix: 172.16.0.0/24  IPv4 前綴: 172.16.0.
IPv4 network/netmask: 172.16.0.0/255.255.255.0
主機(jī)名: desktop.example.com
以example.com后綴的主機(jī)名: .example.com

hosts allow = 172.16.   .example.com

hosts deny 拒絕指定主機(jī)訪問(wèn),格式和 hosts allow 相同
config file=/etc/samba/conf.d/%U 用戶獨(dú)立的配置文件
Log file=/var/log/samba/log.%I 不同客戶機(jī)采用不同日志
log level = 2 日志級(jí)別,默認(rèn)為 0,不記錄日志

[global]Log file=/var/log/samba/log.%Ilog level = 2

max log size=50 日志文件達(dá)到 50K,將輪循 rotate,單位 KB
Security 三種認(rèn)證方式:

  • user:samba 用戶(采有 linux 用戶,samba 的獨(dú)立口令)
  • share:匿名(CentOS7 不再支持),已不建議使用
  • server:已不建議使用

passdb backend = tdbsam 密碼數(shù)據(jù)庫(kù)格式

4.5.2 配置特定目錄共享

每個(gè)共享目錄應(yīng)該有獨(dú)立的[ ]部分
[共享名稱] 遠(yuǎn)程網(wǎng)絡(luò)看到的共享名稱
comment 注釋信息
path 所共享的目錄路徑
public 能否被 guest 訪問(wèn)的共享,默認(rèn) no,和 guest ok 類似
browsable 是否允許所有用戶瀏覽此共享,默認(rèn)為 yes,no 為隱藏
writable=yes 可以被所有用戶讀寫,默認(rèn)為 no
read only=no 和 writable=yes 等價(jià),如與以上設(shè)置沖突,放在后面的設(shè)置生效,默認(rèn)只讀
write list 用戶,@組名,+組名,用,分隔,如 writable=no,列表中用戶或組可讀寫,不在列表中用戶
valid users 特定用戶才能訪問(wèn)該共享,如為空,將允許所有用戶,用戶名之間用空格分隔

范例:基于特定用戶和組的共享

vim /etc/samba/smb.conf
[share]
path = /app/dir
valid users=wang,@admins
writeable = no
browseable = no

4.6 案例

4.6.1 利用 SAMBA 實(shí)現(xiàn)指定目錄共享

# 在samba服務(wù)器上安裝samba包
yum -y install samba
# 創(chuàng)建samba用戶和組
groupadd -r admins
useradd -s /sbin/nologin -G admins wang
smbpasswd -a wang
useradd -s /sbin/nologin mage
smbpasswd -a mage
# 創(chuàng)建samba共享目錄,并設(shè)置SElinux
mkdir /testdir/smbshare
chgrp admins /testdir/smbshare
chmod 2775 /testdir/smbshare
# samba服務(wù)器配置
vim  /etc/samba/smb.conf
...省略...
[share]
path = /testdir/smbshare
write list = @admins
systemctl enable --now  smb nmb
# samba客戶端訪問(wèn)
yum -y install cifs-utils
# 用wang用戶掛載smb共享并訪問(wèn)
mkdir /mnt/wang
mount -o username=wang //smbserver/share /mnt/wang
echo "Hello wang" >/mnt/wang/wangfile.txt
# 用mage用戶掛載smb共享并訪問(wèn)
mkdir /mnt/mage
mount -o username=mage //smbserver/share /mnt/mage
touch /mnt/mage/magefile.txt

4.6.2 實(shí)現(xiàn)不同 samba 用戶訪問(wèn)相同的 samba 共享,實(shí)現(xiàn)不同的配置

# 創(chuàng)建三個(gè)samba用戶,并指定密碼為magedu
useradd -s /sbin/nologin -r smb1
useradd -s /sbin/nologin -r smb2
useradd -s /sbin/nologin -r smb3
smbpasswd –a smb1
smbpasswd –a smb2
smbpasswd –a smb3
# 修改samba配置文件
Vim /etc/samba/smb.conf
# 在workgroup下加一行
config file= /etc/samba/conf.d/%U  說(shuō)明:%U表示用戶名
[share]
Path=/data/dir
Read only= NO
Guest ok = yes
write list=@wheel
# 針對(duì)smb1和smb2用戶創(chuàng)建單獨(dú)的配置文件
Vim /etc/samba/conf.d/smb1
[share]
Path=/data/dir1
Read only= NO  等價(jià)于writable = yes
Create mask=0644    
# 說(shuō)明:默認(rèn)為744
Vim /etc/samba/conf.d/smb2
[share]
path=/data/dir2
systemctl restart  smb nmb
# 用戶smb1,smb2,smb3訪問(wèn)share共享目錄,看到目錄是不同目錄
smbclient //sambaserver/share -U smb1%magedu
smbclient //sambaserver/share -U smb2%magedu
smbclient //sambaserver/share -U smb3%magedu

五.數(shù)據(jù)同步 rsync

在生產(chǎn)環(huán)境,有時(shí)會(huì)需要兩臺(tái)主機(jī)的特定目錄實(shí)現(xiàn)實(shí)時(shí)同步。比如,將 NFS 共享目錄的
數(shù)據(jù)文件,自動(dòng)實(shí)時(shí)同步到備份的服務(wù)器特定目錄中,這時(shí)就會(huì)用到 rsync
rsync 是一款輕量級(jí)的備份和遠(yuǎn)程拷貝軟件,其通過(guò)比較文件的修改時(shí)間和大小,在計(jì)算機(jī)
和外部硬盤驅(qū)動(dòng)器之間以及在聯(lián)網(wǎng)的計(jì)算機(jī)之間有效地傳輸和同步文件。它通常出現(xiàn)在類
unix 操作系統(tǒng)上。Rsync 是用 C 編寫的單線程應(yīng)用程序。rsync 使用的算法是一種增量編碼,
適用于用于最小化網(wǎng)絡(luò)使用。Zlib 可以用于額外的數(shù)據(jù)壓縮,也可以使用 SSH 或 stunnel
進(jìn)行安全加密。

5.1 數(shù)據(jù)實(shí)時(shí)同步技術(shù)

一般企業(yè)在使用 rsync 時(shí)會(huì)配合 inotify 使用,使用 inotify 監(jiān)聽文件修改情況,一旦文件某些
屬性改變,就通知 rsync 進(jìn)行備份

  • inotify + rsync 方式實(shí)現(xiàn)數(shù)據(jù)同步
  • sersync :金山公司周洋在 inotify 軟件基礎(chǔ)上進(jìn)行開發(fā)的,功能更加強(qiáng)大
工作原理:
要利用監(jiān)控服務(wù)(inotify),監(jiān)控同步數(shù)據(jù)服務(wù)器目錄中信息的變化
發(fā)現(xiàn)目錄中數(shù)據(jù)產(chǎn)生變化,就利用 rsync 服務(wù)推送到備份服務(wù)器上
inotify:
異步的文件系統(tǒng)事件監(jiān)控機(jī)制,利用事件驅(qū)動(dòng)機(jī)制,而無(wú)須通過(guò)諸如 cron 等的輪詢機(jī)制來(lái)獲取事件,
linux 內(nèi)核從 2.6.13 起支持 inotify,通過(guò) inotify 可以監(jiān)控文件系統(tǒng)中添加、刪除,修改、移動(dòng)等各種事件
[root@centos8 ~]#grep -i inotify /boot/config-4.18.0-80.el8.x86_64
CONFIG_INOTIFY_USER=y

5.2 notify

5.2.1 notify 需要內(nèi)核支持

Linux 支持 inotify 的內(nèi)核最小版本為 2.6.13,參看 man 7 inotify

ls -l /proc/sys/fs/inotify   #列出下面的文件,說(shuō)明服務(wù)器內(nèi)核支持inotify
-rw-r--r-- 1 root root 0 Dec  7 10:10 max_queued_events
-rw-r--r-- 1 root root 0 Dec  7 10:10 max_user_instances
-rw-r--r-- 1 root root 0 Dec  6 05:54 max_user_watches

inotify 內(nèi)核參數(shù)說(shuō)明:

max_queued_events:inotify事件隊(duì)列最大長(zhǎng)度,如值太小會(huì)出現(xiàn) Event Queue Overflow  誤,默認(rèn)值:16384 max_user_instances:每個(gè)用戶創(chuàng)建inotify實(shí)例最大值,默認(rèn)值:128 max_user_watches:可以監(jiān)視的文件數(shù)量(單進(jìn)程),默認(rèn)值:8192
[root@centos8 ~]#vim /etc/sysctl.conf
fs.inotify.max_queued_events=66666
fs.inotify.max_user_watches=100000    
[root@centos8 ~]#sysctl  -p
fs.inotify.max_queued_events = 66666
fs.inotify.max_user_watches = 100000
[root@centos8 ~]#cat /proc/sys/fs/inotify/*
66666
128
100000

5.2.2 inotify-tools 工具

inotify-tools 參考文檔:https://github.com/rvoicilas/inotify-tools/wiki
安裝 inotify-tools:基于 epel 源
yum install inotify-tools

inotify-tools 包主要工具:

  • inotifywait: 在被監(jiān)控的文件或目錄上等待特定文件系統(tǒng)事件(open ,close,delete 等)
    發(fā)生,常用于實(shí)時(shí)同步的目錄監(jiān)控
  • inotifywatch:收集被監(jiān)控的文件系統(tǒng)使用的統(tǒng)計(jì)數(shù)據(jù),指文件系統(tǒng)事件發(fā)生的次數(shù)統(tǒng)計(jì)

inotifywait 命令常見選項(xiàng)

  • -m, --monitor 始終保持事件監(jiān)聽
  • -d, --daemon 以守護(hù)進(jìn)程方式執(zhí)行,和-m 相似,配合-o 使用
  • -r, --recursive 遞歸監(jiān)控目錄數(shù)據(jù)信息變化
  • -q, --quiet 輸出少量事件信息
  • –exclude 指定排除文件或目錄,使用擴(kuò)展的正則表達(dá)式匹配的模式實(shí)現(xiàn)
  • –excludei 和 exclude 相似,不區(qū)分大小寫
  • -o, --outfile 打印事件到文件中,相當(dāng)于標(biāo)準(zhǔn)正確輸出,注意:使用絕對(duì)路徑
  • -s, --syslogOutput 發(fā)送錯(cuò)誤到 syslog 相當(dāng)于標(biāo)準(zhǔn)錯(cuò)誤輸出
  • –timefmt 指定時(shí)間輸出格式
  • –format 指定的輸出格式;即實(shí)際監(jiān)控輸出內(nèi)容
  • -e 指定監(jiān)聽指定的事件,如果省略,表示所有事件都進(jìn)行監(jiān)聽

inotifywait 的–timefmt 時(shí)間格式
參考 man 3 strftime

  • %Y 年份信息,包含世紀(jì)信息
  • %y 年份信息,不包括世紀(jì)信息
  • %m 顯示月份,范圍 01-12
  • %d 每月的第幾天,范圍是 01-31
  • %H 小時(shí)信息,使用 24 小時(shí)制,范圍 00-23
  • %M 分鐘,范圍 00-59


--timefmt "%Y-%m-%d %H:%M"

inotifywait 的 --format 格式定義

  • %T 輸出時(shí)間格式中定義的時(shí)間格式信息,通過(guò) --timefmt option 語(yǔ)法格式指定時(shí)間信息
  • %w 事件出現(xiàn)時(shí),監(jiān)控文件或目錄的名稱信息
  • %f 事件出現(xiàn)時(shí),將顯示監(jiān)控目錄下觸發(fā)事件的文件或目錄信息,否則為空
  • %e 顯示發(fā)生的事件信息,不同的事件默認(rèn)用逗號(hào)分隔
  • %Xe 顯示發(fā)生的事件信息,不同的事件指定用 X 進(jìn)行分隔

--format "%T %w%f event: %;e"
--format '%T  %w  %f'

inotifywait -e 選項(xiàng)指定的事件類型

  • create 文件或目錄創(chuàng)建
  • delete 文件或目錄被刪除
  • modify 文件或目錄內(nèi)容被寫入
  • attrib 文件或目錄屬性改變
  • close_write 文件或目錄關(guān)閉,在寫入模式打開之后關(guān)閉的
  • close_nowrite 文件或目錄關(guān)閉,在只讀模式打開之后關(guān)閉的
  • close 文件或目錄關(guān)閉,不管讀或是寫模式
  • open 文件或目錄被打開
  • moved_to 文件或目錄被移動(dòng)到監(jiān)控的目錄中
  • moved_from 文件或目錄從監(jiān)控的目錄中被移動(dòng)
  • move 文件或目錄不管移動(dòng)到或是移出監(jiān)控目錄都觸發(fā)事件
  • access 文件或目錄內(nèi)容被讀取
  • delete_self 文件或目錄被刪除,目錄本身被刪除
  • unmount 取消掛載

inotifywait -e create,delete,moved_to,close_write, attrib

例:使用 inotifywait

#監(jiān)控一次性事件
inotifywait /data
#持續(xù)前臺(tái)監(jiān)控
inotifywait -mrq /data
#持續(xù)后臺(tái)監(jiān)控,并記錄日志
inotifywait -o /root/inotify.log -drq /data --timefmt "%Y-%m-%d %H:%M" --format
"%T %w%f event: %e"
#持續(xù)前臺(tái)監(jiān)控特定事件
inotifywait -mrq /data --timefmt "%F %H:%M" --format "%T %w%f  event: %;e" -e
create,delete,moved_to,close_write,attrib

5.3 rsync

rsync 常用于做為 linux 系統(tǒng)下的數(shù)據(jù)鏡像備份工具,實(shí)現(xiàn)實(shí)現(xiàn)遠(yuǎn)程同步,支持本地復(fù)制,
或者與其他 SSH、rsync 主機(jī)同步數(shù)據(jù),支持增量備份,配合任務(wù)計(jì)劃,rsync 能實(shí)現(xiàn)定時(shí)或
間隔同步,配合 inotify 或 sersync,可以實(shí)現(xiàn)觸發(fā)式的實(shí)時(shí)數(shù)據(jù)同步。

官方網(wǎng)站

軟件包:rsync,rsync-daemon(CentOS 8)
服務(wù)文件:/usr/lib/systemd/system/rsyncd.service
配置文件:/etc/rsyncd.conf
端口:873/tcp

5.3.1 rsync 命令

#Local:  
rsync [OPTION...] SRC... [DEST]#Access via remote shell:
Pull:
rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push:
rsync [OPTION...] SRC... [USER@]HOST:DEST#Access via rsync daemon:
Pull:
rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push:
rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

rsync 有三種工作方式:

  1. 本地文件系統(tǒng)上實(shí)現(xiàn)同步。命令行語(yǔ)法格式為上述"Local"段的格式。
  2. 本地主機(jī)使用遠(yuǎn)程 shell 和遠(yuǎn)程主機(jī)通信。命令行語(yǔ)法格式為上述"Access via
    remote shell"段的格式。
  3. 本地主機(jī)通過(guò)網(wǎng)絡(luò)套接字連接遠(yuǎn)程主機(jī)上的 rsync daemon。命令行語(yǔ)法格式為上述
    "Access viarsync daemon"段的格式。

前兩者的本質(zhì)是通過(guò)本地或遠(yuǎn)程 shell,而第 3 種方式則是讓遠(yuǎn)程主機(jī)上運(yùn)行 rsyncd
服務(wù),使其監(jiān)聽在一個(gè)端口上,等待客戶端的連接

rsync 常見選項(xiàng)

-v:顯示rsync過(guò)程中詳細(xì)信息??梢允褂?span id="vxwlu0yf4"    class="token string">"-vvvv"獲取更詳細(xì)信息。
-P:顯示文件傳輸?shù)倪M(jìn)度信息。(實(shí)際上"-P"="--partial --progress",其中的"--progress"才是顯
示進(jìn)度信息的)。
-n --dry-run  :僅測(cè)試傳輸,而不實(shí)際傳輸。常和"-vvvv"配合使用來(lái)查看rsync是如何工作的。
-a --archive  :歸檔模式,表示遞歸傳輸并保持文件屬性。等同于"-rtopgDl"。
-r --recursive:遞歸到目錄中去。
-t --times:保持mtime屬性。強(qiáng)烈建議任何時(shí)候都加上"-t",否則目標(biāo)文件mtime會(huì)設(shè)置為系統(tǒng)時(shí)間,
導(dǎo)致下次更新:檢查出mtime不同從而導(dǎo)致增量傳輸無(wú)效。
-o --owner:保持owner屬性(屬主)。
-g --group:保持group屬性(屬組)-p --perms:保持perms屬性(權(quán)限,不包括特殊權(quán)限)。
-D        :是"--device --specials"選項(xiàng)的組合,即也拷貝設(shè)備文件和特殊文件。
-l --links:如果文件是軟鏈接文件,則拷貝軟鏈接本身而非軟鏈接所指向的對(duì)象
-z        :傳輸時(shí)進(jìn)行壓縮提高效率
-R --relative:使用相對(duì)路徑。意味著將命令行中指定的全路徑而非路徑最尾部的文件名發(fā)送給服務(wù)端,
包括它們的屬性。用法見下文示例。
--size-only :默認(rèn)算法是檢查文件大小和mtime不同的文件,使用此選項(xiàng)將只檢查文件大小。
-u --update :僅在源mtime比目標(biāo)已存在文件的mtime新時(shí)才拷貝。注意,該選項(xiàng)是接收端判斷的,不會(huì)
影響刪除行為。
-d --dirs   :以不遞歸的方式拷貝目錄本身。默認(rèn)遞歸時(shí),如果源為"dir1/file1",則不會(huì)拷貝dir1
目錄,使用該選項(xiàng)將拷貝dir1但不拷貝file1。
--max-size  :限制rsync傳輸?shù)淖畲笪募笮???梢允褂脝挝缓缶Y,還可以是一個(gè)小數(shù)值(例如:"--
max-size=1.5m")
--min-size  :限制rsync傳輸?shù)淖钚∥募笮?。這可以用于禁止傳輸小文件或那些垃圾文件。
--exclude   :指定排除規(guī)則來(lái)排除不需要傳輸?shù)奈募?--delete    :以SRC為主,對(duì)DEST進(jìn)行同步。多則刪之,少則補(bǔ)之。注意"--delete"是在接收端執(zhí)行
的,所以它是在:exclude/include規(guī)則生效之后才執(zhí)行的。
-b --backup :對(duì)目標(biāo)上已存在的文件做一個(gè)備份,備份的文件名后默認(rèn)使用"~"做后綴。
--backup-dir:指定備份文件的保存路徑。不指定時(shí)默認(rèn)和待備份文件保存在同一目錄下。
-e          :指定所要使用的遠(yuǎn)程shell程序,默認(rèn)為ssh。
--port      :連接daemon時(shí)使用的端口號(hào),默認(rèn)為873端口。
--password-file:daemon模式時(shí)的密碼文件,可以從中讀取密碼實(shí)現(xiàn)非交互式。注意,這不是遠(yuǎn)程
shell認(rèn)證的密碼,而是rsync模塊認(rèn)證的密碼。
-W --whole-file:rsync將不再使用增量傳輸,而是全量傳輸。在網(wǎng)絡(luò)帶寬高于磁盤帶寬時(shí),該選項(xiàng)比增
量傳輸更高效。
--existing  :要求只更新目標(biāo)端已存在的文件,目標(biāo)端還不存在的文件不傳輸。注意,使用相對(duì)路徑時(shí)如
果上層目錄不存在也不會(huì)傳輸。
--ignore-existing:要求只更新目標(biāo)端不存在的文件。和"--existing"結(jié)合使用有特殊功能,見下文
示例。
--remove-source-files:要求刪除源端已經(jīng)成功傳輸?shù)奈募?

5.3.2 以獨(dú)立服務(wù)方式運(yùn)行 rsync

范例:以獨(dú)立服務(wù)方式運(yùn)行 rsync,該服務(wù)在備份服務(wù)器上運(yùn)行

#創(chuàng)建rsync服務(wù)器的配置文件
vi /etc/rsyncd.conf
uid = root
gid = root
use chroot = no
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no
hosts allow = 192.168.8.0/24
[backup]  
path = /backup/  
comment = backup
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pass
# 服務(wù)器端準(zhǔn)備目錄
mkdir /backup
# 服務(wù)器端生成驗(yàn)證文件
echo "rsyncuser:magedu" > /etc/rsync.pass
chmod 600 /etc/rsync.pass
# 服務(wù)器端啟動(dòng)rsync服務(wù)
rsync --daemon              #可加入/etc/rc.d/rc.local實(shí)現(xiàn)開機(jī)啟動(dòng)
systemctl  start  rsyncd    #CentOS 7 以上版本
# 客戶端配置密碼文件
echo "magedu"  > /etc/rsync.pass
chmod 600 /etc/rsync.pass   #此為必要項(xiàng)
# 客戶端測(cè)試同步數(shù)據(jù)
rsync -avz --delete  --password-file=/etc/rsync.pass /data/   \
rsyncuser@rsync服務(wù)器IP::backup

5.4 同步腳本示例

  • 該同步腳本在需要備份的主機(jī)上(客戶端)運(yùn)行
#!/bin/bash
SRC='/data/htdocs/pics'
DEST='rsyncuser@rsync-setver-IP::backup'
inotifywait  -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR
FILE;doFILEPATH=${DIR}${FILE}rsync -az --delete  --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log
done

六.案例

實(shí)現(xiàn)基于分布式的 LAMP 架構(gòu),并將 NFS 實(shí)時(shí)同步到備份服務(wù)器

http://www.risenshineclean.com/news/50119.html

相關(guān)文章:

  • 衡水專業(yè)網(wǎng)站制作seo搜索引擎優(yōu)化崗位要求
  • 上饒建設(shè)培訓(xùn)中心網(wǎng)站圖片外鏈生成
  • 蘭州網(wǎng)站建設(shè)招聘信息策劃公司
  • 網(wǎng)頁(yè)制作背景圖代碼杭州seo網(wǎng)站建設(shè)
  • 在家做網(wǎng)站查網(wǎng)址
  • 查詢商品價(jià)格走勢(shì)的網(wǎng)站自己建網(wǎng)站怎么弄
  • 網(wǎng)站微信認(rèn)證費(fèi)用多少錢八上數(shù)學(xué)優(yōu)化設(shè)計(jì)答案
  • seo做的不好的網(wǎng)站免費(fèi)網(wǎng)絡(luò)推廣平臺(tái)
  • r6300v2做網(wǎng)站搜索排名廣告營(yíng)銷
  • 做出口網(wǎng)站鄭州新聞發(fā)布
  • 建設(shè)工程材料網(wǎng)站百度seo怎么優(yōu)化
  • 做廚柜有招聘網(wǎng)站嗎seo網(wǎng)站關(guān)鍵字優(yōu)化
  • 紙牌網(wǎng)站建設(shè)德陽(yáng)seo
  • 網(wǎng)頁(yè)設(shè)計(jì)的注意事項(xiàng)網(wǎng)絡(luò)網(wǎng)站推廣優(yōu)化
  • 怎么在programmableweb 網(wǎng)站做api分析圖表深圳百度國(guó)際大廈
  • 所有做網(wǎng)站公司營(yíng)銷廣告文案
  • 外貿(mào)網(wǎng)站該怎么做營(yíng)銷存在的問(wèn)題及改進(jìn)
  • 爾雅網(wǎng)站開發(fā)實(shí)戰(zhàn)百度站長(zhǎng)工具網(wǎng)站提交
  • 廣告公司做的網(wǎng)站字體侵權(quán)武漢seo首頁(yè)
  • 美國(guó)做deals的網(wǎng)站中山百度推廣公司
  • 吉林省水土保持生態(tài)建設(shè)網(wǎng)站網(wǎng)站seo優(yōu)化方案設(shè)計(jì)
  • 關(guān)于做網(wǎng)站的調(diào)查問(wèn)卷外包公司
  • 鎮(zhèn)江疫情最新數(shù)據(jù)seo免費(fèi)外鏈工具
  • 相親網(wǎng)與做網(wǎng)站廣州關(guān)鍵詞搜索排名
  • 網(wǎng)站建設(shè)初期工作方案網(wǎng)絡(luò)推廣項(xiàng)目代理
  • 廣州做企業(yè)網(wǎng)站找哪家公司好網(wǎng)絡(luò)營(yíng)銷推廣方法和手段
  • 移動(dòng)網(wǎng)站的開發(fā)流程圖搜索引擎培訓(xùn)班
  • 淘寶客云建站官網(wǎng)百度q3財(cái)報(bào)2022
  • 做地產(chǎn)的設(shè)計(jì)網(wǎng)站seo顧問(wèn)
  • 政府網(wǎng)站用什么cmsseo新人怎么發(fā)外鏈