js 監測滾動條觸底載入新資料,實現無限重新整理內容功能
Linux Token Auth 一次性密碼認證
摘要
伺服器端指令碼:
https://github.com/oscm/devops/blob/master/bin/chpasswd.sh
手機應用:
https://github.com/oscm/Token
我的系列文件
Netkiller Architect 手札 |
Netkiller Developer 手札 |
Netkiller PHP 手札 |
Netkiller Python 手札 |
Netkiller Testing 手札 |
---|---|---|---|---|
Netkiller Cryptography 手札 |
Netkiller Linux 手札 |
Netkiller Debian 手札 |
Netkiller CentOS 手札 |
Netkiller FreeBSD 手札 |
Netkiller Shell 手札 |
Netkiller Security 手札 |
Netkiller Web 手札 |
Netkiller Monitoring 手札 |
Netkiller Storage 手札 |
Netkiller Mail 手札 |
Netkiller Docbook 手札 |
Netkiller Project 手札 |
Netkiller Database 手札 |
Netkiller PostgreSQL 手札 |
Netkiller MySQL 手札 |
Netkiller NoSQL 手札 |
Netkiller LDAP 手札 |
Netkiller Network 手札 |
Netkiller Cisco IOS 手札 |
Netkiller H3C 手札 |
Netkiller Multimedia 手札 |
Netkiller Perl 手札 |
Netkiller Amateur Radio 手札 |
Netkiller DevOps 手札 |
您可以使用iBook閱讀當前文件
目錄
- 1. 什麼是Token
- 2. 為什麼使用令牌
- 3. 什麼時候能用到令牌技術
- 4. 本文的Token應用在什麼地方
- 5. 誰來部署
- 6. 手機端配置
- 6.1. 設定密碼
- 6.2. 檢視伺服器密碼
- 6.3. 設定重新整理時間
1. 什麼是Token
Token(令牌)是一個身份認證標識,token還有一個特點,那就是存在過期時間的。也就是令牌不是長久有效的。
2. 為什麼使用令牌
我們通常需要臨時或者一次性使用的身份認證
3. 什麼時候能用到令牌技術
例如我們去餐廳就餐,向前臺獲取Wifi密碼,然後可以享受30分鐘的上網服務。30分鐘過後密碼將失效。
我們公司有很多伺服器,密碼的管理非常麻煩,有時還會有人事變動,一旦人員發生變動,所有的伺服器密碼都需要修改一次,非常麻煩,偶爾會有漏改情況,使用堡壘機可以更好的管理密碼,但成本非常昂貴。
於是我便想起了Token技術,但購買Token硬體成本也要花費不少錢。Token的原理我很清楚,通過對稱演算法算出相同對等金鑰,我們可以不購買硬體裝置,自己開發,手機裝置隨身攜帶,所以開發移動版Token最好不過。
4. 本文的Token應用在什麼地方
我採用Token技術實現Linux指定使用者的密碼週期變化,以時間為基準,手機同步算出伺服器上的密碼。為了防止密碼被窮舉,我增加了4個干擾字元。
如果對密碼演算法強度感到不安全,你可以自行修改複雜度。
你還可以遠端修改密碼,不多講。
5. 誰來部署
首先由管理員部署密碼修改程式 chpasswd.sh 然後加入到crontab 中定時執行。
由於考慮到讀者的水平參差不齊,所以我使用shell完成,這樣絕大多數讀者都能看懂。
# cat chpasswd.sh
#!/bin/bash
datetime=`date +%Y-%m-%d" "%H":"%M`
email="[email protected]"
#password=$(cat /dev/urandom | tr -cd [:alnum:] | fold -w30 | head -n 1)
string=$(date -u "+%Y$1%m$2%d$3%H$4%M")
password=$(echo $string | md5sum | cut -c 2-9 | base64 | tr -d "=" | cut -c 1-32)
echo $password > ~/.lastpasswd
echo $password | passwd www --stdin > /dev/null
~/.lastpasswd 中儲存最後一次密碼
crontab 設定,每分鐘修改一次密碼。
# crontab -l
*/1 * * * * /root/chpasswd.sh a b c d
a b c d 自行設定,設定與手機端相同即可
至此伺服器端配置完成
6. 手機端配置
安裝Token.apk檔案到你的手機
https://github.com/oscm/Token
6.1. 設定密碼
確認密碼
選擇環境
設定干擾碼
6.2. 檢視伺服器密碼
6.3. 設定重新整理時間
預設1分鐘重新整理一次,可能沒有來得及輸入完密碼就會更新密碼
如果修改此項,伺服器端crontab中的設定同步更改即可。