2014年9月25日 星期四

Fix bash Vulnerability CVE-2014-6271

測試方式:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'

如果出現以下,代表你是安全的
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

如果出現以下,代表會被這漏洞攻擊
vulnerable
hello


修正方式:
sudo apt-get update && sudo apt-get install bash


參考:http://askubuntu.com/questions/528101/what-is-the-cve-2014-6271-bash-vulnerability-and-how-do-i-fix-it


但是很不幸的 Ubuntu 沒修正完全。
後續還有 CVE-2014-7169 要修XD


Update:
https://twitter.com/ErrataRob/status/514831122400686080/photo/1
csh、tcsh、ksh、sh、zsh 全部中囉~可喜可賀!

SOP For Create User in Ubuntu

以下範例使用者名稱皆用 testuser

建立使用者和設定密碼
sudo useradd -d /home/testuser -m testuser
sudo passwd testuser

指定使用者 shell 用 bash(如果是的話)
sudo chsh -s /bin/bash testuser

讓使用者可以 sudo(如果需要)
sudo adduser testuser sudo

讓使用者可以透過 public key 登入
sudo mkdir /home/testuser/.ssh
sudo chown testuser:testuser /home/testuser/.ssh
sudo chmod 700 /home/testuser/.ssh

sudo mv testuser-id_rsa.pub /home/testuser/.ssh/authorized_keys
sudo chown testuser:testuser /home/testuser/.ssh/authorized_keys
sudo chmod 600 /home/testuser/.ssh/authorized_keys

2014年9月4日 星期四

Import Data To MySQL Efficiently

使用以下指令產生一百萬筆 user 的假資料

for i in `seq 1 1000000`; do echo "test$i,pass$i,,2014-09-05 03:43:27" >> users.csv; done

使用 mysqlimport 匯入資料
MySQL Host:mysql-demo
Database 名稱:my_database
Table 名稱:users
csv 檔名務必和 Table 名稱一樣。

mysqlimport --fields-terminated-by=, --columns='username,password,pass_details,created_at' --local -h mysql-demo.cxu7skntlvtx.us-east-1.rds.amazonaws.com -u admin -p my_database users.csv

使用這種方式匯入資料比使用一個 Transaction 包一堆 Insert SQL 快上百倍。
但需注意此方式如果匯入錯誤,後果自行承擔!

參考:http://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/