【Linux初心者向け】rootユーザー切り替え方法!suコマンドで変更する

school

Linuxでrootユーザーに切り替えて、作業を行いたい場合にどうすれば良いかわからないという人向けです。

rootの権限をもってLinuxサーバーを管理しなければならない時どうすれば良いでしょうか?

Linuxサーバーを検証で使用するので、root権限で検証する方が楽と言った事もあると思います。

そこで今回はLinuxサーバーでrootユーザーに切り替えする方法を説明します。

筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!

目次

Linuxサーバーでrootユーザーに切り替えする方法

ユーザー管理

Linuxサーバーでユーザーを切り替える、suコマンドの基礎構文は以下です。

su オプション ユーザー名

rootユーザーに切り替える時はユーザー名に「root」を指定します。

Linuxサーバーでユーザーに切り替える、suコマンドのオプションについて以下にまとめます。

suコマンドのオプション効果
環境変数を引き継がない
-m環境変数を引き継ぐ
-cユーザーを切り替えてコマンドを実行する
suコマンドのオプション一覧

ユーザー切り替えで環境変数を引き継がない

引き継がない

環境変数を引き継がないようにするには「-」オプションを使用します。

現在のユーザーで環境変数を見てみます。

[testuser1@localhost ~]$ printenv
XDG_SESSION_ID=10
HOSTNAME=localhost.localdomain
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
USER=testuser1
PWD=/home/testuser1
LANG=ja_JP.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/testuser1
LOGNAME=testuser1
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/1003
_=/usr/bin/printenv

環境変数の「USER」や「PWD」や「HOME」や「LOGNAME」などで現在のユーザーの「testuser1」が使用されています。

rootユーザーに「-」オプションを使用して切り替えます。

su -

rootユーザーに切り替えて環境変数を見てみます。

[root@localhost ~]# printenv
XDG_SESSION_ID=10
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=ja_JP.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
LESSOPEN=||/usr/bin/lesspipe.sh %s
_=/bin/printenv

環境変数の「USER」や「PWD」や「HOME」や「LOGNAME」などで切り替えた「root」が使用されています。

ユーザー切り替えで環境変数を引き継ぐ

引継ぎ

suコマンドの「-m」オプションを使用する

環境変数を引き継ぐようにするには「-m」オプションを使用します。

rootユーザーに「-m」オプションを使用して切り替えます。

su -m

rootユーザーに切り替えて環境変数を見てみます。

[root@localhost ~]# printenv
XDG_SESSION_ID=10
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=testuser1
MAIL=/var/spool/mail/testuser1
PWD=/home/testuser1
LANG=ja_JP.UTF-8
HISTCONTROL=ignoredups
HOME=/home/testuser1
SHLVL=2
LOGNAME=testuser1
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/1003
_=/usr/bin/printenv

環境変数の「USER」や「PWD」や「HOME」や「LOGNAME」などは切り替える前の「testuser1」が使用されています。

suコマンドのオプションなしを使用する

rootユーザーにオプションなしで切り替えます。

su

rootユーザーに切り替えて環境変数を見てみます。

[root@localhost ~]# printenv
XDG_SESSION_ID=10
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=testuser1
MAIL=/var/spool/mail/testuser1
PWD=/home/testuser1
LANG=ja_JP.UTF-8
HISTCONTROL=ignoredups
HOME=/home/testuser1
SHLVL=2
LOGNAME=testuser1
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/1003
_=/usr/bin/printenv

環境変数の「USER」や「PWD」や「HOME」や「LOGNAME」などは切り替える前の「testuser1」が使用されています。

まとめ:Linuxサーバーでrootユーザーに切り替えする方法

ユーザーを切り替える

Linuxサーバーでユーザーを切り替える、suコマンドの基礎構文は以下です。

su オプション ユーザー名

rootユーザーに切り替える時はユーザー名に「root」を指定します。省略してもrootになります。

su root
su

Linuxサーバーでユーザーに切り替える、suコマンドのオプションについて以下にまとめます。

suコマンドのオプション効果
環境変数を引き継がない
-m環境変数を引き継ぐ
-cユーザーを切り替えてコマンドを実行する
suコマンドのオプション一覧
school

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次