危険な権限変更
はじめに
こんにちは、ytakamuraです。
今回はlinuxサーバにおける権限変更の危険な対応について
書いていきたいと思います。
権限変更について
サーバの運用をしていると、ファイルやディレクトリの
権限変更を行う機会って結構ありますよね。
Aユーザーで触っていたが、Bユーザーからも編集が必要になった。
システムログのダウンロードを行いたい等。
そういった際に所有者やグループ、それぞれの権限などの
変更を行うと思いますが、適当にやると危険な作業だったりします。
危険な対応
権限変更を行う際はchmodやchownなどを使用すると思います。
ちゃんと対象を指定して実行する分には危険性も少ないですが、
変更する量が多いと1個ずつ変更するっていうのも難しいですよね。
そういった際、「-R」のオプションを利用する機会もあると思います。
こちら有名かもしれませんが、怖いオプションです。
指定したディレクトリ配下を再帰的に、全て変更するというオプションです。
変更対象が多い際には有用なのですが、対象を間違えると大変なことになります。
一番危険なのは下記のような「/」配下すべてを変更しちゃうことです
chmod [-R] 777 /
※実際に実行できないようオプションは[]で囲っています。
これをするとサーバに接続すらできなくなります。
シングルユーザーモードにてコンソールから作業し、
SSH可能な状態には戻せますが、全て元に戻すことはできないので、
バックアップなどがなければサーバ再構築となります。
「/」領域ほどではありませんが、ホームディレクトリに対しても
「-R」は危険だったりします。
秘密鍵を利用している場合は、ホームディレクトリ配下の「.ssh」内に
公開鍵を設置していることが多いと思いますが、こちらも余計な権限が付くと
利用できなくなります。
利用できるSSHユーザーが1つのみだった場合、コンソールから
権限を戻さないとサーバに入れない状態となってしまいます。
気を付ける点
上記のように「-R」は危険なオプションとなります。
一切使わないというのは難しいと思いますが、利用する際は
対象を間違えていないかはしつこいくらい確認しましょう。
数件くらいの数であれば少し面倒でも1個ずつ変更したほうが安全です。
また、以前紹介しましたfindコマンドと組み合わせて、
必要なファイルだけ権限を変更するというのもおすすめです。
おわりに
知っている人には退屈な内容だったと思いますが、
危険な権限変更についての紹介でした。
知らずに行うと取り返しのつかない状況になりがちな作業です。
権限変更を行う際は、必要性と対象をしっかり確認して作業しましょう。
それではまた。