Jump to content 日本-日本語

製品  >  ソフトウェア  >  HP-UX   >  Knowledge-on-Demand  >  UNIXの教科書 運用編

UNIXの教科書 運用編
〜はじめよう! WindowsとLinuxからのステップアップ〜

第2日目:ファイルの安全管理(その1)

HP-UX/Integrityサーバー お問い合せ
コンテンツに進む
UNIXの教科書 運用編 第2日目:ファイルの安全管理(その1)
コンピューターを運用していく上で、今後いっそう重要になっていくのがセキュリティ対策です。HP-UXにはセキュリティ対策のためにさまざまな機能が搭載されていますが、まずははじめの一歩、基礎の基礎であるファイルのアクセス権限を理解しましょう。伝統的なUNIXシステムでは、個々のファイルやディレクトリに対して「パーミッション」というアクセス権限が設定されています。1時間目ではパーミッションの概要を、2時間目では実際にパーミッションを設定する方法を学びます。
UNIXの教科書 運用編〜はじめよう! WindowsとLinuxからのステップアップ〜
パーミッションの概要
パーミッションを設定する
2009年10月
大津 真
ページ: 1   2   |   次へ 

UNIXの教科書:登場人物紹介 このリンクをクリックすると、新しいウィンドウが開きます

マリー先生
マリー先生:
みんなも知っていると思うけど、コンピューターを安全に運用していくためには、さまざまなセキュリティ対策が必須です。今日は、セキュリティ管理の基本中の基本ともいえる、ファイルのアクセス権限の設定方法について説明しましょう。その前に、前回のユーザー管理の説明でなにか質問ありますか?
タックス君:
useraddコマンドで新規ユーザーを登録するときに、ホームディレクトリを自動で作成することはできますか?
タックス君
マリー先生
マリー先生:
「-m」オプションを指定すればOKよ。この場合、デフォルトの設定ファイルの保存場所であるスケルトンディレクトリ(初期状態で「/etc/skel」)から「.login」や「.profile」などの設定ファイルもコピーされるの。

# useradd -m user3  【Enter】
  ←「-m」オプションを指定して「user3」を作成
# ls -a /home/user3/  【Enter】
  ←ホームディレクトリ「/home/user3」が作成される
.         ..        .cshrc    .exrc     .login    .profile 
 ←設定ファイルがコピーされる

今日の時間割  パーミッションの概要  パーミッションを設定する 練習問題

1時間目:パーミッションの概要

伝統的なUNIXシステムでは、個々のファイルやディレクトリに対して「パーミッション」と呼ばれるアクセス権限が設定されています。まずは、パーミッションの概要について説明しましょう。

パーミッションを確認する

個々のファイルには「所有者」および「所有グループ」が設定されています。パーミッションは、ファイルの「所有者」「所有グループ」「その他のユーザー」それぞれについて、「読み出し可」「書き換え可」「実行可」を設定できます。
現在のパーミッションは、lsコマンドを「-l」オプションを指定して実行すると確認できます。

$ ls -l  【Enter】

左端の1桁はファイルの種類を表しており、「-」が通常のファイル、「d」がディレクトリです。その右の9桁がパーミッションです。3桁ずつ、所有者、所有グループ、その他のユーザーに対する設定で、「r」は読み出し、「w」は書き換え、「x」は実行が許可されていることを表し、「-」は当該の権限がないことを示しています。

パーミッションの表示例
図1:パーミッションの表示例

たとえば「rw-rw-r--」は、所有者と所有グループには読み書き可、その他のユーザーは読み出しのみ可に設定されていることを表します。

四色君:
読み込み可の「r」は「Readable」、書き込み可の「w」は「Writable」の頭文字ですよね。実行可の「x」はなんの略ですか?
四色君
マリー先生
マリー先生:
「x」は「eXecutable」(実行可能)の2文字目なの。

ファイルのパーミッション

パーミッションは、対象が通常のファイルなのかそれともディレクトリなのかによって多少意味が異なります。まず、ファイルの場合について説明しましょう。「r」(読み出し可)は、そのファイルの内容を表示できるかどうかです。次に「w」(書き換え可)は、そのファイルを編集したり上書きしたりできるかどうかです。

タックス君:
書き換えが許可されていないファイルは削除もできないんですか?
タックス君
マリー先生
マリー先生:
いい質問ね。書き換えが許可されていなくても、削除はできるの。ただしrmコマンドでは削除するときに確認のメッセージが表示されるわ。次の例を見てね。

$ ls -l tmp.txt  【Enter】
-r--r--r--   1 o2         users        12527 Sep  6 16:06 tmp.txt
  ←読み出しのみ許可されている
$ rm tmp.txt  【Enter】  ←削除しようとすると……
tmp.txt: 444  mode ? (y/n) y	←「y」で削除

この確認メッセージは、誤って削除しないようにrmコマンドが表示しているの。後で説明するけど、システム的には削除できるかどうかは、そのファイルが保存されているディレクトリのパーミッションに依存するの。
四色君:
たとえば、所有者に読み出し許可がなくて、所有グループに読み出し許可があるとしましょう。所有者がそのグループに属している場合はファイルを表示することはできるのですか?
四色君
マリー先生
マリー先生:
できないわ。所有者のパーミッションが優先されるわけ。ただし、その所有グループに属する他のユーザーは表示できるわよ。

$ ls -l sample.txt  【Enter】
----r--r--   1 o2         users           12 Sep  6 16:30 sample.txt
  ←所有者には読み出し許可がない
$ cat sample.txt  【Enter】
  ←catコマンドで表示しようとすると……
cat: Cannot open sample.txt: Permission denied  ←表示できない
$ su taro  【Enter】  ←usersグループに属する他のユーザーに移行
Password:
$ cat sample.txt  【Enter】
hallo	←表示できる
hp-ux
…

なお、「x」(実行可)はそのファイルがコマンドとして実行できるかどうかの設定です。環境変数PATHに登録されているディレクトリに保存されている実行が許可されたファイルは、コマンド名で実行できます。
たとえば、lsコマンドは「/usr/bin/ls」というパスに保存されている、すべてのユーザーに実行が許可されているファイルです。

$ ls -l /usr/bin/ls  【Enter】

四色君:
環境変数PATHの値を表示するにはどうすればいいのでしたっけ?
四色君
マリー先生
マリー先生:
変数にアクセスするには変数名の前に「$」が必要よ。したがって、文字列を表示するechoコマンドを使って次のようにすればいいの。

$ echo $PATH  【Enter】
/usr/bin:/usr/ccs/bin:/usr/contrib/bin:/usr/contrib/Q4/bin:/opt/perl/bin:/opt/ipf/bin:/opt/nettladm/bin:/opt/fcms/bin:/opt/wbem/bin:/opt/wbem/sbin:/opt/sas/bin:/opt/graphics/common/bin:/opt/atok/bin:/usr/bin/X11:/usr/contrib/bin/X11:/opt/sec_mgmt/bastille/bin:/opt/drd/bin:/opt/dsau/bin:/opt/dsau/sbin:/opt/resmon/bin:/opt/gnome/bin:/usr/contrib/kwdb/bin:/opt/firefox:/opt/mozilla:/opt/perl_32/bin:/opt/perl_64/bin:/opt/sfm/bin:/opt/swm/bin:/opt/sec_mgmt/spc/bin:/opt/ssh/bin:/opt/swa/bin:/opt/hpsmh/bin:/opt/gwlm/bin:/opt/mx/bin:/opt/perf/bin:/opt/prm/bin:/opt/wlm/bin:/opt/mpi/bin:/opt/vse/bin:/opt/caliper/bin:/opt/ignite/bin:/var/opt/netscape/server7/shared/bin:/var/opt/netscape/server7/bin:/opt/sentinel/bin:/opt/java1.4/jre/bin:/opt/spb/bin:/opt/thunderbird:/opt/langtools/bin:.

ディレクトリのパーミッション

ディレクトリのパーミッションは、UNIX系OSではディレクトリはその下のファイルの一覧が格納されたある種のファイルであることをイメージするとわかりやすいでしょう。つまり、「r」(読み出し可)が許可されていないと、lsコマンドで一覧を表示することができません。

$ ls -ld samples  【Enter】
d-wx--x---   2 o2         users           96 Sep  6 15:34 samples  ←読み出し許可がない
$ ls samples  【Enter】  一覧を表示しようとすると……
samples unreadable  ←エラーになる

また、「w」(書き換え可)はファイルの一覧表を書き換えできるかどうかを表します。許可されていない場合にはその下にファイルを作成したり、ファイルを削除したりすることができません。

$ ls -ld test  【Enter】

dr-xr-xr-x  3 o2  wheel  102  9  6 22:50 test  ←書き換え許可がない
$ rm test/uso  【Enter】  その下のファイルを削除しようとすると……
rm: test/uso: Permission denied  ←エラーになる

なお、ディレクトリの場合の「x」(実行可)はファイルの場合と意味が異なり、そのディレクトリより下の階層にアクセスできるかどうかを表します。禁止マークのような意味合いでとらえてもよいでしょう。「x」が許可されていないと、cdコマンドでそのディレクトリに移動したり、findコマンドでそのディレクトリ以降を検索したりできなくなります。

$ ls -ld test2  【Enter】
drw-r-----   3 o2         users           96 Sep  7 14:27 test2  ←実行許可がない
$ ls test2  【Enter】  ←lsコマンドで一覧を表示しようとすると……
aDir     infotxt  ←一覧は表示できる
$ cd test2  【Enter】  ←cdコマンドで移動しようとすると……
bash: cd: test2: Permission denied  ←エラーになる

休憩時間:セキュリティ管理はますます重要に

最近、クレジットカード情報が漏洩して悪用されたなどといったニュースを日常的に耳にすることが多くなってきたと感じている方は少なくないでしょう。インターネットの普及に伴い、天文学的な規模のデータがコンピューターに蓄積されているようになってくると、そのセキュリティ対策はますます重要な課題となってきています。ただ、一言でシステムセキュリティ対策といっても、伝統的なパスワード管理やパーミッションによるファイルのアクセス制御といった基礎的なものから、ネットワークではファイアウォールや侵入検知システム、最近ではRBAC(Role-based Access Control)によるroot権限の分散化など多岐にわたり、そのすべてを完璧に把握することは容易ではありません。

HP-UXはセキュアで信頼性の高いOSとしても定評があります。多少内容は高度になりますが、以下にHP-UXに備わっているさまざまなセキュリティ機能の中で注目すべき機能を全7回に渡って解説しています。ぜひ、一度目を通しておくとよいでしょう。

知っておくべきセキュリティ対策 -HP-UXのセキュリティを極める-

連載記事一覧 ページ: 1   2   |   次へ  次のページへ

本ページの内容は執筆時の情報に基づいており、異なる場合があります。

お問い合わせ

ご購入前のお問い合わせ


ご購入後のお問い合わせ

HPEサポートセンター
製品の標準保証でご利用いただける無償のサービスです。

ショールーム

ショールーム 導入をご検討のお客様へ
業務アプリケーションの継続・標準化・開発性とシステム担当者様、システム開発者様が抱える悩み・疑問に対する解決策実体験して頂けます。
印刷用画面へ
プライバシー ご利用条件・免責事項