2016年5月26日 星期四

Exsi 快速複製虛擬主機

1.先將要複製的VM關機

2.打開Exsi裡的硬碟區

3.進入要複製的虛擬主機資料夾,例如我要複製的win2003R2這個虛擬機器


3.複製附檔名為 .vmx 和 .vmdk 檔案



4.建立新資料夾,假設取名為Win2003R2-1


5.進入該資料夾,並將剛剛複製的檔案複製進去



6.點選.vmx檔案,並加入"新增詳細目錄"

名稱可以自取



7.接下來開啟虛擬主機電源


開啟主控台,會出現以下選項,選擇 I Copied It, 這樣就會產生新的網卡mac


順利開機畫面




2016年3月12日 星期六

Linux : 搜尋與取代字串

例如要將所有PHP程式裡,關鍵字A12345取代為 B12345

find *.php | xargs -i sed -i 's/A12345/B12345/g' {}

例如要將所有/var/www/html/ttucis/的文件,關鍵字web2.ttu.edu.tw取代為 140.19.22.43

find /var/www/html/ttucis/ | xargs -i sed -i 's/web2.ttu.edu.tw/140.129.22.43/g' {}


如果要尋找資料夾中的某一個關鍵字,可以透過grep指令

以下是 要在/var/www/html/底下,尋找MYGGOODNESS 這個關鍵字

grep -inR -A2 MYGGOODNESS /var/www/html/



印出吻合條件的那一行及下兩行。"n" 選項表示印出行號。



2016年3月2日 星期三

變更 MySQL 預設路徑

MySQL 預設路徑是 /var/lib/mysql

假設要設定到/db/database 下

  1. 停止 資料庫  service mysqld stop
  2. mkdir /db/database
  3. chmod 755 /db/database
  4. # chown mysql.mysql /db/database
  5. 修改mysql 設定檔
    vi /etc/my.cnf
    [mysqld]
    #datadir=/var/lib/mysql -->註解掉
    datadir=/db/database
    #socket=/var/lib/mysql/mysql.sock -->註解掉
    socket=/db/database/mysql.sock
  6. 啟動MySQL
    service mysqld restart
  7. 要登入時出現以下錯誤
        
       
設定連結
 ln語法:-s soft link
 ln -s 來源檔案 目的
檔案
 ln -s /db/database/mysql.sock /var/lib/mysql/mysql.sock



快速轉移資料庫方式:
直接複製原始資料庫的資料夾(如果沒有改位置的話,通常可以在/var/lib/mysql/ 中找到,資料夾名對應的是資料庫名稱)到新的資料庫中(如新的資料庫位置 /db/database/),

注意,須將資料夾中的權限開給mysql,並設定700的讀取權限

chown -R mysql.mysql /db/database/

chmod 755 /db/database/




2016年2月29日 星期一

CentOS7 防火牆改用iptables

1. 關閉及停止使用 Firewalld:
    systemctl disabled firewalld    
    systemctl stop firewalld

2. 安裝 iptables
 yum install iptables-services

3. 啟動及設定開機執行 iptables

 systemctl enable iptables
 systemctl start iptables

2016年1月7日 星期四

啟用rsync 進行程式碼備份

備份主機:(等待備份程式碼上傳的主機):

需安裝 rsync 與 xinted
yum install rsync xinetd

編輯 /etc/xinetd.d/rsync
將 disable = yes 改為 disable = no

重啟 xinetd
service xinetd restart

記得開啟防火牆 873 port

編輯設定檔
自行編輯 /etc/rsyncd.conf (如果沒有此檔案可自行產生)

 vi /etc/rsyncd.conf

#log存放位置
log file = /var/log/rsync.log
# 備份資料存放的位置,你也可以設很多不同的標籤識別 存放位置
[web]
path = /var/bkup/wwwbkup/
[web2]
path = /var/bkup/www2bkup/
[web3]
path = /var/bkup/www3bkup/

#允許以下IP 進行備份
hosts allow = 140.129.12.9 140.129.12.188 140.129.50.25
list = true
#執行的user id
uid = bkupuser
#因為目錄資料寫入的權限問題,我已先將bkupuser與root放入同一群組
gid = root
read only = false


本地端:
安裝rsync
yum install rsync

編輯密碼檔案
我放在 /root/rsync.passwd, 裡面紀錄的是備份主機的bkupuser用戶的密碼,
假設bkupuser的密碼是 au4a83x06jo4 

記得該檔案讀寫權限要設為600
chmod 600 /root/rsync.passwd

利用crontab 來 定期執行

crontab -e

#網頁rsync差異備份
35 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/ttucis bkupuser@備份主機IP::web
45 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/apply bkupuser@備份主機IP::web2
55 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/applymgm bkupuser@備份主機IP::web3
58 1 * * 1-5 /usr/bin/rsync -avzHSP --delete --password-file=/root/rsync.passwd /var/www/html/photo bkupuser@備份主機IP::web3
注意!! 
請注意備份路徑「/var/www/html/ttucis」的後面有沒有多一個「/」的結果會差很多,有「/」的話那同步過去的會是整個 /var/www/html/ttucis 的內容 (/var/www/html/ttucis/*),沒有「/」的話會在目標路徑建立一個 html 目錄,目錄下才是 /var/www/html/ttucis 的內容。

相關參數參考:(來源網址:http://www.vixual.net/blog/archives/186)

  • -a--archive: 這最常被使用的參數,相當於同時使用 -rlptgoD,即: *
    • -r: 子目錄遞迴
    • -l: 複製符號連結
    • -p: 複製檔案權限
    • -t: 複製時間屬性
    • -g: 複製群組屬性
    • -o: 複製擁有者屬性
    • -D: 複製裝置屬性
  • -v--verbose: 顯示詳細資訊 *
  • -z--compress: 壓縮傳輸的資料,以減少傳輸量 *
  • -R--relative: 備份後,使用本地端完整的路徑 (不加此參數,則為相對路徑)
  • -H--hard-links: 保留檔案的連結 *
  • -S--sparse: 使有比較有效率的方式處理零散的檔案 *
  • -P: 等同加了 --partial --progress,即: *
    • --partial: 保留傳輸中斷的檔案以進行續傳
    • --progress: 即時顯示檔案傳輸的進度
  • --delete: 本地端如果刪掉檔案,則備份伺服器也同時刪除該檔案,以保持兩邊檔案的一致 *
  • --password-file: 密碼檔的位置 (如不輸入此參數,則程式執行時會詢問你) *

2015年11月27日 星期五

變更 Cpanel Port

最近主機的Cpanel 服務一直被嘗試入侵,所以想要把預設的2082 Port 給改掉

 vi /var/cpanel/cpanel.config
找到port=2082 把它給改掉,例如改為port=54321

接著 service cpanel restart

記得如果有架防火牆的話要把 port 542321 給開通

如果是csf 的話,要在/etc/csf/csf.conf 中,TCP_IN 加入54321 並重啟 csf

2015年9月29日 星期二

[備忘錄] Linux SSH 設定

順手記一下東西
1. 常見的crontab 中會用到 ,如
  0 6 * * * /usr/local/cpanel/scripts/exim_tidydb > /dev/null 2>&1
時間格式:分時日月周
/dev/null :視為黑洞裝置
>:將結果覆蓋前一次紀錄:
>>:將結果累加到前一次紀錄
> /dev/null 2>&1:可避免錯誤訊息產生時塞爆root信箱

2. 限定SSH 多久時間登出,編輯/etc/ssh/sshd_conf 中,
ClientAliveInterval及ClientAliveCountMax,
ClientAliveInterval的單位是秒。
設定好後,連線逾時時間就是ClientAliveInterval * ClientAliveCountMax
如果 ClientAliveCountMax 要設成0,逾時時間就是ClientAliveInterval設定的秒數。

TCPKeepAlive 設定成 no

實際測試結果:
要把ClientAliveCountMax 要設成0才會有用,似乎是putty等等的連線軟體會自動幫你回應..
所以我調整如下
ClientAliveInterval 300 #5分鐘
ClientAliveCountMax 0

3.

限制一下最大密码错误次数3次,自己登录基本不会连续错3次,密码错误超过3次拒绝登录


MaxAuthTries 3

4.
通过修改 SSH 配置文件简便地增强安全性

Port 22960 
LoginGraceTime 30 
MaxAuthTries 3 
Protocol 2 
PermitRootLogin no
LoginGraceTime 允许一次登录花费 30 秒;如果用户花费的时间超过 30 秒,就不允许他访问,必须重新登录。
MaxAuthTries 把错误尝试的次数限制为 3 次,3 次之后拒绝登录尝试。
上面的 Protocol 2 行禁止使用比较弱的协议。
最后一行不允许任何人作为root用户登录,这会让黑客攻击更困难。