Linux
 Computer >> コンピューター >  >> システム >> Linux

Su、Sudo Su、Sudo -s、Sudo-iの違い

Su、Sudo Su、Sudo -s、Sudo-iの違い

Linuxターミナルでルートセッションを取得するには、さまざまな方法があります。ルート権限を取得しようとしているほとんどの初心者ユーザーは、各コマンドがルートアクセスを取得する方法、コマンドの違い、およびこれらの違いが重要な場合に精通していない可能性があるため、これにより混乱が生じる可能性があります。ここでは、端末でrootアクセスを取得するために使用される多くの異なるコマンドのそれぞれを分解し、それらがrootを取得する方法、それらをいつ使用するか、およびその間のすべてを説明します。

su

su コマンドは、システムがシェルで使用している現在のユーザーを置き換えます。

Su、Sudo Su、Sudo -s、Sudo-iの違い

suと入力すると、任意のユーザーに切り替えることができます その後にユーザー名を追加します。これにより、現在のユーザーを指定されたユーザーに切り替える(そして基本的にログアウトする)ようにシステムに指示します。または、su コマンドは、suと入力してrootアクセスを取得できます コマンドの後に何も指定せずに。

「su」は、ユーザーがシステムのrootアカウントに直接アクセスしたい場合に最適です。 sudoを通過しません またはそのようなもの。代わりに、文字通りログインしているため、rootユーザーのパスワードを入力するように求められます。さらに、ルートアクセスを取得する他の方法には、ルートホームディレクトリとルート環境へのアクセスも取得するという利点はありません。

sudo su

このコマンドは、rootではなく現在のユーザーのパスワードを要求します。

Su、Sudo Su、Sudo -s、Sudo-iの違い

基本的に、suを実行するのと同じです。 シェルでは、1つの重要な違いを除いて。システムに直接「ユーザーを切り替える」ように指示する代わりに、rootとして「su」コマンドを実行するようにシステムに指示します。 sudo suの場合 が実行されると、suの実行と同様に、「。profile」、「。bashrc」、および「/ etc/profile」が開始されます。 (またはsu root )。 sudoを使用してコマンドを実行した場合 その前に、root権限が与えられます。

「sudosu」と「su」の間に大きな違いはありませんが、sudo su 1つの重要な理由から、これは依然として非常に便利なコマンドです。ユーザーがシステムでrootアクセスを取得するために「su」を実行している場合、rootパスワードを知っている必要があります。ルートはsudo suで指定されます 現在のユーザーのパスワードを要求する。これにより、rootパスワードなしでrootを取得できるようになり、セキュリティが向上します。

sudo -i

sudo -iを使用する sudo suと実質的に同じです 1つの例外を除いてコマンド:rootユーザーと直接対話しません。

Su、Sudo Su、Sudo -s、Sudo-iの違い

sudo suによく似ています 、-i フラグを使用すると、ユーザーはrootアカウントのパスワードを知らなくてもroot環境を取得できます。 sudo -i sudo suの使用にも非常に似ています 、すべての環境ファイル(.profileなど)を読み取り、シェル内に環境を設定するためです。

「sudosu」と異なる点は、sudo -i これは、rootユーザーと直接対話することなくrootおよびroot環境を取得するためのはるかにクリーンな方法です。明確にするために:sudo suを使用 複数のルートsetuidを使用しています バックグラウンドでコマンド。これにより、どの環境変数が保持され、どの環境変数が変更されるか(ルート環境にスワップする場合)を把握することがはるかに困難になります。これは、sudo -iには当てはまりません。 。このため、ほとんどの人は、直接ログインせずにルートを取得するための好ましい方法と見なしています。

sudo -s

このコマンドは、$SHELL変数を使用してシェルを呼び出します。

Su、Sudo Su、Sudo -s、Sudo-iの違い

-s 「sudo」コマンドのスイッチは、コマンドを実行している現在のユーザーの$SHELL変数を読み取ります。このコマンドは、ユーザーがsudo /bin/bashを実行しているかのように機能します 。 Sudo -s 「非ログイン」スタイルのシェルです。 sudo -iのようなコマンドとは異なり またはsudo su 、システムは環境ファイルを読み取りません。ユーザーがシェルにsudo -sを実行するように指示したとき 、rootを取得しますが、ユーザーまたはユーザー環境を変更しません。あなたの家はルートホームなどにはなりません。

Su、Sudo Su、Sudo -s、Sudo-iの違い

このコマンドは、ユーザーがrootに切り替えたくないが、$SHELL環境値を持つインタラクティブシェルが必要な場合に最適です。上記で説明した他のコマンドはrootアクセスを取得しますが、root環境ファイルに触れて、ユーザーがrootに完全にアクセスできるようにします(これはセキュリティの問題になる可能性があります)。

よくある質問

1。どのコマンドを使用すればよいですか?

各コマンドにはユースケースがあります。ここで重要なことは、各コマンドが何を実行し、いつそれらを使用するかを理解することです。現状では、sudo -i ルート環境を取得するための最も実用的でクリーンな方法です。一方、sudo -sを使用している場合 ルート環境に触れることなくルートシェルを取得できることがわかります。これにより、セキュリティ上の利点が追加されました。

2。ルートにアクセスするとシステムに害を及ぼす可能性がありますか?

場合によっては、はい。特定のターミナルセッションですべてのルートにアクセスする必要があることが絶対に確実でない限り、sudoと入力する方がよい場合がよくあります。 その特定のコマンドのrootにアクセスする場合は、コマンドが続きます。たとえば、sudo apt install vlcと入力します。 LinuxのDebianベースのバージョンでは、APTパッケージマネージャーを実行してVLCをインストールするためだけにrootにアクセスするようにオペレーティングシステムに指示します。

sudo -iを実行する際の非常に重要な注意事項の1つ または、sudoと入力するのではなく、前に説明したその他のバリエーション rootとして実行する各コマンドの前に、前者はコマンド履歴を/var/log/auth.logに記録しません。 。混乱した場合、戻って何をしたかを確認することはできないため、修正することができます。ルートセッションは記録されないため、メモリ不足で操作する必要があります。

3。コマンドの前に「sudo」と入力すると、「sudosu」のどのバリアントを実行していますか?

sudoと入力する コマンドを実行するには(つまり、実行するコマンドと同じ行にコマンドを入力する)、基本的にはインタラクティブなルートシェルで実行します。これがsudo -sになります スタンドアロンコマンドは行います。

まとめ

このリストには、100%最高のコマンドは1つもありません。ユーザーがコマンドラインに慣れてきたら、ルートを取得する各方法を考慮に入れて(そして多くの方法があります)、長所と短所を比較検討し、それに応じて行動する必要があります。この記事の助けを借りて、これらの決定がより簡単になることを願っています。コマンドについて詳しく知りたい場合は、便利なLinuxコマンドに関するこの記事を読んで、ディレクトリの内容を一覧表示してください。


  1. ビットコインとイーサリアムの違い

    2017年は間違いなく暗号通貨の年であり、価格が下がったとしても、特に主要通貨への関心は下がっていません。最も人気のある2つの通貨であるビットコインとイーサリアムは、年間で大幅な価格上昇を見せました。それぞれ、1,000ドル未満から20,000ドル近く、10ドル未満から1,300ドル超になりました。暗号通貨への投資に興味がある場合は、ビットコインとイーサリアムの違いについて簡単に説明します。 1。ビットコインはジェネレーション1、イーサリアムはジェネレーション2 ビットコインは、世間の注目を集めた最初の主要な暗号通貨でした。ある意味、初代です。イーサリアムは数年後に登場し、ビットコインをベ

  2. Windows 10 と Windows 11 の違いは?

    Microsoft は最新の Windows 11 をリリースし、多くの新機能と改善を行いました。また、多くのパッチとアップデートにより、Windows 10 は新しい Windows 11 よりも安定した OS になりました。同社によると、2025 年以降に Windows 10 でのサポートが終了するため、Windows 11 または Windows 10 へのアップグレードを決定するのに十分な時間があります。 Windows 10 を快適に使用してください。この記事では、Windows 10 と Windows 11 の比較を用意しました。 新しい OS に切り替えるか、Windows