2018年9月5日 星期三

NFS限制寫入UID、GID

Server
cat /etc/exports
/sharepoint 10.140.0.0/16(rw,sync,all_squash,anonuid=2000,anongid=500) 192.168.2.0/24(rw,all_squash,anonuid=2000,anongid=500)


Client
useradd -u 2000 -M -s /sbin/nologin nfsg
groupadd -g 500 ftpgroup


/bin/mount -t nfs -o vers=3,rw,bg,soft 10.140.0.51:/sharepoing /mountpoint

2018年8月27日 星期一

ascii code

一、屬性變化

控 制 碼 ==> <Ctrl-V>[0m還原為黑底白字正常顯示狀態
屬 性 變 化 ==> 還原為黑底白字正常顯示狀態
控 制 碼 ==> <Ctrl-V>[1m設定文字以高亮度顯示<Ctrl-V>[0m
屬 性 變 化 ==> 設定文字以高亮度顯示
控 制 碼 ==> <Ctrl-V>[5m設定文字以閃爍方式顯示<Ctrl-V>[0m
屬 性 變 化 ==> 設定文字以閃爍方式顯示
控 制 碼 ==> <Ctrl-V>[7m設定以反相方式(前景與背景對調)顯示<Ctrl-V>[0m
屬 性 變 化 ==> 設定以反相方式(前景與背景對調)顯示
控 制 碼 ==> <Ctrl-V>[1;5m設定文字以高亮度, 閃爍方式顯示<Ctrl-V>[0m
屬 性 變 化 ==> 設定文字以高亮度, 閃爍方式顯示
控 制 碼 ==> <Ctrl-V>[5;7m設定文字以高亮度, 反相方式顯示<Ctrl-V>[0m
屬 性 變 化 ==> 設定文字以高亮度, 反相方式顯示

二、前景顏色之變化
控 制 碼 前 景 顏 色
<Ctrl-V>[30m黑色字<Ctrl-V>[0m ******黑色字
<Ctrl-V>[31m紅色字<Ctrl-V>[0m 紅色字
<Ctrl-V>[32m綠色字<Ctrl-V>[0m 綠色字
<Ctrl-V>[33m棕色字<Ctrl-V>[0m 棕色字
<Ctrl-V>[34m藍色字<Ctrl-V>[0m 藍色字
<Ctrl-V>[35m洋紅色字<Ctrl-V>[0m 洋紅色字
<Ctrl-V>[36m青藍色字<Ctrl-V>[0m 青藍色字
<Ctrl-V>[37m淡灰色字<Ctrl-V>[0m 淡灰色字
<Ctrl-V>[1;30m黑色字<Ctrl-V>[0m 灰色字
<Ctrl-V>[1;31m淡紅色字<Ctrl-V>[0m 淡紅色字
<Ctrl-V>[1;32m淡綠色字<Ctrl-V>[0m 淡綠色字
<Ctrl-V>[1;33m黃色字<Ctrl-V>[0m 黃色字
<Ctrl-V>[1;34m淡藍色字<Ctrl-V>[0m 淡藍色字
<Ctrl-V>[1;35m淡洋紅色字<Ctrl-V>[0m 淡洋紅色字
<Ctrl-V>[1;36m淡青藍色字<Ctrl-V>[0m 淡青藍色字
<Ctrl-V>[1;37m白色字<Ctrl-V>[0m 白色字
--------------------------------------------------------------
[註] ******示表看不見,黑底黑字故看不見,真的是黑矸仔裝豆油。

三、背景顏色之變化
控 制 碼 背景顏色
<Ctrl-V>[40m黑色底<Ctrl-V>[0m 黑色底
<Ctrl-V>[41m紅色底<Ctrl-V>[0m 紅色底
<Ctrl-V>[42m綠色底<Ctrl-V>[0m 綠色底
<Ctrl-V>[43m棕色底<Ctrl-V>[0m 棕色底
<Ctrl-V>[44m藍色底<Ctrl-V>[0m 藍色底
<Ctrl-V>[45m洋紅色底<Ctrl-V>[0m 洋紅色底
<Ctrl-V>[46m青藍色底<Ctrl-V>[0m 青藍色底
<Ctrl-V>[47m淡灰色底<Ctrl-V>[0m 淡灰色底******
--------------------------------------------------------------
[註] ******示表看不見,前景顏色與背景顏色相同之組合都看不見。

五、一個中文字兩個顏色之製作
1.說明
一個中文字需要用兩個位元組(Bytes) 來表示,也就是說,連續的兩個ASCII 碼如果落在中文碼的範圍,就會顯示出中文字,一般而言, 兩個ASCII 碼在128 以上的字元,極可能組成一個中文字。所以假如分別使這兩碼所代表的字元以不同的顏色顯示,即可作出一個中文字具有兩個顏色之效果。
<<實 例>>
(1) 一般的兩個字元(不在中文碼的範圍內)
<Ctrl-V>[32mA<Ctrl-V>[35mb<Ctrl-V>[0m Ab
[註] A的ASCII碼為65, b的ASCII碼為98。
(2) 特殊的兩個字元(在中文碼的範圍內)
<Ctrl-V>[32m?Ctrl-V>[35m?Ctrl-V>[0m 色
[註1] ?的ASCII碼為166, ?的ASCII碼為226。
[註2] ?可按<Alt>_1_6_6輸入, ?可按<Alt>_2_2_6輸入。
2.背景不變, 二種前景顏色
<Ctrl-V>[32;47m?Ctrl-V>[35;47m?Ctrl-V>[0m 色
3.前景不變, 二種背景顏色
<Ctrl-V>[34;42m?Ctrl-V>[34;45m?Ctrl-V>[0m 色
4.二種背景顏色, 二種前景顏色
[1] <Ctrl-V>[34;42m?Ctrl-V>[33;45m?Ctrl-V>[0m 色
[2] <Ctrl-V>[32;41m?Ctrl-V>[31;42m?Ctrl-V>[0m 色

六、霓虹燈閃爍效果之製作
1.說明
當我們剛好看到一盞綠色的燈點燃時,會有由暗而亮的感覺,如果以一綠色字元代表這一盞燈,而使字元的顏色由深變淺,則看可到相同效果,如果再使其一明一滅(即閃爍),即可看到霓虹燈閃爍的效果。
另一種作法是同一個燈,在不同時間,發射不同顏色的光。

2.明暗變化實例
<Ctrl-V>[1;5;31;41m▇<Ctrl-V>[0m ▇
<Ctrl-V>[1;5;32;42m▇<Ctrl-V>[0m ▇
<Ctrl-V>[1;5;33;43m▇<Ctrl-V>[0m ▇

3.不同顏色變化實例
<Ctrl-V>[5;34;46m▇<Ctrl-V>[36;44m▇<Ctrl-V>[0m ▇▇
<Ctrl-V>[5;36;44m▇<Ctrl-V>[34;46m▇<Ctrl-V>[0m ▇▇

4.不同顏色變化實例(也有明暗效果)
<Ctrl-V>[1;5;34;46m▇<Ctrl-V>[36;44m▇<Ctrl-V>[0m ▇▇
<Ctrl-V>[1;5;36;44m▇<Ctrl-V>[34;46m▇<Ctrl-V>[0m ▇▇

command line connect mysql (check big5 terminal)

#!/bin/sh


if [ $# -lt 1 ] ; then

echo "Usage $0 xx.xx.xx.xx"

exit 0

fi

LANGT=`echo $LANG`
BIG5='51 52 53 54 61 62'

for x in $BIG5 ; do

if [[ $1 = "10.10.2.$x" && $LANG != "zh_TW.BIG5" ]] ; then

echo "Please Use Big5 Terminal."
exit 0

fi
done

echo "DB=$1"

ssh -tt hanzo@$1 "mysql -u root -p"

shell script array

#!/bin/sh

p1="1 2 3 4 5 6 7"
p2="sun mon tue wed thu fri sat"

i=0
for y in $p1 ; do 
  ar1[$i]=$y
  i=$i+1;
done


j=0
    for y in $p2 ; do
        echo ${ar1[$j]},$y
        j=$j+1
    done


在shell script增加payload與直接安裝mysql

#!/bin/bash

yum -y update
yum -y install gcc gcc-c++ *ncurses* cmake perl sharutils


uuencode=1
binary=0



function untar_payload()
{
        match=$(grep --text --line-number '^PAYLOAD:$' $0 | cut -d ':' -f 1)
        payload_start=$((match + 1))
        tail -n +$payload_start $0 | uudecode | tar -xzvf -
}

function compile_mysql()
{
cd mysql-5.6.23
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=big5 \
-DDEFAULT_COLLATION=big5_chinese_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DSYSCONFDIR=/etc

make && make install


groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql /usr/local/mysql
mkdir /data/mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 ./scripts/mysql_install_db
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

chmod 755 /etc/init.d/mysqld


}


untar_payload
compile_mysql


exit 0

PAYLOAD:
begin 644 -
M'XL(`$X+O50``^Q;;5,;29+V9WY%+3,1ACF]`#;V+!XF3@B!%0.(0S`[7H>/
M:'674)U;W=JN;D"[['^_?*OJ;DG(]MWL?+E3A`VHJ[*R\O7)K.KIW/XM;NZW
MWK3V7K5?_&L^._!YN[\//W?WW[[=I;]W=O?X)W]>[.Z]WG^[M[/_^NVK%_!L
M[]6K%VK_7\1/[5/8/,B4>C$;[1569\^.>YAH'?\1#/VQGVE5_T<W_;/CW]\*
MODW_\/WNJQT8]O_Z_P,^*_0_*DP<W4[#\$ZW[.1W6&.M_G??[+QZ^[;4__Z;
M%SAL9_^%VOD=UO[BY_^X_K_[4WMDDK:=;&Q\I[KI;)Z9NTFNML)MM;>S\V,#
M_M_=:ZA!%H2Q5D$2M=-,F=RJ8#PVL0ER;5NJ$\>*YEF5:1#BO8Y:&]\!P>N)
ML6J6I7=9,%7PZSC36METG#\$F7ZGYFFAPB"!29&Q>69&1:Z!N"P#\Z=I9,9S
M_*I((IVI?*)5KK.I5>F8_CB]N%%G9I0%V5R=ZD1G0:PNBU%L0IA]9D*=6.`:

end

mysql_config_editor (讓script可以免輸入密碼)

使用方法如下
======內容======
mysql_config_editor set --login-path=mysql --host=localhost --user=username --password
======內容======

login-path:mysql登入的名稱
host:連線資料庫
user:登入使用的帳號(不要用root,建議使用專屬功能帳號,例如針對某個table)
password:資料庫密碼

查看生成帳號
======內容======
# mysql_config_editor print --all
[client]
user = username
password = *****
host = localhost
socket = /data/mysql/mysqld.sock
======內容======

設定後MySQL客戶端登陸方式:
======內容======
mysql --login-path=mysql
======內容======

刪除大於30的MySQL資料(shell script)

#!/bin/sh


case $1 in

del)

DATE=`date +%Y-%m-%d\ 00:00:00 --date '1 month ago'`
SQL="mysql --login-path=client --disable-column-names -e"

$SQL  "use event;delete from api_search_log where create_time <= '$DATE'; "
echo "event.api_search_log <= $DATE delete done."

;;


db)

#找資料用
mysql --login-path=client

;;


*)

echo "Usage:$0 {del|db}"
exit 0
;;

esac