新增刪除openvppn使用者的指令碼
1)nginx啟動成功會有乙個pid檔案,所以根據判斷該檔案是否存在來確定nginx是開啟還是關閉狀態
2)通過指令碼傳入引數start或stop,通過case語句取值判斷
3)為了專業,呼叫系統函式庫的action函式
4)對函式及命令允許的返回值進行處理,是指令碼看起來更專業、規範
5)通過chkconfig來管理nginx指令碼,實現開機自啟動
#!
/bin/sh
# chkconfig:
2345
4098
# description: start/stop nginx server
path=
pid=
retval=0.
/etc/init.d/functions
start()
stop()
case "$1"
instart)
start
retval=$?;;
stop)
stop
retval=$?;;
restart)
stop
sleep 1
start
retval=$?;;
*)echo $"usage: $0 "
exit 1
esac
exit $retval
chomod +x /etc/init.d/nginxd
1) 命令用法:
實現通過傳參的方式往/etc/openvpn_authfile.conf裡新增使用者
usage: sh adduser username
2) 傳參要求:
-add 表示新增後面接的使用者名稱
-del 表示刪除後面接的使用者名稱
-search 表示查詢後面接的使用者名稱
3) 細節要求
如果使用者存在則不能新增,不存在則不能刪除,查詢結果要給使用者明確提示
/etc/openvpn_authfile.conf不能被所有外部使用者直接刪除及修改
#!
/bin/bash
./etc/init.d/functions
file_path=
/etc/openvpn_authfile.conf
[-f $filepath ]
|| touch $filepath
usage()
username"}if
[ $uid -ne 0
] then
echo "you are not root,must use root"
exit 1
fiif
[ $# -ne 2
] then
usage
exit 2
ficase "$1"
in-add|
-a) shift #位置引數左移,$2替換$1
if grep "^$1$" $
>
/dev/
null
2>&1
then
action $"vpnuser,$1 is exist"
/bin/
false
exit
else
chattr -i $
/bin/cp $ $
.$(date +
%f%t)
echo "$1"
>
>$
[ $?
-eq 0
]&& action $"add $1"
/bin/
true
chattr +i $fi;
;-d|
-del)
shift
if[ `grep "\b$1\b" $
|wc -l` -lt 1
] then
action $"vpnuser,$1 is not exist"
/bin/
false
exit
else
chattr -i $
/bin/cp $ $
.$(date +
%f%t)
sed -i "/^$$/d" $
[ $?
-eq 0
]&& action $"del $1"
/bin/
true
chattr +i $
exitfi;
;-s|
-search)
shift
if[ `grep -w "$1" $
|wc -l` -lt 1
] then
echo $"vpnuser,$1 is no exist."
exit
else
echo $"vpnuser,$1 is exist."
exit
fi;;*
) usege
exit
;;esac
注意本例中用到的grep三種精確過濾方法grep -w "oldboy" /file
grep "\bodlboy\b" /file
grep "^oldboy$" /file
metasploit用法案例
metasploit是一款非常好用的滲透測試工具。其中包含了九百多個exploit 攻擊模組 兩百多個payload 攻擊成功之後要執行的一串 通常用來做遠端控制 是做安全工作必不可少的一款軟體。下面展示乙個利用該工具滲透microsoft xp sp2的乙個過程。1.進入介面 msfconsole...
推薦演算法案例
userid,itemid,score 1 11 2 1 12 3 1 13 1 1 14 0 1 15 1 2 11 1 2 12 2 2 13 2 2 14 1 2 15 4 3 11 2 3 12 3 3 14 0 3 15 1 4 11 1 4 12 2 4 14 1 4 15 4 5 11...
linux tcpdump 用法案例
下面的例子以抓取網口eth0為例 如果不加 i eth0 是表示抓取所有的介面包括lo 1 抓取包含10.10.10.122的資料報 tcpdump i eth0 vnn host 10.10.10.122 2 抓取包含10.10.10.0 24網段的資料報 tcpdump i eth0 vnn n...