1. 程式人生 > >rsync伺服器的安裝與配置

rsync伺服器的安裝與配置

一、rsync 簡介

  Rsync(remote synchronize)是一個遠端資料同步工具,可通過LAN/WAN快速同步多臺主機間的檔案,也可以使用 Rsync 同步本地硬碟中的不同目錄。 

  Rsync 是用於取代rcp的一個工具,Rsync使用所謂的 “Rsync 演算法” 來使本地和遠端兩個主機之間的檔案達到同步,這個演算法只傳送兩個檔案的不同部分,而不是每次都整份傳送,因此速度相當快。您可以參考 How Rsync Works A Practical Overview 進一步瞭解 rsync 的運作機制。

  Rsync支援大多數的類Unix系統,無論是Linux、Solaris還是BSD上都經過了良好的測試。此外,它在windows平臺下也有相應的版本,比較知名的有cwRsync和Sync2NAS。

  Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它當前由 http://rsync.samba.org維護。

  Rsync的基本特點如下:

  1. 可以映象儲存整個目錄樹和檔案系統;

  2. 可以很容易做到保持原來檔案的許可權、時間、軟硬連結等;

  3. 無須特殊許可權即可安裝;

  4. 優化的流程,檔案傳輸效率高;

  5. 可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket連線;

  6. 支援匿名傳輸,以方便進行網站映象。

  在使用 rsync 進行遠端同步時,可以使用兩種方式:遠端 Shell 方式(建議使用 ssh,使用者驗證由 ssh 負責)和 C/S 方式(即客戶連線遠端 rsync 伺服器,使用者驗證由 rsync 伺服器負責)。

  無論本地同步目錄還是遠端同步資料,首次執行時將會把全部檔案拷貝一次,以後再執行時將只拷貝有變化的檔案(對於新檔案)或檔案的變化部分(對於原有檔案)。

  rsync 在首次複製時沒有速度優勢,速度不如 tar,因此當資料量很大時您可以考慮先使用 tar 進行首次複製,然後再使用 rsync 進行資料同步。

二、系統環境

系統平臺:CentOS release 6.3 (Final)

rsync 版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm

rsync 伺服器:TS-DEV (172.16.1.135)

rsync 客戶端:TS-CLIENT (172.16.1.136)

三、伺服器端安裝rsync服務

3.1. 檢查rsync 是否已經安裝

# rpm -qa|grep rsync

若已經安裝,則使用rpm -e 命令解除安裝。

3.2. 下載RPM包

# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm

3.3. 安裝rsync

# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm

四、配置 rsync 服務

4.1. 配置 rsync 伺服器的步驟

  • 首先要選擇伺服器啟動方式
    • 對於負荷較重的 rsync 伺服器應該使用獨立執行方式
    • 對於負荷較輕的 rsync 伺服器可以使用 xinetd 執行方式
  • 建立配置檔案 rsyncd.conf
  • 對於非匿名訪問的 rsync 伺服器還要建立認證口令檔案

4.2. 以 xinetd 執行 rsync 服務

CentOS 預設以 xinetd 方式執行 rsync 服務。rsync 的 xinetd 配置檔案
在 /etc/xinetd.d/rsync。要配置以 xinetd 執行的 rsync 服務需要執行如下的命令:

# chkconfig rsync on
# service xinetd restart

管理員可以修改 /etc/xinetd.d/rsync 配置檔案以適合您的需要。例如,您可以修改配置行

server_args = --daemon

在後面新增 rsync 的服務選項。

4.3. 獨立執行 rsync 服務

最簡單的獨立執行 rsync 服務的方法是執行如下的命令:

# /usr/bin/rsync --daemon

您可以將上面的命令寫入 /etc/rc.local 檔案以便在每次啟動伺服器時執行 rsync 服務。當然,您也可以寫一個指令碼在開機時自動啟動 rysnc 服務。

4.4. 配置檔案 rsyncd.conf

兩種 rsync 服務執行方式都需要配置 rsyncd.conf,其格式類似於 samba 的主配置檔案。
配置檔案 rsyncd.conf 預設在 /etc 目錄下。為了將所有與 rsync 服務相關的檔案放在單獨的目錄下,可以執行如下命令:

# mkdir /etc/rsyncd
# touch /etc/rsyncd/rsyncd.conf
# ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf

配置檔案 rsyncd.conf 由全域性配置和若干模組配置組成。配置檔案的語法為:

  • 模組以 [模組名] 開始
  • 引數配置行的格式是 name = value ,其中 value 可以有兩種資料型別:
    • 字串(可以不用引號定界字串)
    • 布林值(1/0 或 yes/no 或 true/false)
  • 以 # 或 ; 開始的行為註釋
  • \ 為續行符

全域性引數

在檔案中 [module] 之外的所有配置行都是全域性引數。當然也可以在全域性引數部分定義模組引數,這時該引數的值就是所有模組的預設值。

引數 說明 預設值
address 在獨立執行時,用於指定的伺服器執行的 IP 地址。由 xinetd 執行時將忽略此引數,使用命令列上的 –address 選項替代。 本地所有IP
port 指定 rsync 守護程序監聽的埠號。 由 xinetd 執行時將忽略此引數,使用命令列上的–port 選項替代。 873
motd file 指定一個訊息檔案,當客戶連線伺服器時該檔案的內容顯示給客戶。
pid file rsync 的守護程序將其 PID 寫入指定的檔案。
log file 指定 rsync 守護程序的日誌檔案,而不將日誌傳送給 syslog。
syslog facility 指定 rsync 傳送日誌訊息給 syslog 時的訊息級別。 daemon
socket options 指定自定義 TCP 選項。

模組引數

模組引數主要用於定義 rsync 伺服器哪個目錄要被同步。模組宣告的格式必須為 [module] 形式,這個名字就是在 rsync 客戶端看到的名字,類似於 Samba 伺服器提供的共享名。而伺服器真正同步的資料是通過 path 來指定的。可以根據自己的需要,來指定多個模組,模組中可以定義以下引數:

a. 基本模組引數

引數 說明 預設值
path 指定當前模組在 rsync 伺服器上的同步路徑,該引數是必須指定的。
comment 給模組指定一個描述,該描述連同模組名在客戶連線得到模組列表時顯示給客戶。

b. 模組控制引數

引數 說明 預設值
use chroot 若為 true,則 rsync 在傳輸檔案之前首先 chroot 到 path 引數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要 root 許可權,並且不能備份指向 path 外部的符號連線所指向的目錄檔案。 true
uid 指定該模組以指定的 UID 傳輸檔案。 nobody
gid 指定該模組以指定的 GID 傳輸檔案。 nobody
max connections 指定該模組的最大併發連線數量以保護伺服器,超過限制的連線請求將被告知隨後再試。 0(沒有限制)
lock file 指定支援 max connections 引數的鎖檔案。 /var/run/rsyncd.lock
list 指定當客戶請求列出可以使用的模組列表時,該模組是否應該被列出。如果設定該選項為 false,可以建立隱藏的模組。 true
read only 指定是否允許客戶上傳檔案。若為 true 則不允許上傳;若為 false 並且伺服器目錄也具有讀寫許可權則允許上傳。 true
write only 指定是否允許客戶下載檔案。若為 true 則不允許下載;若為 false 並且伺服器目錄也具有讀許可權則允許下載。 false
ignore errors 指定在 rsync 伺服器上執行 delete 操作時是否忽略 I/O 錯誤。一般來說 rsync 在出現 I/O 錯誤時將將跳過 –delete 操作,以防止因為暫時的資源不足或其它 I/O 錯誤導致的嚴重問題。 true
ignore nonreadable 指定 rysnc 伺服器完全忽略那些使用者沒有訪問許可權的檔案。這對於在需要備份的目錄中有些不應該被備份者獲得的檔案時是有意義的。 false
timeout 該選項可以覆蓋客戶指定的 IP 超時時間。從而確保 rsync 伺服器不會永遠等待一個崩潰的客戶端。對於匿名 rsync 伺服器來說,理想的數字是 600(單位為秒)。 0 (未限制)
dont compress 用來指定那些在傳輸之前不進行壓縮處理的檔案。該選項可以定義一些不允許客戶對該模組使用的命令選項列表。必須使用選項全名,而不能是簡稱。當發生拒絕某個選項的情況時,伺服器將報告錯誤資訊然後退出。例如,要防止使用壓縮,應該是:”dont compress = *”。 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

c. 模組檔案篩選引數

引數 說明 預設值
exclude 指定多個由空格隔開的多個檔案或目錄(相對路徑),並將其新增到 exclude 列表中。這等同於在客戶端命令中使用 –exclude 來指定模式。
exclude from 指定一個包含 exclude 規則定義的檔名,伺服器從該檔案中讀取 exclude 列表定義。
include 指定多個由空格隔開的多個檔案或目錄(相對路徑),並將其新增到 include 列表中。這等同於在客戶端命令中使用 –include 來指定模式 。
include from 指定一個包含 include 規則定義的檔名,伺服器從該檔案中讀取 include 列表定義。
  • 一個模組只能指定一個exclude 引數、一個include 引數。
  • 結合 include 和 exclude 可以定義複雜的exclude/include 規則 。
  • 這幾個引數分別與相應的rsync 客戶命令選項等價,唯一不同的是它們作用在伺服器端。

d. 模組使用者認證引數

引數 說明 預設值
auth users 指定由空格或逗號分隔的使用者名稱列表,只有這些使用者才允許連線該模組。這裡的使用者和系統使用者沒有任何關係。使用者名稱和口令以明文方式存放在 secrets file 引數指定的檔案中。 (匿名方式)
secrets file 指定一個 rsync 認證口令檔案。只有在 auth users 被定義時,該檔案才起作用。
strict modes 指定是否監測口令檔案的許可權。若為 true 則口令檔案只能被 rsync 伺服器執行身份的使用者訪問,其他任何使用者不可以訪問該檔案。 true
  • rsync 認證口令檔案的許可權一定是 600,否則客戶端將不能連線伺服器。
  • rsync 認證口令檔案中每一行指定一個 使用者名稱:口令 對,格式為:

    username:passwd

  • 一般來說口令最好不要超過8個字元。若您只配置匿名訪問的 rsync 伺服器,則無需設定上述引數。

e. 模組訪問控制引數

引數 說明 預設值
hosts allow 用一個主機列表指定哪些主機客戶允許連線該模組。不匹配主機列表的主機將被拒絕。 *
hosts deny 用一個主機列表指定哪些主機客戶不允許連線該模組。

客戶主機列表定義可以是以下形式:

  • 單個IP地址。例如:192.168.0.1
  • 整個網段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0
  • 可解析的單個主機名。例如:centos,centos.bsmart.cn
  • 域內的所有主機。例如:*.bsmart.cn
  • “*”則表示所有。
  • 多個列表項要用空格間隔。

f. 模組日誌引數

引數 說明 預設值
transfer logging 使 rsync 伺服器將傳輸操作記錄到傳輸日誌檔案。 false
log format 指定傳輸日誌檔案的欄位。 ”%o %h [%a] %m (%u) %f %l”

設定了”log file”引數時,在日誌每行的開始會新增”%t [%p]“。

可以使用的日誌格式定義符如下所示:
  • %a - 遠端IP地址
  • %h - 遠端主機名
  • %l - 檔案長度字元數
  • %p - 該次 rsync 會話的 PID
  • %o - 操作型別:”send” 或 “recv”
  • %f - 檔名
  • %P - 模組路徑
  • %m - 模組名
  • %t - 當前時間
  • %u - 認證的使用者名稱(匿名時是 null)
  • %b - 實際傳輸的位元組數
  • %c - 當傳送檔案時,記錄該檔案的校驗碼

五、rsync 伺服器應用案例

5.1. 在伺服器端TS-DEV上配置rsync 服務

a. 編輯配置檔案

# vi /etc/rsyncd/rsyncd.conf

複製程式碼
# Minimal configuration file for rsync daemon
# See rsync(1) and rsyncd.conf(5) man pages for help

# This line is required by the /etc/init.d/rsyncd script
# GLOBAL OPTIONS uid = root gid = root
use chroot = no
read only = yes #limit access to private LANs hosts allow=172.16.0.0/255.255.0.0 192.168.1.0/255.255.255.0 10.0.1.0/255.255.255.0 hosts deny=*
max connections = 5                      

pid file = /var/run/rsyncd.pid

secrets file = /etc/rsyncd/rsyncd.secrets
#lock file = /var/run/rsync.lock           
motd file = /etc/rsyncd/rsyncd.motd #This will give you a separate log file log file = /var/log/rsync.log #This will log every file transferred - up to 85,000+ per user, per sync transfer logging = yes log format = %t %a %m %f %b syslog facility = local3 timeout = 300
# MODULE OPTIONS [davidhome] path = /home/david/ list=yes ignore errors auth users = david comment = David home exclude = important/ [chinatmp] path = /tmp/china/ list=no ignore errors auth users = china comment = tmp_china
複製程式碼

b. 建立/etc/rsyncd/rsyncd.secrets檔案

# vim /etc/rsyncd/rsyncd.secrets

david:asdf           #格式   使用者名稱:口令
china:jk               #該使用者不要求是系統使用者

c. 為了密碼的安全性,我們把許可權設為600

# chown root:root /etc/rsyncd/rsyncd.secrets

# chmod 600 /etc/rsyncd/rsyncd.secrets

d. 建立連線到伺服器的客戶端看到的歡迎資訊檔案/etc/rsyncd/rsyncd.motd

# vim /etc/rsyncd/rsyncd.motd

+++++++++++++++++++++++++++
+                  David Camp                    +
+++++++++++++++++++++++++++

e. 啟動rsync

# /etc/init.d/xinetd restart

f. 檢視873埠是否起來

# netstat -an | grep 873

如果rsync啟動成功的話可以看到873埠已經在監聽了。

g. 伺服器端檔案詳細

5.2. 客戶端配置

a. 客戶端安裝rsync

# yum -y install rsync

b. 通過rsync客戶端來同步資料

場景一:

# rsync -avzP [email protected]::davidhome  /tmp/david/

Password: 這裡要輸入david的密碼,是伺服器端提供的,在前面的例子中,我們用的是 asdf,輸入的密碼並不顯示出來;輸好後就回車;
注: 這個命令的意思就是說,用david 使用者登入到伺服器上,把davidhome資料,同步到本地目錄/tmp/david/上。當然本地的目錄是可以你自己定義的,比如 dave也是可以的;當你在客戶端上,當前操作的目錄下沒有davidhome這個目錄時,系統會自動為你建立一個;當存在davidhome這個目錄中,你要注意它的寫許可權。

說明:
-a 引數,相當於-rlptgoD,-r 是遞迴 -l 是連結檔案,意思是拷貝連結檔案;-p 表示保持檔案原有許可權;-t 保持檔案原有時間;-g 保持檔案原有使用者組;-o 保持檔案原有屬主;-D 相當於塊裝置檔案;
-z 傳輸時壓縮;
-P 傳輸進度;
-v 傳輸時的進度等資訊,和-P有點關係,自己試試。可以看文件;

場景二:
# rsync -avzP  --delete [email protected]172.16.1.135::davidhome  /tmp/david/

這回我們引入一個 –delete 選項,表示客戶端上的資料要與伺服器端完全一致,如果 /tmp/david/目錄中有伺服器上不存在的檔案,則刪除。最終目的是讓/tmp/david/目錄上的資料完全與伺服器上保持一致;用的時候要小心點,最好不要把已經有重要數所據的目錄,當做本地更新目錄,否則會把你的資料全部刪除;

場景三:
# rsync -avzP  --delete  --password-file=/tmp/rsync.password  [email protected]::davidhome  /tmp/david/

這次我們加了一個選項 –password-file=rsync.password ,這時當我們以david使用者登入rsync伺服器同步資料時,密碼將讀取 /tmp/rsync.password 這個檔案。這個檔案內容只是david使用者的密碼。我們要如下做;

# touch /tmp/rsync.password
# chmod 600 /tmp/rsync.password
# echo "asdf"> /tmp/rsync.password
# rsync -avzP  --delete  --password-file=/tmp/rsync.password  [email protected]::davidhome  /tmp/david/

注: 這樣就不需要密碼了;其實這是比較重要的,因為伺服器通過crond 計劃任務還是有必要的;

5.3. rsync 客戶端自動與伺服器同步資料

編輯crontab
# crontab -e
加入如下程式碼:

10 0 * * * rsync -avzP  --delete  --password-file=/tmp/rsync.password  [email protected]::davidhome  /tmp/david/

表示每天0點10分執行後面的命令。

六、錯誤分析

@ERROR: chdir failed  rsync error: error starting client-server protocol (code 5) at main.c(1530) [receiver=3.0.6] 

rsync: opendir "." (in xxxxxxx) failed: Permission denied (13)

解決辦法:

1、將 selinux 對 rsync 的限制全部去掉:
# /usr/sbin/setsebool -P rsync_disable_trans 1
# service xinetd restart

2、狠一點,禁止整個 selinux :
# vim /etc/selinux/config
將其中的 SELINUX=enforcing 修改為 SELINUX=disabled
儲存退出後,重啟機器。

至此,rsync伺服器配置完畢。

七、參考

不自由的風

  • 業務合作,請聯絡作者QQ:752258985
  • 我的微訊號:752258985
  • 給我寫信:[email protected]

我們永遠相信,分享是一種美德 | We Believe, Great People Share Knowledge...

相關推薦

第十二章 FTP伺服器安裝配置

習題 1.簡述FTP的連線模式。 FTP的連線模式有PORT和PASV兩種,其中PORT模式是主動模式,PASV是被動模式, 這裡所說的主動和被動都是相對於伺服器而言的。如果是主動模式,資料埠為20,如 果是被動模式,則由伺服器端和客戶端協商而定。 2.簡述FTP的傳輸模式。 FTP可用多種格式傳

centOS7下FTP伺服器安裝配置

一、安裝vsftpd及ftp命令 yum install vsftpd -y yum install ftp -y 二、vsftpd伺服器的配置檔案   實現在開啟防火牆和SELinux情況下,實現匿名使用者的登入,可以上傳下載,可以建立目錄,建立許可權掩碼為022,可以刪

Win10 IIS Web伺服器安裝配置

這幾天課程實訓,使用 IIS 配置伺服器,課本上內容太古老,老師也沒有講過,自己摸索弄的,所以記錄一下 安裝 IIS 開啟 程式和功能,選擇左邊 啟用或關閉 Windows 功能,建議根據

SVN版本控制伺服器安裝配置

       版本管理在我們日常學習中一般接觸不到,因為我們都是一個人在學習與開發一些練習的專案。但是實際中,一般專案都是協同開發的,這樣就需要一個版本管理工具,常見的有SVN/CVS/GitHut等

rsync伺服器安裝配置

一、rsync 簡介   Rsync(remote synchronize)是一個遠端資料同步工具,可通過LAN/WAN快速同步多臺主機間的檔案,也可以使用 Rsync 同步本地硬碟中的不同目錄。    Rsync 是用於取代rcp的一個工具,Rsync使用所謂的 “

linux下rsync安裝配置

linux rsync rsync (同步數據,支持增量備份)使用方法:rsync -av 192.168.31.182:/tmp/1.txt /tmp/ (將服務器192.168.31.182中tmp文件夾下的1.txt文件拷貝到本機的tmp目錄下)rsync -av /tmp/1.tx

CentOS 6.3下rsync服務器的安裝配置

mini 相關 有變 監測 部分 pro 當我 將不 pkgs 一、rsync 簡介   Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件,也可以使用 Rsync 同步本地硬盤中的不同目錄。   Rsy

vsftpd檔案伺服器安裝配置(centos6.x和7.x)

vsftpd是一款免費的、開源的ftp伺服器軟體。     安裝環境(centos 6.8 64位)   安裝版本 vsftpd-2.2.2-24.el6.x86_64   安裝步驟:     一:執行 yum -y install vsftpd(1、可以先執

Linux(Centos7)下,阿帕奇(Apache)伺服器安裝配置

Y6   Apache是世界使用排名第一的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。 下面介紹Apac

基於centos7系統下SVN的安裝配置(阿里雲伺服器下Linux)

       對於企業或者公司來說,檔案的管理一直以來都是很頭疼的事,SVN的出現對於檔案的管理提供了很大的幫助。廢話不多說了,關於SVN,就不做過多介紹了,想要了解更多的話,請檢視SVN簡介。 關於Linux系統下如何安裝SVN,下面給我我自己的實踐步驟

Tomcat系列之伺服器安裝配置以及各元件詳解

Tomcat系列之伺服器的安裝與配置以及各元件詳解 大綱 一、前言 二、安裝與配置Tomcat 三、Tomcat 目錄的結構 四、Tomcat 配置檔案 注,本文的測試的作業系統為CentOS 6.4 x86_64,軟體版本為jdk-7u40、apache

LINUX之samba伺服器安裝配置(基於redhat 6.3發行版)

linux系統之間或者linux系統和windows系統之間難免會有共享檔案的時候,實現共享的方法有很多,這裡簡單介紹一下通過samba伺服器實現linux系統與windows系統之間的檔案共享的方法。 我是windows下通過虛擬機器安裝的linux系統,redhat 6.3發行版。實現sa

伺服器環境安裝配置:kafka叢集

本文詳細說明kafka叢集安裝和命令列的基本使用 環境 zk叢集:192.168.31.201、192.168.31.202、192.168.31.203 Centos7 三臺 對齊

vsftpd檔案伺服器安裝配置(Linux)

vsftpd是一款免費的、開源的ftp伺服器軟體。   安裝環境(centos 6.8 64位)   安裝版本 vsftpd-2.2.2-24.el6.x86_64   安裝步驟:     一:執行 yum -y install vsftpd(1、可以先執行 rp

XAMPP 整合環境 安裝配置 搭建本地Tomcat、Apache 本地伺服器

一、XAMPP(Apache+MySQL+PHP+PERL)介紹 XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站整合軟體包。它可以在Windows、Linux、Solaris、Mac OS X 等多種作業系統下安裝使用。而與之相關的還有WAMP和LAMP分別是在Wi

Tomcat伺服器安裝配置

最近在學習樸老師的課程,在這裡把筆記記下來,方便往後查閱。 1、常見伺服器 WebLogic(BEA)、webSphere(IBM)、Tomcat(Apache) 2、Tomcat 的下載與安裝 下載地址:http://tomcat.apache.org/  

Rsync安裝配置

1、Rsync規劃 Rsync配置前首先規劃好,同步的方向性。方向性分為推和拉的方式,規劃推、拉是為了可以在防火牆設定埠是誰主動連線。例如:一般為從APP伺服器生成的靜態頁面使用推的方式將檔案推送到Apache伺服器上。下面就是使用推的方式進行配置。   2、Rsync伺服

RabbitMQ實踐--伺服器安裝配置命令

ubuntu安裝rabbitmq-server 按照官網的APT repositories方法安裝 #新增以下地址到/etc/apt/sources.list echo 'deb http://www.rabbitmq.com/debian/ testi

網路作業系統 第十二章 FTP伺服器安裝配置

習題 1.簡述FTP的連線模式。 FTP的連線模式有PORT和PASV兩種,其中PORT模式是主動模式,PASV是被動模式, 這裡所說的主動和被動都是相對於伺服器而言的。如果是主動模式,資料埠為20,如 果是被動模式,則由伺服器端和客戶端協商而定。 2.簡述FTP的傳輸模式。 FTP可用多種格式傳

網路作業系統 第十三章 郵件伺服器及其安裝配置

1.簡述電子郵件的工作原理。 使用者編輯的E-mail被轉換成一個標準的郵件格式,包括各種樣式的檔案,如影象、聲音、可執行程式等。郵件的內 容以各種編碼方式轉換成ASCII碼的形式,郵件的接收人地址由“使用者名稱[email protected]+主機名”的方式改為“使用者名稱[email