この投稿では、ssh キーのパスワードが設定されていない別のユーザーに切り替えるために、特定のユーザーへの sudo アクセスをセットアップする手順の概要を説明します。
テスト ユーザー (sudoers ファイルを編集する権限を持つ) として、visudo を使用して sudoers ファイルに追加します。
$ sudo visudo
次の行が kirk ユーザーの sudoers ファイルに追加されます:
kirk ALL=(spock) NOPASSWD: ALL
この設定により、ログイン時にユーザー「kirk」は、パスワードまたは ssh キーが設定されていなくても、ユーザー「spock」に切り替えることができます:
$ sudo -iu spock
$ pwd /home/spock
これにより、すべてのシェル プロファイル スクリプトが実行されます。すべての初期シェル スクリプトを実行せずにユーザーの変更のみが必要な場合は、代わりに次を使用します。
$ sudo -su spock
$ pwd /home/kirk
現在のディレクトリ、エイリアス、および .bashrc で行われるその他の通常の設定 (BASH を使用している場合) は保持されます。
これは、パスワードを設定して「su」コマンドを使用する場合と似ています。 「su – spock」または単に「su spock」のいずれかです。これら 2 つの両方で、spock ユーザーのパスワードが必要です。