GNU/Linux >> Linux の 問題 >  >> Linux

システム管理者(root)としてコマンドを実行する方法は?

管理者権限でコマンドを実行する必要があります。 rootとしてコマンドを実行する必要があると誰かが言った。どうすればよいですか?

承認された回答:

主な2つのコマンドラインの可能性は次のとおりです。

  • suを使用する プロンプトが表示されたら、rootパスワードを入力します。
  • sudoを入力します コマンドの前に入力し、プロンプトが表示されたらパスワードを入力します。

rootとしてシェルコマンドを実行する

sudo(グラフィカルディスプレイを実行していない場合に推奨)

これは、Ubuntu、Linux Mint、(おそらく)Debianなどを含むほとんどのシステムで推奨される方法です。別のルートパスワードがわからない場合は、この方法を使用してください。

Sudoでは、独自のパスワードを入力する必要があります。 (目的は、キーボードを無人にしてロックを解除したままにした場合の損傷を制限し、本当に確実にすることです。 そのコマンドを実行したいのですが、そうではありませんでした。タイプミス。)多くの場合、数分間再度要求しないように構成されているため、複数のsudoを実行できます。 連続したコマンド。

例:

sudo service apache restart

rootとして複数のコマンドを実行する必要がある場合は、各コマンドの前にsudoを付けます。 。ルートとしてインタラクティブシェルを実行する方が便利な場合があります。 sudo -iを使用できます そのために:

$ sudo -i
# command 1
# command 2
...
# exit

sudo -iの代わりに 、sudo -sを使用できます 。違いは、-i re i -sに対して、環境を適切なデフォルトに初期化します。 設定ファイルを良くも悪くも使用します。

詳細については、sudo Webサイトを参照するか、man sudoと入力してください。 システム上で。 Sudoは非常に構成可能です。たとえば、特定のユーザーがrootとして特定のコマンドのみを実行できるように構成できます。 sudoersを読む 詳細については、manページを参照してください。 sudo visudoを使用する sudoersファイルを編集します。

su

su コマンドは、ほとんどのUNIXライクなシステムに存在します。そのユーザーのパスワードを知っていれば、別のユーザーとしてコマンドを実行できます。ユーザーを指定せずに実行した場合、su デフォルトではrootアカウントになります。

例:

su -c 'service apache restart'

実行するコマンドは、-cを使用して渡す必要があります オプション。コマンドがシェルによって解析されないように引用符が必要であることに注意してください。ただし、suであるルートシェルにそのまま渡されます。 実行します。

rootとして複数のコマンドを実行するには、対話型シェルを開始する方が便利です。

$ su
# command 1
# command 2
...
# exit

一部のシステムでは、グループ番号0(wheelと呼ばれる)に属している必要があります )suを使用する 。 (重要なのは、rootパスワードが誤って誰かに漏洩した場合の被害を制限することです。)

ルートとしてログイン

ルートパスワードが設定されていて、それを所有している場合は、rootと入力するだけです。 ログインプロンプトで、rootパスワードを入力します。非常に注意して、複雑なアプリケーションをrootとして実行しないでください。意図しないことを実行する可能性があります。 rootとして直接ログインすると、主に、ディスク障害やアカウントから自分をロックアウトした場合などの緊急事態で役立ちます。

シングルユーザーモード

シングルユーザーモード、つまりランレベル1でも、root権限が付与されます。これは主に、マルチユーザーの実行レベルで起動できない緊急メンテナンスの状況を対象としています。 singleを渡すと、シングルユーザーモードで起動できます。 またはemergency カーネルコマンドラインで。シングルユーザーモードで起動することは、システムを通常どおり起動してrootとしてログインすることと同じではないことに注意してください。むしろ、システムは実行レベル1に定義されたサービスのみを開始します。通常、これは、使用可能なシステムを持つために必要なサービスの最小数です。

関連:GNU Partedを使用して空き領域にパーティションを作成するにはどうすればよいですか?

telinitコマンドtelinit 1を使用して、シングルユーザーモードにすることもできます。;ただし、このコマンドを実行するには、他の方法でroot権限を取得している必要があります。

多くのシステムでは、シングルユーザーモードで起動すると、ユーザーはパスワードの入力を求めずにルートシェルにアクセスできます。特に、systemd ベースのシステムでは、この方法で起動すると、rootパスワードの入力を求められます。

その他のプログラム

カリフ

Califeでは、許可されている場合は、自分のパスワードを入力して、別のユーザーとしてコマンドを実行できます。これは、はるかに普及しているsudoに似ています(上記を参照)。 Califeは、sudoよりも軽量ですが、構成も簡単ではありません。

Op

Opを使用すると、rootを含む別のユーザーとしてコマンドを実行できます。これは、任意のコマンドを実行するための本格的なツールではありません。opと入力します。 続いてニーモニック 特定のコマンドを実行するようにシステム管理者によって構成されます。

スーパー

Superを使用すると、rootを含む別のユーザーとしてコマンドを実行できます。コマンドは、システム管理者によって許可されている必要があります。

rootとしてグラフィカルコマンドを実行する

PolicyKit(GNOMEを使用する場合に推奨)

目的のコマンドの前にコマンドpkexecを付けるだけです。 。これはほとんどの場合機能しますが、普遍的には機能しないことに注意してください。

man pkexecを参照してください 詳細については。

KdeSu、KdeSudo(KDEを使用する場合に推奨)

kdesu およびkdesudo suのグラフィカルフロントエンドです およびsudo それぞれ。それらはあなたが面倒なしでrootとしてXウィンドウプログラムを実行することを可能にします。それらはKDEの一部です。タイプ

kdesu -c 'command --option argument'

ルートパスワードを入力するか、「

」と入力します
kdesudo -c 'command --option argument'

パスワードを入力します(sudoの実行が許可されている場合 )。 KdeSuで[パスワードを保持する]オプションをオンにすると、ログインセッションごとに1回だけrootパスワードを入力する必要があります。

その他のプログラム

Ktsuss

Ktsuss(「suをシンプルに保つ」)は、suのグラフィカルバージョンです。

Beesu

Beesuは、RedHatベースのオペレーティングシステムでGksuに取って代わったsuコマンドのグラフィカルフロントエンドです。主にRHELとFedora用に開発されました。

廃止されたメソッド

gksu およびgksudo

gksu およびgksudo suのグラフィカルフロントエンドです およびsudo それぞれ。それらはあなたが面倒なしでrootとしてXウィンドウプログラムを実行することを可能にします。それらはGnomeの一部です。タイプ

gksu command --option argument

ルートパスワードを入力するか、「

」と入力します
gksudo command --option argument

パスワードを入力します(sudoの実行が許可されている場合 。

gksu およびgksudo 廃止されました。それらはGNOMEのPolicyKitに置き換えられ、多くのディストリビューション(Ubuntuなど)はデフォルトでそれらをインストールしなくなりました。それらが利用可能であるか、適切に機能していることに依存するべきではありません。

シェルベースの方法の1つを介して手動で

「シェルコマンドをルートセクションとして実行する」のいずれかの方法を使用します。 DISPLAYのどちらでもないことを確認する必要があります 環境変数もXAUTHORITY ルートへの移行中に環境がリセットされます。これには、この質問の範囲外のメソッドの追加構成が必要になる場合があります。

全体として、これは悪い考えです。主な理由は、グラフィカルアプリケーションがrootとして構成ファイルを読み書きし、それらのアプリケーションを通常のユーザーとして再度使用しようとすると、それらのアプリケーションには独自の構成を読み取る権限がないためです。

関連:MacOS –ターミナル起動時にコマンドを実行しますか(macOS)?

rootとしてファイルを編集する

ルートとしてファイルを編集するにはどうすればよいですか?


Linux
  1. Sudoを使用したリダイレクトまたはパイピングを含むコマンドを実行するにはどうすればよいですか?

  2. コマンド ラインから任意の場所で実行するスクリプトをインストールするにはどうすればよいですか?

  3. シェルから Vim コマンドを実行するには?

  1. Linuxgrepコマンドの使用方法

  2. Linuxでhistoryコマンドを使用する方法

  3. ユーザーのログアウト後も nohup を使用してコマンドを実行し続ける方法は?

  1. basenameコマンドの使用方法は?

  2. ルートプロパティなしでコマンドを実行する方法は?

  3. 遅れてバックグラウンドでコマンドを実行する方法は?