Linuxコマンドラインを使用してルートまたは他のユーザーになる方法

現在、コマンドラインとのやりとりがほとんどなくてもLinuxを使用することは可能ですが、コマンドラインを使用して何かを行うことは、グラフィカルツールを使用するよりはるかに簡単です。

コマンドラインから定期的に使用するコマンドの例はapt-getです。これはDebianとUbuntuベースのディストリビューションにソフトウェアをインストールするために使われます。

apt-getを使ってソフトウェアをインストールするには、十分な権限を持っている必要があります。

UbuntuやMintのような一般的なデスクトップLinuxオペレーティングシステムのユーザーの最初のコマンドの1つはsudoです。

sudoコマンドを使用すると、任意のコマンドを別のユーザーとして実行できます。このコマンドは、管理者として実行されるように権限を昇格させるために一般的に使用されます(Linuxではrootユーザーと呼ばれます)。

これはすべてうまくいきますが、一連のコマンドを実行する場合や、別のユーザーとして長時間実行する必要がある場合は、 suコマンドを探してください。

このガイドでは、 suコマンドの使用方法を説明し、使用可能なスイッチに関する情報を提供します。

ルートユーザーに切り替える

rootユーザに切り替えるには、ALTとTを同時に押して端末開く必要があります。

ルートユーザーに切り替える方法は異なる場合があります。 たとえば、Linux Mint、Ubuntu、Kubuntu、Xubuntu、LubuntuなどのUbuntuベースのディストリビューションでは、次のようにsudoコマンドを使用して切り替える必要があります。

sudo su

ディストリビューションをインストールしたときにルートパスワードを設定できるディストリビューションを使用している場合は、次のコマンドを使用するだけです。

sudoでコマンドを実行した場合は、 sudoのパスワードを尋ねられますが、 suと同じようにコマンドを実行した場合は、rootのパスワードを入力する必要があります。

実際にrootユーザーに切り替わったことを確認するには、次のコマンドを入力します。

私は誰

whoamiコマンドは、現在実行中のユーザーを示します。

別のユーザーに切り替えて環境を採用する方法

suコマンドを使用すると、他のユーザーのアカウントに切り替えることができます。

たとえば、次のようにuseraddコマンドを使用してtedという新しいユーザーを作成したとします。

sudo useradd -m ted

これにより、tedという名前のユーザーが作成され、tedという名前のtedのホームディレクトリが作成されます。

次のコマンドを使用する前に、tedアカウントのパスワードを設定する必要があります。

パスワード

上記のコマンドを実行すると、tedアカウントのパスワードを作成して確認するよう求められます。

次のコマンドを使用して、tedアカウントに切り替えることができます。

スエード

上記のコマンドはtedとしてログインしますが、テストのためにホームフォルダに置かれず、tedが.bashrcファイルに追加した設定はロードされません。

ただし、次のコマンドを使用してtedとしてログインし、環境を採用することができます。

控えめな

今度はtedとしてログインすると、tedのホームディレクトリに置かれます。

フルアクションでこれを見る良い方法は、screenfetchユーティリティtedユーザーアカウントに追加することです。

ユーザーアカウントを切り替えた後にAコマンドを実行する

別のユーザーのアカウントに切り替えるが、切り替えるとすぐにコマンドが実行されるようにするには、次のように-cスイッチを使用します。

su -c screenfetch-ted

上のコマンドでsuがユーザを切り替えると、 -c screenfetchはscreenfetchユーティリティを実行し、tedスイッチをtedアカウントに実行します。

アドホックスイッチ

私はすでに別のアカウントに切り替える方法と、 -スイッチを使って同様の環境を提供する方法を示しました。

完全性のために、次のものを使用することもできます:

su -l

su - ログイン

次のように-sスイッチを指定してユーザーを切り替えると、デフォルトとは異なるシェルを実行できます。

su -s -

su - シェル -

次のスイッチを使用して、現在の環境設定を保持できます。

su -m

su -p

su --preserve-environment

概要

カジュアルなユーザーのほとんどは、sudoコマンドだけで昇格した特権でコマンドを実行しますが、別のユーザーとしてログインするのに長時間を費やしたい場合は、 suコマンドを使用できます。

ただし、仕事のために必要な権限を持つアカウントとして実行することをお勧めします。 つまり、すべてのコマンドをrootとして実行しないでください。