普段、別サーバにユーザーを移動させる時、パスワードは/etc/shadowのハッシュ化された値をコピーして移動させています。 ところが、特定のサーバでログインできないと言われることがたまに発生していました。 原因調査とshadowの挙動に興味を持ったので調べてみることにした。 (さらに…)
普段、別サーバにユーザーを移動させる時、パスワードは/etc/shadowのハッシュ化された値をコピーして移動させています。 ところが、特定のサーバでログインできないと言われることがたまに発生していました。 原因調査とshadowの挙動に興味を持ったので調べてみることにした。 (さらに…)
ユーザ名 その名の通りユーザのアカウント名が記述されています。 パスワード 最近のOSでは、このフィールドに記述される設定値は以下の3種類になります。 x 暗号化されたパスワードが「/etc/shadow」ファイルで管理されていること * 一時的にユーザのアカウントを無効化する場合に設定する 設定なし パスワードが設定されていない状態を表す 最近のOSはこのフィールドに「x」と設定されていると思いますが、これはシャドウパスワード(/etc/shadow)を使用していることを表しています。 昔のOSは暗号化されたパスワードがこのフィールドに直接記述されていたのですが、最近は暗号化されているといえ一般ユーザにパスワードを見せるのはセキュリティ上好ましくないため、パスワードは「/etc/shadow」ファイルで管理されるようになっています。 それぞれのパーミッションを確認してみると、「/etc/
大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ
個人用メモです。 !! ======================== !! ※この記事は2019年の記事です。著者はもうWordPressを使用しておりません。この記事で紹介している内容は2019年当時の内容である事を理解した上で、実際に設定する際は最新の情報を確認しながら行ってください。 2019/9/26追記 2020年1月1日より静的IPが有料になる旨Googleから発表がありました。 $0.004/時間=最大約300円/月が有料となります。 それ以外の部分についても無料でなくなり次第記事を更新してまいります。 情報: @mattn 様 2020/3/20追記 まだ請求額が0円だったので「あれ?」って思って調べたら、上記の静的IP有料の変更は1/1から反映されてるものの、キャンペーンで2020/4/1までは割引されている事に気がついたので注釈追記しました。ちなみに割引されなかった
tenshiとは サーバ上のログファイルは、ただ記録しておいて問題があったときの調査に使うだけではなく、リアルタイムで監視することでアプリケーションやサーバの不具合の早期発見をすることができる。問題が表面化する前に対策を行なうにはログの監視が不可欠だ。 しかし、サーバは、種類も数もどんどん増えていくものだし、それに合わせログファイルの種類も量もどんどん増えていく。全部見るのはもちろん不可能だし、適当に通知をしてもメールボックスを溢れさしてしまうことになり、結局は無視することになってしまい意味がない。 そこで、賢く効率的に監視するために tenshi というツールが非常に便利に使える。 このツール、最近しばらく使っていなかったのだが、最近会社で再び使い始め、便利さを再確認したので紹介してみる。知る人は知るツールだと思うけどいまいちマイナーなのかな? tenshiは、元々はGentoo Lin
さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ
これは TECHSCORE Advent Calendar 2017 の8日目の記事です。 今回は、Load Average は単純に平均をとっているわけではないよ、という話をします。 はじめに バッチサーバのように、ある時間帯だけ一定の CPU 負荷がかかるようなサーバを運用していると、Load Average のグラフがこんな形になるのをよく見かけます。 このグラフは CentOS 6 (Kernel 2.6.32-696.16.1.el6.x86_64) のサーバで 11:05 から 12:00 までの間、CPU 1コア占有する負荷をかけたときのものです。3本の折れ線グラフはそれぞれ過去 1, 5, 15分間の平均負荷です。平均をとる期間が長くなるほどグラフの立ち上がり・立ち下がりが緩やかになる様子が見てとれます。 次のグラフは 11:00 から 11:30 までを拡大したものです。
最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon この本はLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる本。この本を読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、 Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ
(タイトルは釣りです) いい加減、>/dev/null 2>&1と書くのをやめたらどうか - DQNEO起業日記 この記事のタイトルが twitter で流れてきたのを見て、「そうだ!出力を /dev/null に捨てるなんてとんでもないよね!」と思ってよく読んだら /dev/null に間違いなく捨てる方法だったのでつい crontabに > /dev/null 書いたら椅子投げる 2012-06-13 00:01:17 via YoruFukurou とつぶやいてしまったのですが、では出力を捨てないためにはどうすればいいのか。現時点での個人的ベストプラクティスを書き留めておきます。 デフォルト : メールで送る (MAILTO) せっかく cron daemon がログを捨てないためにわざわざメールで送ってくれるのに、それを > /dev/null で踏みにじるとはひどい。 とはいえ、
こんにちは!freeeでインフラゾンビをやっている @sugitak です。ゲームではレベルを上げて物理で殴る派です。 freee ではたまにインフラエンジニアの数が減るのですが、その減ったインフラエンジニアはインフラゾンビへと進化し、社内を闊歩します。インフラゾンビは主に開発チームに所属して、アプリっぽいインフラの仕事をインフラからアプリ側へと持っていきます。デプロイとか、Dockerとか、Jenkinsとかの、いわゆる DevOps 系のところですね。こうすることで開発者は手を出せるものの自由度が増えるし、インフラはより本来のインフラとして純度を上げていける、 so, win-win ってわけです。 さて、そんなわけで監視です。freee Engineers Advent Calendar 2016の9日目の記事として、 Prometheus による監視が最高なのでみんなもっと使おうと
はじめに Linuxでファイル改竄検知をやろうと思ってauditdを試したメモです。 ファイルの改竄検知としては Tripwire が有名ですが、Linuxであればauditdを使うことも可能です。AmazonLinuxだとデフォルトで入ってたので、設定ファイルを書くだけで使えます。 Tripwireは予めファイルのチェックサムのデータベースを作っておいて、これをファイルを比較することで、ファイルの改竄を検知します。同じようにファイルのチェックサムベースで比較するものとしてAIDEというツールもあるようです。 一方auditdは仕組みとしてはLinuxカーネルでシステムコールを記録して、特定の条件にマッチする操作をログに出力します。なので、若干守備範囲の違うツールですが、システムコールを監視することでもファイルの変更は監視できます。 LinuxのAuditのアーキテクチャや説明などは、Re
# vi /usr/local/sbin/check-service.sh #!/bin/bash if [ $1 = 'help' ] || [ $1 = 'usage' ] || [ $1 = 'man' ] then echo "usage:# check-service.sh service" else service=$1 script="/etc/init.d/$service" if ! $script status | grep -q "pid" then $script stop > /dev/null 2>&1 $script start echo "$service is restarted." else echo "$service already runs." fi fi
止めどなくサーバに押し寄せるハッカーによる攻撃 「サーバを無防備な状態でインターネットに繋ぐと、30分でハッキングされる」というショッキングなデータが示す通り、健全なサーバ運用にはセキュリティ対策が必須です。 サーバへの攻撃はポートスキャン・脆弱性の把握・総当たり攻撃・Dos攻撃と多岐に渡ります。 攻撃を確実に防ぐにはログを分析して1つ1つ対策を取る必要があります。 そうなると、どうしても人力での対策には限界があります。 そんな悩めるサーバ管理者の強い味方Swatchについて解説します。Swatchを使えばサーバのログを監視し、予め登録しておいた対策を実行することができます。 1つ1つの設定は単純ですが、複数の要素を組み合わせて動作させるため解説が長くなるので、2回に分けて解説します。 今回は基本編ということで、Swatchのインストールから、基本的な使い方までを解説します。 目次 swa
swatchのthreshold設定swatchでログを監視する場合、同じログが何度も出てくる場合に備えて間引き設定を行うことが多い。 指定時間の間、同じアクションの再実行を抑止するthrottle指定や、アクション実行を行うしきい値を指定するthreshold指定がある。ここではthresholdを使う場合に指定するtypeパラメータの意味について説明する。 以下にswatchのconfigのエントリ例を示す。ssh等による認証失敗のログを見つけたら、アクション(メール送信)を実行する動作を想定している。 swatchのconfig例 watchfor /authentication failure/ mail=foo@dummy.com,subject="Swatch detected authentichation failure" threshold track_by=/authf
For a system administrator, having to perform security vulnerability analysis and software update on a daily basis can be a burden. To avoid downtime in a production environment, it is common for a system administrator to choose not to use the automatic update option provided by the package manager and to perform update manually. This leads to the following problems. The system administrator will
<VirtualHost 192.168.0.2:80> DocumentRoot /var/www/vhost/bts.example.test/public_html ServerName bts.example.test <IfModule ssl_module> Redirect / https://bts.example.test </IfModule> ErrorLog "| /usr/local/apache2/bin/rotatelogs /var/www/vhost/bts.example.test/logs/error_log 86400" CustomLog "| /usr/local/apache2/bin/rotatelogs /var/www/vhost/bts.example.test/logs/access_log 86400" common CustomL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く