マニュアルページセク ション 1M: システム管理コマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

pfedit (1M)

名前

pfedit - 管理ファイルのファイルごとに承認された編集

形式

pfedit [-r] [-s] 
file

説明

pfedit コマンドを使用すると、承認されたユーザーはシステム構成ファイルを編集できます。file 引数は、編集されるファイルのパス名です。file が絶対パス名でない場合は、現在の作業ディレクトリのパス名が先頭に付加され、以降のすべての処理はそれが引数であるかのように続行されます。呼び出し元ユーザーには、承認 solaris.admin.edit/path_to_file または包括的な承認 solaris.admin.edit が必要です。pfedit コマンドではシンボリックリンクを使用できますが、そのためには、ファイルの realpath(3C) に対する承認があるかどうかもチェックします。

pfedit コマンドは、呼び出し元ユーザーが所有するファイルのコピーを作成してから、呼び出し元ユーザーの ID と特権を使ってそのファイルに対するエディタを呼び出します。デフォルトのエディタは /usr/bin/vi ですが、EDITOR または VISUAL 環境変数 (両方が設定されている場合は VISUAL が優先される) を使って選択することもできます。ユーザーがエディタを終了するときに、コピーされたファイルが更新されている場合は、その更新内容が自動的にファイルに適用されます。ファイルの随意アクセス属性 (所有者、グループ、アクセス権、および ACL) は、元のファイルのシステム属性や拡張属性とともにすべて保持されます。どの場合でも、pfedit の終了前に、ユーザーが所有するファイルのコピーが削除されます。

ファイルが存在しない場合は、所有者の root、グループの root を使ってファイルが作成されます。ファイルアクセス権は、–s オプションが選択されないかぎり、644 (-rw-r--r--) になり、その後ファイルアクセス権は 600 (-rw-------) になります。作成後は、前述の操作がそのファイルに適用されます。pfedit を使用したファイルの作成および変更が完了している場合、–r オプションを使用してファイルを削除できます。

pfedit コマンドはファイルに随意ロックを設定するので、pfedit による同時更新は禁止されています。

pfedit コマンドは、ほかのファイルへのハードリンクを壊さないように注意します。原子更新では既存のファイルを、更新内容の含まれる新しいものに置き換える必要があるため、pfedit はリンク数が 1 を超えるファイルの操作を拒否します。

pfedit コマンドは、テキストファイルの編集に限定されているため、テキスト以外の文字 (NUL) を含む更新を受け入れません。

構成によっては、更新が成功した際に、承認なしでの使用が試みられたり、エラーが発生した場合に、監査レコードが生成されて、被認証者、ファイル名、使用された承認、ファイルの変更 (存在する場合)、および操作の成功または失敗が取得されたりするようにできます。監査イベントのタイプとデフォルトクラスは次のいずれかです。

AUE_admin_edit:edit administrative file:as
AUE_admin_file_create:create administrative file:as
AUE_admin_file_remove:remove administrative file:as

オプション

次のオプションがサポートされています。

–r

指定されたファイルを削除します (ファイルが pfedit によって作成済みの場合)。

–s

ファイルに「高い機密性」のマークを付けます (pfedit を使用してファイルを作成する場合にのみ有効)。

使用例 1 プロファイルを作成する

/etc/syslog.conf を変更するためにユーザーに割り当てることができる solaris.admin.edit 承認を使用してプロファイルを作成するには、profiles(1) コマンドを使用します。

% profiles -p "syslog Configure"
profiles: syslog Configure> set auths=solaris.admin.edit/etc/syslog.conf

profiles: syslog Configure> set desc="Edit syslog configuration"
profiles: syslog Configure> exit
使用例 2 /etc/syslog.conf を変更する

ユーザーが前の例で構成された「syslog Configure」プロファイルを持っている場合、次を呼び出すと:

# pfedit /etc/syslog.conf

...そのユーザーが所有する /etc/syslog.conf のコピーが作成され、そのユーザーとしてそのコピーに対して実行される /usr/bin/vi がデフォルトで呼び出されます。ユーザーがそのエディタを終了すると、ユーザーが保存した内容で /etc/syslog.conf が原子的に更新されます。

終了ステータス

pfedit コマンドは、正常終了した場合は 0、操作の一部が失敗した場合は 0 以外の終了値を保持します。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
不確実

関連項目

auths(1), passwd(1), profiles(1), groupadd(1M), groupdel(1M), groupmod(1M), useradd(1M), userdel(1M), usermod(1M), fgetattr(3C), realpath(3C), attributes(5), fsattr(5)

Oracle Solaris には、pfedit および solaris.admin.edit/path_to_file 承認の使用が推奨されていない管理構成ファイルが含まれています。ドメイン固有でより安全な代替コマンドがあります。たとえば、/etc/passwd/etc/shadow、または /etc/user_attr ファイルには、代わりに passwd(1)useradd(1M)userdel(1M)、または usermod(1M) を使用してください。/etc/group ファイルには、代わりに groupadd(1M)groupdel(1M)、または groupmod(1M) を使用してください。/etc/security/auth_attr /etc/security/exec_attr、または /etc/security/prof_attr を更新する場合は、profiles(1) コマンドが推奨されます。

一部の構成ファイルの内容を変更する機能を使用すると、ユーザーに割り当てられた特権を昇格させることができます。そのようなファイルを編集するための承認、またはそのような承認を含むプロファイルの割り当ては、完全な特権付きのアクセスを提供するのと同等であるとみなされます。

「高い機密性」というシステム属性を持つファイルまたは –s オプションを使用して作成されたファイルには、監査レコードに含まれている内容または内容の変更は入っていません。