主に、設定の再読み込み、namedサービスの停止(起動はできない)、統計情報の表示、キャッシュのクリアなどのために使用する
主に、設定の再読み込み、namedサービスの停止(起動はできない)、統計情報の表示、キャッシュのクリアなどのために使用する
サーバー構築と設定 ~初心者にも分かりやすく解説~ サーバーの構築方法や設定手順、ミドルウェアのインストール手順・トラブル対応などをコマンド付きで詳しく解説します。 Apache 2.4で、User-Agentをキーにしたアクセス制限の方法を紹介します。 特定のUser-Agentをブロックすることで、一部の攻撃を拒否することに有効です。 今回利用した環境は以下の通りです。 CentOS 7.5 Apache 2.4.6 Apache2.4でUser-Agent制限を設定する Apacheの httpd.conf に設定を追加することで、アクセス制限を掛けることができます。 Mozilla/5.0 Jorgee からのアクセスを拒否する場合は以下のように記載します。 <Location /> SetEnvIf User-Agent "Mozilla/5.0 Jorgee" block De
最初に結論 これ最強 cat accesslog | perl -F'\t' -nale '%h=map{split/:/,$_,2}@F;print"$h{time}\t$h{ua}"' なぜPerlワンライナーなのか? LTSVログを解析するには、Perlのワンライナーに限る。 なぜならPerlはほとんどのサーバにデフォルトで入ってるから。 Perl 5.8で動くワンライナーを覚えておけばどの環境でも使える。 「何にも依存しない」 これ最強。 基本中のキホン まずは基本形です。 これだけは絶対覚えてしまいましょう。 perl -nale 'print' % cat access_log | perl -nale 'print ' time:[22/Feb/2014:15:13:07 +0900] host:10.10.200.102 ident:- user:- method:GET
. # 任意の一文字 * # 直前の文字が任意の個数続く文字列(0個も含む) <space><space>* # 連続するSPACEを表す <tab> # TAB .* # 任意の文字列 sed -e "s/aaaa/bbbb/" # 置換 行で最初に出てきた'aaaa'を'bbbb'に置換 sed -e "s/aaaa/bbbb/g" # 入力の全行に渡って置換 (Global) sed -e "s/^aaaa/bbbb/" # 行頭(^)に'aaaa'のもの sed -e "s/aaaa\$/bbbb/" # 行末($)に'aaaa'のもの。$は\でescape sed -e "s/~/bbbb/" # 行頭に'bbbb'を追加 sed -e "s/\$/bbbb/" # 行末に'bbbb'を追加 sed -e "s/.*/abcd/" # すべての行を'abcd'に置換 sed -e
rsync は便利なんだけど、オプションが多くて難しい。特にややこしいのがファイルを選別するための --exclude と --include オプションだ。 man を読んでもイメージがつかみにくかったので、ググったり、-vvv の結果を見たり、ソースを読んだりしつつ調べてみたところ、3 つのルールを理解すれば何とかなりそうなことが分かった。 この記事では、その 3 つのルールをなるべく分かりやすく説明する。 ルール1: 指定順に意味がある コマンドライン引数は、通常、どの順番に指定しても同じ挙動になることが多い。しかし、rsync の include と exclude に関しては、指定順が意味を持つ。 man にも出てくる例で説明しよう。MP3 だけをコピーするには次のようにする。 -av はコピーするときのお決まりのオプション。ネットワーク越しにコピーするときは、-avz として圧
ロードバランサを経由するのでApacheのログが複数のサーバに分散する ログはWebalizerで解析するのですが Incrementalモードだと時系列に並んでないとうまく解析できないみたい(Ver.2.01) ファイルを集めるのはいいとして ログを並び替えるのをどうするか http://d.hatena.ne.jp/rougeref/20080909 http://www.kishiro.com/apache/analyze_log.html LLを使えばなんとでもなるのですがそれも面倒なので # DBも面倒です、量も多くないですし sortコマンドでサクッとできないかと調べると http://jehiah.cz/a/sorting-apache-logs はなかなかよかったのですが スペース1つを区切り文字にしているので 例えばユーザ名にスペースが入るとNGです 結論としては % s
> wc --lines unigram_raw.txt 290768333 unigram_raw.txtそもそも,たかだか3億要素,1.7Gのデータのソートに,最近のマシンで sort | uniq -c が858分もかかるのは変ですよね. > export LC_ALL=C > time sort -S 2G unigram_raw.txt | uniq -c > tmp.sort.uniq sort -S 2G unigram_raw.txt 389.93s user 16.32s system 99% cpu 6:49.61 total uniq -c > tmp.sort.uniq 15.40s user 1.56s system 4% cpu 6:49.62 totalIntel Xeon E5462 (3.2Ghz) が Dual Core AMD Opteron 1210
パスワードなしでscp まずは、 (1) ssh-keyを作る。 $ ssh-keygen -t rsa すると、 Enter file in which to save the key (/home/<user>/.ssh/id_rsa): と、「どこに鍵を保存しますか」と言われるので、特に問題がなければEnterを押してデフォルトのディレクトリ(~/.ssh/)に保存する。 次に、パスフレーズの設定を要求される Enter passphrase (empty for no passphrase): Enter same passphrase again: ここでは、パスフレーズなしにしたいので、何も入力せずに、Enterを2回押す。 $ ls ~/.ssh id_rsa id_rsa.pub これで鍵が~/.sshの中にできた。 (2) sshしたいサーバー側に公開鍵(public k
今更なネタかもしれませんが、psコマンドでは通常プロセス単位での表示となりますが、"man ps"を読んでみたところ、"-L"等のオプションをつけることで、スレッドを表示することもできるようです。 スレッド表示 H スレッドをプロセスのように表示する。 -L 可能ならば LWP と NLWP カラムをつけてスレッドを表示する。 -T 可能ならば SPID カラムをつけてスレッドを表示する。 m プロセスの後にスレッドを表示する。 -m プロセスの後にスレッドを表示する。 Man page of PS では、早速試してみましょうか。 普通に"ps -ef"を実行 $ ps -ef | grep -e mysqld -e PID | grep -v grep UID PID PPID C STIME TTY TIME CMD root 4570 1 0 Dec09 ? 00
昔は、sshとftpをそれぞれ設定してサーバ管理者はsshログイン、コンテンツ更新者はftpログイン(chroot)という構成をしていました。 最近のsshdは、sftp + chrootという設定が可能なのでよくやってます。いつも設定方法を忘れるのでここにメモ。 ただ、古いSSHDだとこれが出来ないので注意してください。私はSSHD5.3でやってます。 古いSSHDしか入ってなくて、入れ替えが怖い場合は、別途SSHDをコンパイルして別ポートで立ち上げれば共存できます(./configure --prefix=/usr/local/sshd --with-pam ; make ; sudo make installみたいな感じでインストールする) ゴールは、「sshでシェルにログインさせず、sftpのみでhome以上に遷移させないユーザを作る」です。 今回は特定グループに属しているユーザの
シングルユーザーモードで起動する 提供:maruko2 Note. 移動: 案内, 検索 目次 1 CentOS 1.1 ブートローダで GRUB を使用している場合の手順 1.2 CentOS でシングルユーザモードで起動後に、ファイルの書き込みをする 2 Mac OS X CentOS ブートローダで、起動オプションに single を追記すると、シングルユーザモードで起動することができる。 ブートローダで GRUB を使用している場合の手順 1. 起動時に Press any key to enter the menu が表示されたら、何かキーを押す。 2. 起動したい設定を ↑ か ↓ キーで選び、e キーを押す。 3. kernel の行を↑ か ↓ キーで選択し、e キーを押す。 4. 行末に single を追加し、Enter キーを押す。 5. b キーを押すとシングルユー
IEはSSL通信で何かと問題が出る あるWebサイトを運営していると、IEからSSL通信したときだけサーバーの応答が遅くなることがあります。これは、サーバー側がApacheの時のみに起こる問題です。Apacheの設定ファイルで、User-AgentがIEのときにKeepAlive設定をOFFにしてしまうためです。なぜOFFにするかというと、SSL通信処理周辺で問題があるためです。今回は、この問題を回避して、応答時間を短くしたいと思います。 Apacheのデフォルト設定 ApacheをSSLモジュール付きでインストールすると、初期設定済みの設定ファイルもインストールされます。インストールから設定まで見てみましょう。 $ sudo yum install httpd-devel $ sudo yum install mod_ssl 設定ファイルを開きます。 $ sudo vi /etc/htt
追記:openssh-7.3 以降なら ProxyJump や -J が使えます ホスト名を + で繋げることで多段Proxy接続も簡単に、がコンセプトだった本エントリの設定ですが、OpenSSH 7.3 から ProxyJump という設定が使えるようになったので、使えるなら ProxyJump を使う方が健全だし柔軟で使い勝手も良いのでそちらを覚えて帰ることをオススメします。 使い方は簡単で以下のような感じです。多段も行けるし、踏み台ホスト毎にユーザ名やポート番号を変えることも出来ます。 # 1. bastion.example.jp -> internal.example.jp ssh -J bastion.example.jp internal.example.jp # 2. bastion.example.jp -> internal.example.jp -> super-de
いつも、いざ使う時になって、どうやるんだっけ?と探し回ってしまうので、忘れないようにメモ。(以前の日記でも、所々分散して書いているかもしれないが、ここで総括的に記録することにした) シェルスクリプト $ fpath='/a/b/c.d.e' # ファイル名を取り出す(拡張子あり) $ fname_ext="${fpath##*/}" $ echo $fname_ext c.d.e # ファイル名を取り出す(拡張子なし) $ fname="${fname_ext%.*}" $ echo $fname c.d # 拡張子を取り出す $ fext="${fpath##*.}" $ echo $fext e # ディレクトリを取り出す $ fdir="${fpath%/*}" $ echo $fdir /a/b なるほど! そして、仕組みとしては、以下のルールしたがって変換されているようだ。 ${
1. はじめに KUINS ニュース No.45 で,暗号技術を用いた安全な通信方式の SSH(Secure SHell) を用いて接続ができる Windowsマシンに対応した SSHクライアントプログラムで端末エミュレータの機能を持つ PuTTY の利用方法について紹介しました. その中では,パスワードを用いたユーザ認証によってSSH接続を実現する 設定について記載しましたが,ユーザ認証としてパスワードを利用すると, UNIXで用いるパスワードは8文字しか有効でないことが多いため,総当り攻撃や辞書攻撃などに弱く,容易にパスワードを破られる 接続しようとするサーバを偽って、偽のSSHサーバに接続させられてしまうことにより,パスワードを盗まれる などによって,パスワードが第三者によって利用されてしまう「なりすまし」の 危険性を回避することはできません. そのため,SSHではパスワード認
トップページ WinSCPのダウンロード ページ一覧 最近の更新 PuTTYgenで公開鍵/秘密鍵を作成するPuTTYgenはSSH/SCP等で利用される公開鍵/秘密鍵を作成するツールです。PuTTYgenではRSAおよびDSA鍵を作成できます。 PuTTYgenはWinSCPのインストーラに同梱されており、通常WinSCPとともにProgram Files以下の「WinSCP」-「PuTTY」以下にインストールされます。 OutlinePuTTYgenの実行 新しい鍵の作成 鍵の形式を選択する 鍵のサイズ(強度)を選択する 鍵を生成する 鍵の指紋 鍵にコメントを入力する パスフレーズを設定する 秘密鍵をディスクに保存する 公開鍵をファイルに保存する 以前に作成した秘密鍵の読み込み/秘密鍵から公開鍵を作成 秘密鍵の変換 PuTTYgenの実行PuTTYgenはWindosのスタートメニュー
なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro
既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン
シェル上だと動くのにcron上だと動かない。 よく聞くお話ですよね。 大体はcron上と普段のシェル上で環境変数が違うために起こる問題です。 そういう時に使えるtipsを共有します。 個人のマシン上で適当に動かすようなcronだと みたいにしてログインシェルを間に噛まして環境変数を上書きして実行することでごまかしたりもできます。 これまた別の依存する箇所を増やすので 個人のマシンかrcファイルがちゃんと管理されているような状況以外ではオススメできません。 なのでcron上で実行される状況とほぼ同じ状況でスクリプトを実行してみましょう。 cron上では環境変数はほぼ空なので環境変数を空にしてみましょう。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く