ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (セキュリティサービス) Oracle Solaris 10 8/11 Information Library (日本語) |
パート II システム、ファイル、およびデバイスのセキュリティー
特殊なファイルアクセス権 (setuid、 setgid、 スティッキービット)
実行可能ファイルを原因とするセキュリティーへの悪影響を防止する
セキュリティーリスクのあるプログラムからの保護 (作業マップ)
13. Oracle Solaris の暗号化フレームワーク (概要)
14. Oracle Solaris の暗号化フレームワーク (手順)
19. Oracle Solaris Secure Shell の使用 (手順)
次の作業マップは、ファイルアクセス権の一覧表示、ファイルアクセス権の変更、特殊なファイルアクセス権によるファイルの保護などの作業操作について説明した箇所を示しています。
|
ls コマンドを使用して、ディレクトリ内のすべてのファイルに関する情報を表示します。
% ls -la
ユーザー所有権、グループ所有権、ファイルのアクセス権などを長形式で表示します。
ドット (.) で始まる隠しファイルを含め、すべてのファイルを表示します。
例 6-1 ファイル情報を表示する
次の例では、/sbin ディレクトリ内のファイルを部分的に表示しています。
% cd /sbin % ls -la total 13456 drwxr-xr-x 2 root sys 512 Sep 1 14:11 . drwxr-xr-x 29 root root 1024 Sep 1 15:40 .. -r-xr-xr-x 1 root bin 218188 Aug 18 15:17 autopush lrwxrwxrwx 1 root root 21 Sep 1 14:11 bpgetfile -> ... -r-xr-xr-x 1 root bin 505556 Aug 20 13:24 dhcpagent -r-xr-xr-x 1 root bin 456064 Aug 20 13:25 dhcpinfo -r-xr-xr-x 1 root bin 272360 Aug 18 15:19 fdisk -r-xr-xr-x 1 root bin 824728 Aug 20 13:29 hostconfig -r-xr-xr-x 1 root bin 603528 Aug 20 13:21 ifconfig -r-xr-xr-x 1 root sys 556008 Aug 20 13:21 init -r-xr-xr-x 2 root root 274020 Aug 18 15:28 jsh -r-xr-xr-x 1 root bin 238736 Aug 21 19:46 mount -r-xr-xr-x 1 root sys 7696 Aug 18 15:20 mountall . . .
それぞれの行には、ファイルについての情報が次の順で表示されています。
ファイルの形式 – たとえば、d。ファイル形式の一覧は、「ファイルとディレクトリの所有権」を参照してください。
アクセス権 – たとえば、r-xr-xr-x。詳細は、「ファイルとディレクトリの所有権」を参照してください。
ハードリンクの数 – たとえば、2。
ファイルの所有者 – たとえば、root。
ファイルのグループ – たとえば、bin。
バイト数で示したファイルサイズ – たとえば、7696。
ファイルの作成日時、またはファイルが最後に変更された日時 – たとえば、Aug 18 15:20。
ファイルの名前 – たとえば、mountall。
ファイル所有者、Primary Administrator 役割、またはスーパーユーザーは、任意のファイルの所有権を変更できます。
% ls -l example-file -rw-r--r-- 1 janedoe staff 112640 May 24 10:49 example-file
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# chown stacey example-file
# ls -l example-file -rw-r--r-- 1 stacey staff 112640 May 26 08:50 example-file
例 6-2 自分のファイルの所有権を変更するためのユーザーの有効化
セキュリティー上の考慮事項 – rstchown 変数の設定をゼロに変更するにはそれ相応の理由が必要です。この設定により、ユーザーはファイルの所有権を別のユーザー名に変更できます。
この例では、rstchown 変数の値は、/etc/system ファイル内でゼロに設定されます。この設定によりファイルの所有者は、chown コマンドを使用してファイルの所有権をほかのユーザーに変更できます。所有者は chgrp コマンドを使用し、ファイルのグループ所有権を所有者自身が属していないグループに設定することもできます。変更は、システムの再起動時に適用されます。
set rstchown = 0
詳細は、chown(1) および chgrp(1) のマニュアルページを参照してください。
NFS マウントされたファイルシステムでは、所有権とグループの変更に関する制限がほかにもあります。NFS マウントされたシステムに対するアクセスの制限については、『Solaris のシステム管理 (ネットワークサービス)』の第 6 章「ネットワークファイルシステムへのアクセス (リファレンス)」を参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
$ chgrp scifi example-file
グループの設定については、『Solaris のシステム管理 (基本編)』の第 4 章「ユーザーアカウントとグループの管理 (概要)」を参照してください。
$ ls -l example-file -rw-r--r-- 1 stacey scifi 112640 June 20 08:55 example-file
また、例 6-2 も参照してください。
現在の所有者またはスーパーユーザーだけが、chmod コマンドを使用してファイルまたはディレクトリの所有者を変更できます。
% chmod who operator permissions filename
アクセス権を変更する対象となるユーザーを指定します。
実行する操作を指定します。
変更するアクセス権を指定します。有効な記号の一覧は、表 6-5 を参照してください。
ファイルまたはディレクトリを指定します。
% ls -l filename
例 6-3 アクセス権を記号モードで変更する
次の例では、その他のユーザーから読み取り権を削除します。
% chmod o-r example-file1
次の例では、ユーザー、グループ、およびその他のユーザーに、読み取り権と実行権を追加します。
$ chmod a+rx example-file2
次の例では、グループに読み取り権、書き込み権、および実行権を割り当てます。
$ chmod g=rwx example-file3
現在の所有者またはスーパーユーザーだけが、chmod コマンドを使用してファイルまたはディレクトリの所有者を変更できます。
% chmod nnn filename
所有者、グループ、その他のユーザーのアクセス権をこの順序で表す 8 進数値を指定します。有効な 8 進数値の一覧は、表 6-4 を参照してください。
ファイルまたはディレクトリを指定します。
注 - chmod コマンドを使用して ACL エントリを持つファイルのグループアクセス権を変更する場合、グループアクセス権と ACL マスクの両方が新しいアクセス権に変更されます。新しい ACL マスクのアクセス権は、そのファイル上に ACL エントリを持つほかのユーザーおよびグループのアクセス権を変更する場合があるので注意が必要です。getfacl コマンドを使用して、すべての ACL エントリに適切なアクセス権が設定されていることを確認してください。詳細は、getfacl(1) のマニュアルページを参照してください。
% ls -l filename
例 6-4 アクセス権を絶対モードで変更する
次の例では、公開ディレクトリのアクセス権が、744 (読み取り / 書き込み / 実行; 読み取り専用; 読み取り専用) から 755 (読み取り / 書き込み / 実行; 読み取り / 実行; 読み取り / 実行) に変更されます。
# ls -ld public_dir drwxr--r-- 1 jdoe staff 6023 Aug 5 12:06 public_dir # chmod 755 public_dir # ls -ld public_dir drwxr-xr-x 1 jdoe staff 6023 Aug 5 12:06 public_dir
次の例では、実行可能シェルスクリプトのアクセス権が、読み取り/書き込みから、読み取り/書き込み/実行に変更されます。
% ls -l my_script -rw------- 1 jdoe staff 6023 Aug 5 12:06 my_script % chmod 700 my_script % ls -l my_script -rwx------ 1 jdoe staff 6023 Aug 5 12:06 my_script
現在の所有者またはスーパーユーザー能力を持つユーザーだけが、chmod コマンドを使用してファイルまたはディレクトリの所有者を変更できます。
% chmod nnnn filename
ファイルまたはディレクトリのアクセス権を変更する 8 進数値を指定します。一番左端の 8 進数値で、ファイルに特殊なアクセス権を設定します。特殊なアクセス権に有効な 8 進数値の一覧は、表 6-6 を参照してください。
ファイルまたはディレクトリを指定します。
注 - chmod コマンドを使用して ACL エントリを持つファイルのグループアクセス権を変更する場合、グループアクセス権と ACL マスクの両方が新しいアクセス権に変更されます。新しい ACL マスクのアクセス権は、そのファイル上に ACL エントリを持つ追加ユーザーおよびグループのアクセス権を変更する場合があるので注意が必要です。getfacl コマンドを使用して、すべての ACL エントリに適切なアクセス権が設定されていることを確認してください。詳細は、getfacl(1) のマニュアルページを参照してください。
% ls -l filename
例 6-5 絶対モードによる特殊なファイルアクセス権の設定
次の例は、dbprog ファイルに setuid のアクセス権を設定します。
# chmod 4555 dbprog # ls -l dbprog -r-sr-xr-x 1 db staff 12095 May 6 09:29 dbprog
次の例では、dbprog2 ファイルに setgid のアクセス権を設定します。
# chmod 2551 dbprog2 # ls -l dbprog2 -r-xr-s--x 1 db staff 24576 May 6 09:30 dbprog2
次の例では、public_dir ディレクトリにスティッキービットのアクセス権を設定します。
# chmod 1777 public_dir # ls -ld public_dir drwxrwxrwt 2 jdoe staff 512 May 15 15:27 public_dir