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

Linuxでの「su」コマンドと「su-」コマンドの違いを学ぶ

以前の記事で、Linuxでのsudoコマンドとsuコマンドの違いについて説明しました。これらは、ユーザー管理ポリシーとユーザー権限に関して、Linuxでセキュリティを実装するために使用される2つの重要なコマンドです。

su コマンドは、別のユーザーに切り替えるために使用されます。つまり、ユーザーの IDを変更します。 通常のログインセッション中(そのため、スイッチ(-)と呼ばれることもあります。 多くのLinuxユーザーによるユーザー)。 ユーザー名なしで実行された場合 、たとえば su- 、デフォルトでrootユーザーとしてログインします。

Linuxの新規ユーザーが直面する一般的な課題は、「su」の違いを理解することです。 および「su-」 。この記事は、「su」の違いを簡単に理解するのに役立ちます および「su-」 Linuxシステムの場合。

通常、別のユーザーになるか、他のユーザーにログインするには、次のコマンドを呼び出すと、切り替え先のユーザーのパスワードの入力を求められます。

$ su tecmint

上のスクリーンショットのシナリオを考慮すると、ユーザーが tecmintであることに注意することが重要です。 ユーザーから環境を守りますaaronkilik’s 元のログインセッション、現在の作業ディレクトリ、および実行可能ファイルへのパスも同じままです。

その結果、ユーザーが tecmint 作業ディレクトリ(まだユーザーaaronkilikの)を一覧表示しようとします 作業ディレクトリ)、エラー:「 ls:ディレクトリを開くことができません。:アクセスが拒否されました 」が表示されます。

しかし、最後に、ユーザー tecmint オプションなしでcdコマンドを実行した後、彼のホームディレクトリを一覧表示できます。

次に、 suを呼び出すとき -を使用 、または -l <​​/ code> または--login フラグ、それはあなたが通常ログオンしているときと同様のログインインターフェースを提供します。以下のすべてのコマンドは互いに同等です。

$ su - tecmint
OR
$ su  -l tecmint
OR
$ su --login tecmint

この場合、ユーザーは tecmint 実行可能ファイルへのパスを含む、彼自身のデフォルトのログイン環境が提供されます。彼はまた、デフォルトのホームディレクトリにアクセスします。

重要なのは、 suを実行するときです。 ユーザー名なし 、自動的にスーパーユーザーになります。実行可能ファイルの変更へのパスを含む、rootのデフォルト環境が提供されます。ルートのホームディレクトリにもアクセスします:

$ su

LinuxでSudoパスワードを入力するときにアスタリスクを表示する方法

もチェックしてください。

この記事が参考になることを願っています。以下のコメントセクションから、質問したり、考えを共有したりできます。


Linux
  1. LinuxでのSuspendとHibernateの違いは何ですか

  2. Linux の絶対パスと相対パスの違い

  3. Bash の ${} と $() の違い

  1. sudo crontab -e と crontab -e だけの Linux の違い

  2. Linux の機能と seccomp の違い

  3. bash スクリプトのコマンドとターミナルのコマンドの違い

  1. Linuxでの「su」コマンドと「su-」コマンドの違い

  2. 停止コマンドとシャットダウンコマンドの違いは?

  3. 「ifconfig」コマンドと「ip」コマンドの違い