LoginSignup
5
4

More than 5 years have passed since last update.

sudoコマンドのメッセージを変える方法

Last updated at Posted at 2013-11-09

expectスクリプト等でハマることがあるため,まとめてみました.
serverspecでハングアップする人はぜひとも参考にしていただければと思います。
(試した環境はMac OSX10.8とCentOS6.3)

その1:/etc/sudoersを編集する

visudoコマンドで以下の行を追記します.

Defaults passprompt="passowrd:"

こうすることで,root以外の全ユーザのsudoコマンド時にpassowrd:と表示されるようになります.
記述後,特に再起動などはする必要ありません.

その2:sudoコマンドにpオプションを与える

sudoにpオプションを与えて,直後に表示させたい文字列を渡すと,パスプロンプトが引数の文字列になります.

sudo -p "パスワーーーーード:" su
> パスワーーーーード:

その3:環境変数 SUDO_PROMPT に値をセットする

export SUDO_PROMPT="passssss"
sudo su
> passssss:

ちなみに,exportしないと有効になりませんでした.
exportしない場合は下記のようにするといいです.

SUDO_PROMPT="passssss:" sudo su
> passssss:

優先度

上記の優先度はこうなります.

sudo pオプション > SUDO_PROMPT > /etc/sudoers

# visudo に 'Defaults passprompt="visudo:"' と記述しているものとします.

sudo su
> visudo:

SUDO_PROMPT="env:" sudo su
> env:

SUDO_PROMPT="env:" sudo -p "option:" su
> option:

export SUDO_PROMPT="env:"
sudo su
> env:

sudo -p "option:" su
> option:
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4