\ 最大10%ポイントアップ! /

suやsudo時のログインシェル、インタラクティブシェル

当サイトには広告を含みます。

当サイトでは、広告掲載ポリシーに沿って広告を掲載しています。
※広告でなく、単に商品やサービスを自主的に紹介しているだけという場合もあります。

"オススメ" として紹介している商品やサービスは、個人的にそう思えたものだけです。

共感、興味をもっていただけるものがあればご利用ください。

1,000P獲得できるお得なAmazonプライム入会

スクリプトやツールを使用する際、ログインシェルか、インタラクティブシェルかを考慮しないといけないことがあります。
本記事では、susudoを実行した際に起動されるシェルがログインシェルかどうか、インタラクティブシェルかどうかについてまとめます。

本記事の目的

  • susudoを実行した際に起動されるシェルがログインシェルかどうか、インタラクティブシェルかどうかを確認する

目次

基本

前提

対象はbash(GNU Bash)、su、sudoあたりのコマンドです。

記載されている動作確認結果はRHEL8系のものです。別のOSやLinuxディストリビューションについては、コマンド自体の違いは無いか、あっても少ないはずですが、関連するStartup Files(profileやbashrc等)の構成が違うことより結果的に異なる動作になる場合があります。

suやsudo時のログインシェル、インタラクティブシェル

以下のようになります。

コマンド ログインシェル インタラクティブシェル
su
su -
sudo -s
sudo -i
sudo (コマンド)(※1)
sudo su
sudo su -
sudo bash

●:該当

(※1)シェル起動やsu以外のコマンド

上記はサマリです。
詳細については後述します。

詳細

suの各実行方法

  • ユーザを指定しない場合、suはrootとしてコマンドを実行します。

  • 参考:suのman(開発元)
    各OSやディストリビューションに実装されているものと多少違いがあるかもしれませんが、本記事のような基本的なオプションに差異は無いと思います。

su

rootとしてインタラクティブシェルを実行します。

ログインシェルではありません。

su -

オプション無しのsuとの違いは、su -では、ログインシェルとしてシェルを実行します。

suの、--l--loginは全て同じ意味のオプションです。

引数0(argv[0])の先頭に”-“が付与されます。

sudoの各実行方法

  • -uでユーザを指定しない場合、sudoはrootとしてコマンドを実行します。

  • sudoのman(開発元)
    各OSやディストリビューションに実装されているものと多少違いがあるかもしれませんが、本記事のような基本的なオプションに差異は無いと思います。

sudo -s (--shell)

-s(--shell)オプションを使用すると、sudoを実行したユーザの環境変数SHELLが設定されていればその値のシェルを、設定されていなければそのユーザのpasswdエントリにあるシェルをrootとして起動します。

コマンドを指定せずsudo -sだけを実行すると、インタラクティブシェルが起動します。
ログインシェルではありません。

マニュアル(-s, –shell)

sudo -i (--login)

-i(--login)オプションを使用すると、rootとしてログインシェルを起動します。
インタラクティブシェルです。

マニュアル(-i, –login)

sudo (コマンド)

※ここでは、シェル起動以外のコマンド(bashのようなシェルでなく、cpdnfshutdown等)

rootとして、指定したコマンドを実行します。
シェルは起動されません。

sudo su

rootとしてsuを実行します。

rootのパスワードを入力せず、sudoを実行するユーザのパスワードでrootになれます。

sudo su -

rootとしてsu -を実行します。

rootのパスワードを入力せず、sudoを実行するユーザのパスワードでrootになれます。

参考URI

GNU Bash
www.sudo.ws
util-linux(suを含む)

関連記事(シェル、umask等)

記事作成、サイト管理
プロフ画像 (暫定版)

happynap
(はっぴぃなっぷ)

3人家族で暮らし
ITっぽい仕事をしつつ
ポイ活、投資を趣味的に
スキマ時間に、ゆるく全力でブログ
のんびり昼寝したい

お得情報

出張先、旅行先のホテル予約はお早めに

よろしければシェアいただけると
目次