回答:
主な2つのコマンドラインの可能性は次のとおりです。
su
プロンプトが表示されたら、rootパスワードを使用して入力します。sudo
コマンドの前に置き、プロンプトが表示されたらパスワードを入力します。これは、Ubuntu、Linux Mint、(おそらく)Debianなど、ほとんどのシステムで推奨される方法です。別のルートパスワードがわからない場合は、この方法を使用します。
Sudoでは、独自のパスワードを入力する必要があります。(目的は、キーボードを無人でロック解除したままにしておくと、そのコマンドを本当に実行したいこと、たとえばタイプミスではないことを保証するために、損傷を制限することです。)数分なので、複数のsudo
コマンドを連続して実行できます。
例:
sudo service apache restart
ルートとして複数のコマンドを実行する必要がある場合は、各コマンドの前にを付けsudo
ます。インタラクティブシェルをルートとして実行した方が便利な場合があります。あなたはそのために使用することができますsudo -i
:
$ sudo -i
# command 1
# command 2
...
# exit
代わりにsudo -i
、を使用できますsudo -s
。違いは、ある-i
再私は一方で、まともなデフォルト値に環境をnitializes -s
良くも悪くも用の設定ファイルを使用しています。
詳細については、sudo Webサイトを参照するかman sudo
、システムに入力してください。須藤は非常に構成可能です。たとえば、特定のユーザーが特定のコマンドをrootとしてのみ実行できるように構成できます。詳細については、sudoers
manページを参照してください。sudo visudo
sudoersファイルの編集に使用します。
このsu
コマンドは、ほとんどのUnixライクなシステムに存在します。そのユーザーのパスワードを知っていれば、別のユーザーとしてコマンドを実行できます。ユーザーを指定せずに実行すると、su
デフォルトでルートアカウントが使用されます。
例:
su -c 'service apache restart'
実行するコマンドは、-c
オプションを使用して渡す必要があります。コマンドがシェルによって解析されず、実行されるルートシェルにそのまま渡されるように、引用符が必要なことに注意してくださいsu
。
rootとして複数のコマンドを実行するには、インタラクティブシェルを起動する方が便利です。
$ su
# command 1
# command 2
...
# exit
一部のシステムでは、を使用するにはグループ番号0(wheel
)と呼ばれる必要がありますsu
。(ポイントは、rootパスワードが誤って誰かに漏洩した場合の損害を制限することです。)
ルートパスワードが設定されていて、それを所有している場合はroot
、ログインプロンプトで入力してルートパスワードを入力するだけです。非常に注意し、意図しない動作をする可能性があるため、複雑なアプリケーションをルートとして実行しないでください。ルートとして直接ログインすることは、ディスク障害やアカウントから自分をロックアウトした場合などの緊急事態で主に役立ちます。
シングルユーザーモード、または実行レベル1では、root権限も付与されます。これは主に、マルチユーザーの実行レベルで起動できない緊急メンテナンス状況を対象としています。を渡すsingle
かemergency
、カーネルコマンドラインでシングルユーザーモードで起動できます。シングルユーザーモードで起動することは、システムを通常起動してルートとしてログインすることと同じではないことに注意してください。むしろ、システムは実行レベル1に定義されたサービスのみを開始します。通常、これは、使用可能なシステムを持つために必要なサービスの最小数です。
telinitコマンドを使用して、シングルユーザーモードに切り替えることもできtelinit 1
ます。ただし、このコマンドを実行するには、他の方法でルート権限を取得している必要があります。
多くのシステムでは、シングルユーザーモードで起動すると、パスワードを要求せずにルートシェルにアクセスできます。特に、systemd
-basedシステムは、この方法で起動するときにrootパスワードの入力を求めます。
Califeでは、許可されている場合、独自のパスワードを入力することにより、別のユーザーとしてコマンドを実行できます。これは、はるかに広く普及しているsudo(上記を参照)に似ています。Califeはsudoよりも軽量ですが、構成も簡単です。
Opを使用すると、rootを含む別のユーザーとしてコマンドを実行できます。これは、任意のコマンドを実行するための本格的なツールではありません。特定のコマンドを実行するために、システム管理者が構成しop
たニーモニックを入力します。
Superを使用すると、ルートを含む別のユーザーとしてコマンドを実行できます。コマンドは、システム管理者によって許可されている必要があります。
ウィキペディアも参照してください。
目的のコマンドの前にcommandを付けるだけpkexec
です。これはほとんどの場合に機能しますが、普遍的には機能しないことに注意してください。
詳細についてはman pkexec
、を参照してください。
kdesu
およびkdesudo
はsu
、sudo
それぞれのグラフィカルなフロントエンドです。X Windowプログラムを簡単にrootとして実行できます。それらはKDEの一部です。タイプ
kdesu -c 'command --option argument'
そして、ルートパスワードを入力するか、入力します
kdesudo -c 'command --option argument'
パスワードを入力します(実行が許可されている場合sudo
)。KdeSuで「パスワードを保持する」オプションをチェックすると、ログインセッションごとに1回だけルートパスワードを入力する必要があります。
Ktsuss(「suをシンプルに保つ、愚かな」)は、suのグラフィカルバージョンです。
べースBeesuは、suコマンドのグラフィカルなフロントエンドであり、Red HatベースのオペレーティングシステムのGksuを置き換えました。主にRHELとFedora用に開発されました。
gksu
そして gksudo
gksu
およびgksudo
はsu
、sudo
それぞれのグラフィカルなフロントエンドです。X Windowプログラムを簡単にrootとして実行できます。それらはGnomeの一部です。タイプ
gksu command --option argument
そして、ルートパスワードを入力するか、入力します
gksudo command --option argument
パスワードを入力します(実行が許可されている場合sudo
)。
gksu
およびgksudo
廃止されました。GNOMEではPolicyKitに置き換えられており、多くのディストリビューション(Ubuntuなど)はデフォルトでインストールしなくなりました。それらが利用可能であるか、適切に動作していることに依存しないでください。
「ルートセクションとしてシェルコマンドを実行する」のいずれかの方法を使用します。ルートへの移行中にDISPLAY
環境変数もXAUTHORITY
環境もリセットされないようにする必要があります。これには、この質問の範囲外のメソッドの追加構成が必要になる場合があります。
全体的に、これは悪い考えです。これは主に、グラフィカルアプリケーションがルートとして構成ファイルを読み書きするためです。通常のユーザーとしてそれらのアプリケーションを再度使用しようとすると、それらのアプリケーションには独自の構成を読み取る権限がありません。
ルートとしてファイルを編集するにはどうすればよいですか?を参照してください
sudo
(1)インストールされ、(2)使用がsudoersファイルにあり、操作の実行が許可されている場合にのみ機能することに注意してください。
pkexec
置き換えています。gksu
gksudo
使用su
:
$ su -c command
または
$ su
# command
# exit
どちらの場合でも、root
パスワードの入力を求められます。詳細については、マニュアルページを参照してください。
この質問はLinux固有のものではなかったため、Solaris 9+(またはTrusted Solaris 8)で同じ目標を達成する方法は次のとおりです。
Solarisには、バージョン9以降、RBAC(Role Based Access Control)と呼ばれる一連のツールが含まれています。
RBACの要点は、ユーザーおよび/またはロールへの承認と権利の付与、またはユーザーへのロールの付与により、誰がどの特権で何を実行できるかについて、非常にきめ細かいモデルを作成できることです。
基本的に、/ etc / security / auth_attrで承認を特定し、/ etc / user_attrでユーザーまたはロールに付与します。
プロファイルは/ etc / security / prof_attrで定義します。次に、コマンドを/ etc / security / exec_attr内のそれらのプロファイルに関連付けてから、それらのプロファイルを/ etc / user_attrファイル内のユーザーに割り当てます。
それらのものが完了したら、あなたが実際に実行pfexec <command>
に付与されている特権または権限でコマンドを実行するためにそのためのユーザーというコマンドを。
RBACの良いところは、コマンド自体またはユーザーに、ユーザー+コマンドの組み合わせに対してのみ付与される追加の特権がないことです。したがって、バイナリ+を作成したり、単にsudoを使用してユーザーがほとんど何でも実行できるようにするよりも安全です。(sudoをロックできることは知っていますが、私の経験ではほとんどの人はそうではありません)
RBACのもう1つの利点は、rootを役割アカウントにし、その役割を「su」コマンドとrootパスワードでrootになることができるユーザーに割り当てることができることです。rootユーザーはまた、あなたがrootのパスワードを無効にすることができ、Linuxのモデルよりも、(私の意見では)優れているシングルユーザーモードにログインすることができますpasswd -d root
、またはrootアカウントをロックしpasswd -l root
、非常にrootでログインしますどちらも、何かがうまくいかないときは難しい。
Ben RockwoodのRBACに関する優れたブログ投稿は、(Open)SolarisでのRBACの使用で読むことができます。
または、いくつかのコマンドに超能力を与えることができます。私は、所有者の許可でコマンドが実行される特別な許可について話しています。
コマンドのパスを取得し、そのパスの#which <command>
SUIDまたはSGIDを設定します。
PS-SUIDおよびSGIDビットは注意して与える必要があります。システムが安全でなくなる可能性があります。