進入 DFU 模式教學的多種方式

進入 DFU 模式教學的第一種方法 (請先看淸楚以下步驟)

 

1.1.) 開啟 iOS 主機, 並連接主機至 iTunes.
1.2.) 首先同時按着主目錄鍵電源開關鍵.
1.3.) 至 iOS 主機被強制關機後, 放開電源開關鍵.
1.4.) 繼續維持按着主目錄鍵約 10 秒鐘.
1.5.) iTunes 將認出在 DFU 模式的主機, 按確定後即完成.

注意事項
由步驟 1.2 起, 須長按主目錄制直至步驟 1.5 完成才好放開. 另外, 進入 DFU 模式後及按回復之前, iOS 主機將維持黑屏及不會顯示任何東西.

 

 

進入 DFU 模式教學的第二種方法 (請先看淸楚以下步驟)

1.1.) 開啟 iOS 主機, 並連接主機至 iTunes.
1.2.) 首先按着電源開關鍵, 將主機正常關機.
1.3.) 接着同時按着主目錄鍵電源開關鍵約 10 秒鐘.
1.4.) 放開電源開關鍵, 繼續維持按着主目錄鍵.
1.5.) 繼續維持按着主目錄鍵約 10 秒鐘;
1.6.) iTunes 將認出在 DFU 模式的主機, 按確定後即完成.

注意事項
由步驟 1.3 起, 須長按主目錄制直至步驟 1.6 完成才好放開. 另外, 進入 DFU 模式後及按回復之前, iOS 主機將維持黑屏及不會顯示任何東西.

ref by : http://www.gizzomo.com/tutorials/dfu-mode.php

ip_forward sample

# clean all rules
iptables -F
iptables -t nat -F
iptables -X
iptables -Z

#default chain
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P  PREROUTING ACCEPT
iptables -t nat -P      OUTPUT ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#modify rule below this line
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.140.0.3:80
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 10.140.0.3:3389
iptables -t nat -A POSTROUTING -j MASQUERADE

iptables -L -n -t nat

编译linux内核前用make menuconfig设置时 Unable to find the ncurses libraries的解决办法

我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误:

*** Unable to find the ncurses libraries or the
*** required header files.
*** ‘make menuconfig’ requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.

根据错误报告是缺少Ncurses库,需要安装该库(Ncurses 提供字符终端处理库,包括面板和菜单)

详见ncures_百度百科

解决办法如下:
CentOS:
yum install -y ncurses-devel

Ubuntu:
sudo apt-get install ncurses-dev

把 SFTP 關起來 (CHROOTED) CentOS 7.1

以下文章摘自http://blog.miniasp.com/post/2011/08/11/OpenSSH-SFTP-chroot-with-ChrootDirectory.aspx

要達到以上需求,我們必須修改 OpenSSH 的設定檔,並且在建立帳號時設定正確的參數,以及建立一個擁有者為 root 的 Chroot 目錄才行,以下是詳細的設定步驟說明:

1. 新增一個 SFTP 專用的群組

在這裡我們先建立一個 sftponly 群組(你當然也可以建立其他的名稱)

groupadd sftponly

2. 修改 OpenSSH 的設定檔

編輯 “/etc/ssh/sshd_config” 檔案,先找到以下 Subsystem 設定:

Subsystem sftp /usr/lib/openssh/sftp-server internal-sftp
並修改成:

Subsystem sftp internal-sftp
然後在該設定檔最後加上以下設定,其中的 ChrootDirectory 設定的 %u 代表使用者帳號:

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

檢查 sshd_config 內容是否正確
sshd -T

重新啟動 sshd
service sshd restart

3. 建立新使用者,並加入 sftponly 群組

建立新使用者後,預設會建立 /home/USERNAME 家目錄 (Home Directory):

useradd sftpuser
由於我們在 sshd_config 設定檔中有宣告只要符合 sftponly 群組的使用者都套用 ChrootDirectory 的設定,因此必須將該使用者加入到 sftponly 群組中:

useradd -G sftponly sftpuser
另一個重點是,由於要套用 chroot() 的關係,該使用者登入後的根目錄必須擁有一些必要的目錄,為了節省設定上的麻煩,我們只要將該使用者的家目錄修改為根目錄 ( / ) 即可:

usermod -d / sftpuser

4. 修正使用者帳戶的家目錄權限

也是由於 chroot() 的特殊限制,這個要 chroot() 目錄的擁有者必須為 root,而且該目錄的權限也必須設定為 755 才行:

chown root:root /home/sftpuser
chmod 755 /home/sftpuser
這裡沒有設定正確的話將永遠無法成功登入,像我第一次設定時就遇到了以下錯誤: ( /var/log/auth.log )

sshd[8636]: pam_unix(sshd:session): session opened for user sftpuser by (uid=0)
sshd[8707]: fatal: bad ownership or modes for chroot directory “/home/sftpuser”
sshd[8636]: pam_unix(sshd:session): session closed for user

5. 在使用者目錄下建立允許上傳檔案的目錄,並賦予適當的目錄權限

這一個步驟也是蠻重要的,因為 chroot() 過的目錄擁有者必須為 root 且目錄權限為 755,所以使用者登入後一定無法上傳任何檔案到這個目錄,若要讓使用者能上傳檔案,則必須先幫使用者建立好適當的目錄與設定權限才能夠上傳檔案:

cd /home/sftpuser
mkdir upload
chown sftpuser:sftpuser upload
由於該帳戶只需讓使用者上傳檔案,不允許使用者登入使用 shell,所以也建議將一些家目錄內的隱藏檔刪除,以免使用者透過 WinSCP 或 FileZilla Client 登入時看到一些奇怪的檔案。

經過幾個簡單的設定過程,就能夠給客戶使用安全的檔案傳輸功能,又能兼顧開放 SSH 的安全性!

就是igofun