のアーカイブ

sshで確立されたものはlogに出力しないようにする(iptables)

2017年3月28日

以下を実行しiptablesに条件を追加することで、不要なsshのログを出力しないようにできる。 ``` iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ```
続きを読む

シェルからファイルに書き込みがあるか、ファイルが存在するかを確認する

2017年3月23日

シェル内で以下のようにすることでファイルに文字があるかどうか確認することが出来る。 ファイルによってコメントアウトの部分(今回は#)が違うので、その都度変える。 ``` CHECK=`grep -ve '#' -e '^$' [ファイルのパス]` test -n "$CHECK" if [ $? -eq 1 ] ; then echo "空文字" else echo "文字あり" fi ``` また ``` if [ -e "ファイルの
続きを読む

awkの中でシェルの変数を使う

2017年3月21日

awkコマンドでは、パターンとアクション部分に分かれており、今回はパターンでの変数の使用方法になる。 awkコマンドでは、そのままでは変数として認識しないため以下のようにする。 ``` '${変数名}' ``` また変数はそのまま代入されるので文字として認識してほしい場合は¥"とすることでダブルクォーテーションがメタ文字ではなく、文字として認識される。 ``` '¥"${変数名}"' ```
続きを読む

検索でヒットした行数を取得する

2017年3月16日

``` grep -c 検索文字 検索データ ``` これだけで行数を知ることができる。 vオプションをつければしなかった行を取得できる。
続きを読む

ネットワーク転送量を確認

2017年3月14日

``` sar -n DEV -f [ファイル名] | grep -e [NICのタイプ] | grep -ve 'Average¥|平均値' | awk '{printf "%s IN %-11s Mbps OUT %-11s Mbps\n", $1, $6/1024*8, $7/1024*8;}' | sort ``` これで転送量をより見やすく確認することが出来ます。 サーバの言語が日本語か英語によってawkの使用する変数が変わってくるので注意が必要。 ま
続きを読む

yumとrpm

2017年2月28日

# yum yumでは内部でrpmを実行しており、rpmより高機能。  依存関係のあるものも自動でインストールしてくれる。 ``` yum install [パッケージ] ``` # rpm rpmでは依存関係のあるものは自動でインストールできないので、依存関係のないものをインストールするのに向いている。 ``` rpm -ivh [パッケージ] ``` しかし、依存関係のあるのもので、依存関係に依存してほしくない場合がある **(
続きを読む

mod_rewriteを使ってURLを偽装する

2017年2月23日

wordpressディレクトリの.htaccessに  ``` RewriteEngine on RewriteRule (.*) http://URL/ [R=301,L] ``` を追加することで、自サイトに飛んできた時に好きなURLにリダイレクトや違うURLでも同じ挙動をするようにできる。 様々な表現があるので要注意。 [R]や[L]部分はしたいことによって変える必要があることにも注意!
続きを読む

lambda関数からDynamoDBにデータを追記する

2017年2月21日

put_itemを用いることでDBに追記することができる。 ``` table.put_item( Item={ 'id': event["id"], 'email': event["email"] } ) ``` しかし、put_itemは既存の要素を上書きする可能性があるので、オプションでattribute_not_existsを使用し、項目が存在し
続きを読む

htmlからtableのタグを抽出+文字のみを抽出

2017年2月16日

sedコマンドを使用することでhtmlから任意のタグのみを抽出することが出来る ``` sed -ne '///g' ``` 他にも正規表現を使うことで様々なことが出来る。  オプションの順番が違うと上手く行かないので注意が必要。 eオプションは必ず最後!
続きを読む

KeyError例外を回避

2017年2月7日

``` test = (lambda e: {"title": e["title"], "link": e["link"], "published": e["published"]}) ``` と辞書検索して要素がなかった場合KeyError例外が発生してしまうため以下のようにget関数を用いると良い。 ``` test = (lambda e: {"title": e.get("title"), "link": e.get("link"), "publ
続きを読む

無料で何でもできるサーバ管理ツールAjentiのインストール

2017年2月2日

インストール方法 CentOS6の場合は以下のコマンドでパッケージをインストール ## # curl https://raw.githubusercontent.com/ajenti/ajenti/1.x/scripts/install-rhel.sh | sh https://:8000にアクセスと出るがそのままでは無理なので、8000番ポートを開放 ``` vim /etc/sysconfig/iptables #以下を追加 -A
続きを読む

アクセスログを時間別+条件付きでソート

2016年12月20日

以下のコマンドでアクセスログを時間別+スタイルシートやJavaScript、画像、internal dummy connectionのアクセスを除く条件付きでソートすることが出来る。 grep部分が除く処理、cut部分が時間別処理をしている。 ``` cat [ログ] | grep -ive "GET /.*\.\(css\|js\|jpg\|gif\|png\|swf\|ico\)\ HTTP" | grep -v "internal dummy connecti
続きを読む

WordPressをコマンドを利用して様々な操作する

2016年11月29日

wp-cliを使用することでwordpressをコマンド上でアップデートなど様々な操作を行うことが出来る。 wp-cliのインストール方法 ``` cd /var/www/html/wordpress curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/loc
続きを読む

sedコマンド

2016年11月22日

sedコマンドでオプションに-eをつけるとディレクトリのデータが消えるらしいのでディレクトリに複数データがある場合、上書き保存の-iもオプションに追加したほうがよい。 ``` sed -i -e ```
続きを読む

Gmailを覗くため前に必要なトークン取得

2016年11月8日

# トークン取得 ``` curl -d client_id={OAuthのクライアントID} -d client_secret={OAuthのクライアントシークレット} -d redirect_uri=urn:ietf:wg:oauth:2.0:oob -d grant_type=authorization_code -d code={quickstart.pyで取得したコード} https://accounts.google.com/o/oauth2/toke
続きを読む

monitorix側のBasic認証のデコードを変更する

2016年11月1日

Basic認証側のエンコード方式がアップデートで変更されることがあるが、ソフト側が対応していない場合がある。 今回はmonitorix側が対応していなかったので、それの以下のように変更した。 monitorix側の認証のデコード部分のスクリプトは ## /usr/share/doc/monitorix-3.8.1/htpasswd.pl にあるのでここの部分を変更することでデコード方式を変えることが出来る。 ## find [ディレクトリ] -name
続きを読む

htpasswdとhtdigest

2016年10月11日

## htdigest basic認証のパスワードエンコードに用いられる ##htdigest basic認証は盗聴などが用意なので、より安全なdigest認証を用いる時に使用する 主にこのような違いがあるが、セキュリティ上は後者を用いるほうが良い。
続きを読む

squidのログ解析(SARG)のインストール

2016年10月4日

# SARGのインストール ``` wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz tar -xvzf sarg-2.3.10.tar.gz cd sarg-2.3.10 ./configure make make install ``` おそらくここでエラーが出るので、 ``` vi ./po/M
続きを読む

サーバーのCPU情報+CPUのコア数

2016年9月14日

物理CPUのコア数はCPUの数×CPU単体のコア数で算出することが出来る。 proc/cpuinfoのcpu coresは単体のコア数なので注意! # CPU情報を見る ## lscpu このコマンドを使用することで/proc/cpuinfoを見た時と同じようにCPU情報を見ることが出来る。
続きを読む

Chefを使用してパッケージをインストール&起動

2016年9月6日

# パッケージのインストール defualt.rb内 ``` package '{パッケージ名}' do action :install end ``` # 起動 defualt.rb内 ``` service "nginx" do action :start end ```
続きを読む