lsコマンドを使う(その3)

【連載】

にわか管理者のためのLinux運用入門

【第12回】lsコマンドを使う(その3)

[2016/03/01 08:00]後藤大地 ブックマーク ブックマーク

サーバ/ストレージ

リソースの保護機能

最近のOSには、ファイルなどのリソースを保護する機能が備わっている。それは、特定の処理だけを禁止するものだったり、いわゆるファイル・パーミッションだったり、アクセス制御リストだったり、ケーパビリティと呼ばれるものだったりする。

こうしたセキュリティ機能には、考え方や視点によっていくつかの種類がある。例えば、強制アクセス制御(MAC:Mandatory Access Control)や任意アクセス制御(DAC:Discretionary Access Control)、ロールベース・アクセス制御(RBAC:Role-Based Access Control)といった具合だ。実装ごとに名前が異なっていたり、同じような名前でも機能が微妙に違っていたりすることもある。

本連載の趣旨から考えると、この辺りの説明をきちんとしようとすると読者は去っていってしまうだろう。かと言って説明を簡略化すると、誤解を招く可能性がある。どうしたものかと思案したのだが、この連載ではあくまでも「管理者がコマンドを使ってシステムを管理する」という前提で説明していこうと思う。より高位の概念が出てきた際には、必要に応じて補足することにする。

アクセス権限の読み解き方

前回までに、ファイルやディレクトリの詳細情報を表示するコマンドとして、「ls -l」と「ls -al」を紹介した。例えば、ホームディレクトリで「ls -al」を実行すると、次のような結果が得られる。

ホームディレクトリで「ls -al」を実行。すべてのファイルの詳細情報が表示される

表示の左側にあるアスキー・アートのような部分に注目してほしい。これは、各行にあるファイルやディレクトリへのアクセス権限情報を表すものだ。


drwx------
drwxr-xr-x
-rw-------
-rw-r--r--
-rw-r--r--
-rw-r--r--
drwx------

例えば、「-rw-r—r—」と書いてある行を見てみよう(この行は3行ある)。これは、「-」、「rw-」、「r—」、「r—」という4つのパートに分けて解読する。最初の1文字目はこれがどういったリソースなのかという種類を表し、以降の3つはこのリソースにアクセスするための権限を表すのだ。

まず1文字目の「-」は、このリソースが通常のファイルであることを意味している。それ以降の3つは、それぞれ「このファイルの持ち主」、「持ち主の所属するグループに所属しているほかのユーザー」、「それ以外のユーザー」に対するアクセスの許可内容を表す。

LinuxやBSDなどでは、OSを操作するユーザーを「ユーザー」と「グループ」という2つのくくりで区別している。ユーザーは必ず何らかのグループに属しているため、アクセス権限も「ユーザー」、「ユーザーの所属しているグループのユーザー」、「それ以外のユーザー」の3種類に分けて設定しているわけだ。これが、Linux/BSD系の基本的なファイルの保護機能である。

利用者に「ユーザー」と「グループ」という2つの側面を持たせることで、原理的にさまざまな管理が可能になる(ただし、グループの数が増えてくると、この方法だけでは現実的に厳しいケースも出てくる。まあそれはそれ、その時には別の機能を使うのだ)。

持ち主とグループと、それ以外

今回は、ファイルやディレクトリなどのリソースには持ち主(であるユーザー)がいること、その持ち主は何らかのグループに所属しているので、「ユーザー」、「ユーザーの所属しているグループのユーザー」、「それ以外のユーザー」という3種類に分けてアクセス権限が設定されていることが理解できればよいと思う。

「-rw———」は、ユーザーにだけ操作が許可されている典型例だ

これを意識しながら、「ls -al」でいろいろなディレクトリを見て回ってみよう。ルートディレクトリを見てみれば、管理者ユーザー「root」がそれを保有しており、ほかのユーザーには何の権限も許可されていないということがわかるはずだ。

ルートディレクトリの中身。それぞれに適切なパーミッションが設定されている

Linuxや*BSD、Mac OS XのようなUNIX系の保護機能を採用しているOSは、システム全体がこの仕組みで設定されている。もちろん、最近の実装についてはその限りではなく、ほかにいくつもの保護機能が用意されていることもあるのだが、基本的にはこの仕組みがベースとなっている。

今回のおさらい

今回のおさらいは、次のとおりだ。

  • ファイルやディレクトリには、持ち主(であるユーザー)がいる
  • システムは「持ち主」、「持ち主の所属しているグループの人」、「それ以外の人」という区別をして、対象となるファイルやディレクトリへのアクセスを制御する
  • これが、Linuxや*BSD、Mac OS XのようなUNIX系のOSにおける基本的な保護機能である

この先はちょっと概念的な話が多くなってくるので、今回はここまでにしておこう。ユーザー、グループ、それ以外。この3つに区別してアクセス権限を与えているということだけ押さえてもらえれば、今回はOKだ。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【特別企画】 管理者にお馴染みの

【特別企画】 管理者にお馴染みの"バックアップ問題"、Win/Linux混在環境の担当者が出した答えとは?

地味ながらも面倒なうえ、ミスが許されないために精神的苦痛も伴うシステム管理作業。それがバックアップではないだろうか。コスト抑制のためLinuxを使って自力で構築したが、運用に関してもお金をかけられず、シェルスクリプトを組んでバックアップを行う。しかし、細かい作業にそれなりの人足をとられるため結果的にコストが嵩むうえ、実のところ正常にリストアできるかも怪しい。…

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
[解説動画] 個人の業務効率化術 - 短時間集中はこうして作る
ミッションステートメント
教えてカナコさん! これならわかるAI入門
知りたい! カナコさん 皆で話そうAIのコト
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る