
もっち
- 関東大手SIer勤務
- 10システム、仮想サーバ約200台の基幹系システムが稼働する仮想化基盤のインフラ運用リーダー
以下3点について、ブログで役立つ情報を発信
- インフラ技術・システム運用
- キャリア・マネジメント
- エンジニア実務・仕事術


もっち
以下3点について、ブログで役立つ情報を発信
「設定ファイルをダウンロードしたいのに権限がなくてエラーになる・・・。よし、一時的に chmod 777 で全開放して、作業が終わったら戻そう」
もしあなたが一度でもこう考えたことがあるなら、この記事はあなたのためのものです。Linuxの世界において、パーミッションは単なる「鍵」ではありません。システムの「信頼の証」そのものです。
過去には、「権限を緩めただけ」でシステムが完全に沈黙し、管理者すらログインできなくなったという嘘のような実話があります。なぜ良かれと思ってやった操作が、致命的な事故を招くのか? その鍵を握る「特殊権限」の仕組みと、現場で必須となる安全な作法を徹底解説します。
この記事の想定読者
この記事を読むことでのメリット
Linuxには、標準の rwx(読み・書き・実行)だけでは実現できない動作を制御するために、3つの特殊権限が用意されています。これらは4桁の数値(例:4755)の先頭1桁として設定されます。
| 権限名 | 数値 | 記号 | 役割 | 具体的な表示例 |
| SUID | 4 | s | 実行者が誰であっても、「所有ユーザー」の権限で動作する。 | -rwsr-xr-x (4755) |
| SGID | 2 | s | ファイル:所有グループの権限で動作。 ディレクトリ:作成されたファイルが親のグループを継承する。 | drwxrwsr-x (2775) |
| Sticky Bit | 1 | t | 書き込み権限があっても、「所有者」以外は削除・名前変更ができない。 | drwxrwxrwt (1777) |
/usr/bin/passwd。一般ユーザーが自分のパスワードを変更する際、rootしか書き込めない /etc/shadow を更新できるのは、この権限のおかげです。/tmp。不特定多数がファイルを置く場所ですが、他人のファイルを勝手に消せないように守る「公共のゴミ箱」のようなルールを作ります。【注意】大文字の S や T が出たら?
ls -lで大文字のSやTが表示された場合、それは「もともと実行権限(x)がない場所に特殊権限がついている」という矛盾した状態を指します。設定ミス(機能していない状態)であることが多いため、注意が必要です。
実務で実際に起きた、PAM(Pluggable Authentication Modules)にまつわる事故を深掘りします。
chmod 777ある開発担当者が、PAMの設定ファイルをFTPでダウンロードしようとしました。権限不足で失敗した彼は、対象ファイルに対して chmod 777 を実行。「読み取れるようにしただけだ」という認識でした。
Linuxの認証を司るPAMやSSHといったサービスは、動作の前に設定ファイルの権限を厳格にチェックします。
その結果、ログインを試みてもPAMが「設定ファイルが危険です」とエラーを返し、全ユーザーが締め出されるという最悪の事態を招いたのです。
~/.ssh/authorized_keys(600でないとSSH不可)など、「権限が緩すぎると動かなくなる」設計は多々あります。777 に変えた後、元の状態(644だったのか、440だったのか)を正確に復元するのは困難です。不明な場合は rpm -V [パッケージ名] などで初期状態と比較する高度な復旧作業が必要になります。777 をつけることは、外部から悪意のあるコードを注入され、即座に実行される隙を与えることと同義です。権限のない設定ファイルを安全にローカルへ持ってくるには、**「元のファイルには絶対に触らない」**のが鉄則です。
sudo cp -p /etc/pam.d/config_file /tmp/work_copy(-p オプションで、所有者や権限などの属性を保持したままコピーします)sudo chown [自分のユーザー名]:[自分のユーザー名] /tmp/work_copy/tmp のファイルを削除します。「権限エラー = chmod 777」という思考停止は、今日で卒業しましょう。
Linuxサーバーを扱うということは、その背後にある厳格なセキュリティ設計を尊重することです。正しい知識を武器に、信頼されるエンジニアを目指しましょう。

この記事が気に入ったら
フォローしてね!







