「sudoedit」の版間の差分
提供: セキュリティ
行1: | 行1: | ||
− | [[sudoedit]] とは、[[sudo]] -e file | + | [[sudoedit]] とは、[[sudo]] -e file と同じ意味ですが、別のユーザとしてファイルを編集するコマンドです。sudo vi / sudo less を禁止できます。 |
'''読み方''' | '''読み方''' | ||
行13: | 行13: | ||
[[root]]ユーザーとして編集コマンドを起動する場合、エディタは、[[root]]ユーザーの設定ファイルを読み込みます。[[root]]ユーザーの設定ファイルは、普段使用しているユーザーのように設定を育てていないこともあり、不自由を強いられます。 | [[root]]ユーザーとして編集コマンドを起動する場合、エディタは、[[root]]ユーザーの設定ファイルを読み込みます。[[root]]ユーザーの設定ファイルは、普段使用しているユーザーのように設定を育てていないこともあり、不自由を強いられます。 | ||
+ | |||
+ | [[sudoedit]]を使用すれば、sudo vi, sudo less などのコマンドを許可する必要はありません。 | ||
== インストール == | == インストール == | ||
[[sudoedit]]は、[[sudo]]のパッケージに含まれます。 | [[sudoedit]]は、[[sudo]]のパッケージに含まれます。 | ||
+ | == 設定 == | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo visudo | ||
+ | </syntaxhighlight> | ||
+ | 以下の例は、ユーザ foo に /etc/rc.conf の編集のみ許可します。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | foo ALL=(root) sudoedit /etc/rc.conf | ||
+ | </syntaxhighlight> | ||
+ | == 環境変 == | ||
+ | EDITOR, VISUAL | ||
+ | == sudoeditの動作 == | ||
+ | # テンポラリコピーを「呼び出したユーザ」のオーナの権限のファイルを作成します。 | ||
+ | # テンポラリファイルを編集するために、[[sudoedit]]を実行したユーザの権限でVISUAL, EDITOR 環境変数に指定されたエディタを起動します。 | ||
+ | # 編集が終了したら(エディタが終了したら)、テンポラリファイルをオリジナルのファイルに上書きし、テンポラリファイルは削除されます。 | ||
+ | |||
+ | また、指定されたファイルが存在しなければ、作成します。 | ||
== 使い方 == | == 使い方 == | ||
=== コマンドラインオプション === | === コマンドラインオプション === |
2014年3月1日 (土) 20:34時点における最新版
sudoedit とは、sudo -e file と同じ意味ですが、別のユーザとしてファイルを編集するコマンドです。sudo vi / sudo less を禁止できます。
読み方
- sudoedit
- すーどぅ えでぃっと
概要
sudoで編集用のコマンドを許す代わりに、sudoedit(sudo -e)を使用するほうが安全です。また、利便性的にも便利です。
- ユーザーの権限を管理できる
- ユーザーの設定ファイルを利用できる
vi などのコマンドを不要にユーザーに許してしまうと(NOEXECを指定していないとか)、エディタからシェルの許してしまうといった現象が発生します。
rootユーザーとして編集コマンドを起動する場合、エディタは、rootユーザーの設定ファイルを読み込みます。rootユーザーの設定ファイルは、普段使用しているユーザーのように設定を育てていないこともあり、不自由を強いられます。
sudoeditを使用すれば、sudo vi, sudo less などのコマンドを許可する必要はありません。
インストール
sudoeditは、sudoのパッケージに含まれます。
設定
sudo visudo
以下の例は、ユーザ foo に /etc/rc.conf の編集のみ許可します。
foo ALL=(root) sudoedit /etc/rc.conf
環境変
EDITOR, VISUAL
sudoeditの動作
- テンポラリコピーを「呼び出したユーザ」のオーナの権限のファイルを作成します。
- テンポラリファイルを編集するために、sudoeditを実行したユーザの権限でVISUAL, EDITOR 環境変数に指定されたエディタを起動します。
- 編集が終了したら(エディタが終了したら)、テンポラリファイルをオリジナルのファイルに上書きし、テンポラリファイルは削除されます。
また、指定されたファイルが存在しなければ、作成します。
使い方
コマンドラインオプション
sudoedit - 別のユーザーとしてファイルを編集します usage: sudoedit [-AknS] [-C num] [-c class] [-g group] [-h host] [-p prompt] [-u user] file ... オプション: -A, --askpass use a helper program for password prompting -b, --background run command in the background -C, --close-from=num close all file descriptors >= num -c, --login-class=class run command with the specified BSD login class -E, --preserve-env preserve user environment when running command -e, --edit edit files instead of running a command -g, --group=group run command as the specified group name or ID -H, --set-home set HOME variable to target user's home dir -h, --help display help message and exit -h, --host=host run command on host (if supported by plugin) -i, --login run login shell as the target user; a command may also be specified -K, --remove-timestamp remove timestamp file completely -k, --reset-timestamp invalidate timestamp file -l, --list list user's privileges or check a specific command; use twice for longer format -n, --non-interactive non-interactive mode, no prompts are used -P, --preserve-groups preserve group vector instead of setting to target's -p, --prompt=prompt use the specified password prompt -S, --stdin read password from standard input -s, --shell run shell as the target user; a command may also be specified -U, --other-user=user in list mode, display privileges for user -u, --user=user run command (or edit file) as specified user name or ID -V, --version display version information and exit -v, --validate update user's timestamp without running a command -- stop processing command line arguments
コマンドラインオプション
sudoedit /etc/rc.conf
上記のコマンドは、下記のコマンドと等価です。
sudo -e /etc/rc.conf
関連項目
- sudoコマンド
- sudoのインストール
- sudoの設定
- sudoの使い方
- sudoによる入出力のロギング
- visudo
- sudoedit
- sudoers
- sudoreplay