「誰かがsudo
の意味を教えてもらえますか?」私はLinuxを学んでいます。私はグーグルで検索しましたが、誰かが Windows の比較を教えてくれますか。これは少し役立つと思います。 su
はユーザーの切り替えを意味します。 sudo
は別のユーザーですが、どのように、そしてなぜですか?なぜ「自分のユーザー名で自分に権限を与えることができないのですか?
コメント
- Windowsでは、管理者権限がない場合は、同様に機能するアカウントの名前とパスワードを指定する必要があります。もちろん、ユーザー名で権限を付与することもできます。そうするのは賢明ではありません。実行すると、許可されているものをすべて変更できます。これが、Windowsが長い間安全でなかった理由の1つです。
- @KnowledgeBeyondMe:質問の件名は何ですか?次のように変更してください。何か意味のあることです。
- わかりました。理解できるかどうか確認させてください。管理者アカウントを持っている人の代わりに、sudoユーザー名を使用すると、誰もが管理者になる可能性があります。ただし、そのsudoユーザー名を使用すると、アクションは、実際のユーザー名アカウントから離れたようなものであるため、ログに戻されます。そうであれば、私はそれが本当に好きです。時間を大幅に節約できます。’ソフトウェアやプリンターなどを追加するために、特権を持つ誰かがあなたのところに来るのを待つ必要はありません。
回答
sudo
を使用すると、ルートスーパーユーザーとしてプログラムを実行できます。 su
の代わりに使用すると
- パスワードを要求されるため、rootパスワードを知る必要はありません。
- どのコマンドがルートとして実行され、他のどのコマンドがあなたとして実行されるかを明示的に知っています。
su
を使用すると、シェルが取得され、一部の(危険な)プログラムが誤って実行される可能性があります。 - すべてのアクションがファイル。
su
によって開始されたアクションなど、シェル内のアクションは通常ログに記録されません。
自分のユーザー名で権限を付与できないのはなぜですか?
Forセキュリティ上の理由から、 rootアカウントが日常的に使用されることはめったにありません。通常、管理者を含むすべてのユーザーは「通常の」ユーザーを使用し、コマンドのみを実行します。これにより、(1)他のユーザーのファイルへの不正アクセス、(2)ログに記録されないrootアクション、(3)「危険な」プログラムの実行によって引き起こされる問題を防ぐことができます。
は、ウィキペディアの例です。
- ルートアカウントを使用することは、スーパーマンであることに似ています。管理者の常連です。ユーザーはクラークケントに似ています。クラークケントは、人々を救うために、必要な期間だけスーパーマンになります。その後、彼は「変装」に戻ります。ルートアクセスも同じ方法で使用する必要があります。クラークケントの変装は、彼がまだ彼の超能力を使用できるので、実際には彼を制限しません。これは、sudoプログラムを使用することに似ています。
コメント
-
sudo
を使用することは、スーパーピーナッツを食べてスーパーグーフィーに変わるまではグーフィーであるようなものです。タイムアウトするとスーパーパワーが失われます(デフォルト) 15分)、その後、新しいピーナッツの入力を求められます…えー、パスワード。 - わかりました。理解できるかどうか確認させてください。管理者アカウントを持っている人の代わりに、誰もがsudoユーザー名を使用して管理者になります。ただし、そのsudoユーザー名を使用すると、実際のユーザー名アカウントから離れたようなものであるため、アクションがログに戻されます。そうであれば、私は本当に気に入っています。トンを節約できます。 ‘プライバシーを持った誰かがあなたのところにやって来て、ソフトウェアやプリンターなどを追加するのを待つ必要はありません。
- @KnowledgeBeyondMe誰もが効能ある管理者になるにはialですが、
/etc/sudoers
にリストされていることを許可する必要があります。 suよりもsudoには他にもいくつかの利点がありますが、sudoの主なポイントは、自分のパスワードを使用して認証することです。共有パスワードが不正です。 - 他の手法を使用して、
/etc/sudoers
またはにユーザーを含めることを承認する必要があります、sudo
を実行します。通常、すべての人を承認するのではなく、システム管理者だけを承認します。
回答
ほとんどのUnicesではデフォルトで、「管理者」アカウントであるrootは、慎重に使用する必要があります。通常のUnixシステムには、2つのレベルの管理者または「スーパーユーザー」権限しかありません。すべてを完全に制御できるか、持っていないかのどちらかです。
「フルコントロール」には、ほとんどの権限チェックを回避し、単純な入力ミスによってシステムを完全に台無しにすることが含まれます。通常のユーザーは、せいぜい自分のファイルしか削除できません。
古いsu
ユーティリティは、rootパスワードと一緒に使用されてrootIDを引き継ぎます。ただし、正しいユーザーグループに属し、ユーザーのパスワードを知っている場合は、他のユーザーIDを想定したり、単一のコマンドを実行したりするために使用することもできます。
su
は、rootユーザー(一部のUnixシステム)が 、特定のユーザーIDで実行してエリアへのアクセスから保護する必要のあるデーモン(サービスプロセス)を起動するためによく使用されます。アクセス権を持たないようにする必要があります(通常、Webサーバー、SSHサーバーなど)。これは、システムの起動時に起動スクリプトで実行される場合があります。
su
が(コマンドラインで)インタラクティブに使用されることはめったにありません。
sudo
ユーティリティでは、ユーザーが別のコマンドとしてコマンドを実行できるため、もう少し構成が必要です。 自分のパスワードを使用したユーザー(たとえば、rootパスワードを共有する必要がないことを意味します)。また、誰が正確に何を実行できるかをきめ細かく制御することもできます。たとえば、単一のユーザーまたはユーザーのグループ全体に、特定のディスクをマウントする機能を与えることができますが、そのディスクをアンマウントしたり、他のディスクをマウントしたり、特定のコマンドなどを使用してソフトウェアをインストールしたりすることはできません。 div id = “43a3cdde55”>
ユーティリティを使用すると、インタラクティブセッションで他のユーザーのID(rootだけでなく)を想定したり、単一のコマンドを実行したりできます(rootを持つ他のユーザーがこのように構成を設定している場合)
通常、sudo
を使用して単一のコマンドを実行します(したがって、「スーパーユーザーdo」という名前が付けられます):
$ sudo apt-get install vim
または
$ sudo shutdown -ph now
sudo
をこのように使用する方が、sudo -s
実行するコマンドはログに記録されるため、インタラクティブなルートシェルで動作します。後でログファイル内のアクションをたどって、どこで(そして誰が)何かをしたかを確認できます。デバッグまたは監査用。
typiを見つけた場合インタラクティブなルートプロンプトで長時間離れた場合は、何をしているのかを再検討する必要があります。それが本当にルート権限を必要とするかどうか。
例として、 I インタラクティブなrootプロンプトを表示するのは、新しくインストールしたマシンに通常のユーザーを自分で追加するとき、または通常のユーザーとしてログインすることさえできない深刻な問題がある場合です。
OpenBSD(リリース5.8以降)には、デフォルトのシステムインストールのsudo
を置き換えるdoas
というユーティリティがあります。 sudo
が複雑になりすぎて、OpenBSDの開発者が設定した目標に適合できないことが明らかになったときに開発されました。その使用法はsudo
、の使用法と似ていますが、構成が簡単です。
回答
Unixの初期バージョンでは、最も一般的なシナリオは、ウィンドウシステムのない端末からログインすることでした。 suコマンド(substitute user)は、ログアウトせずに現在のアクセス許可を変更するための便利な方法でした。ウィンドウシステムがログアウトしないと、実行中のすべてが停止することを意味することを忘れないでください。
suを使用してrootになるには、いくつかの厄介な問題があります。時々、セッションを終了するのを忘れて、誤ってrootとしてコマンドを実行することがありました。管理パスワードの変更は、それを必要とするすべての人に配布する必要があるという事実によって複雑になりました。ほとんどのシステムはすべてのコマンドをログに記録しなかったため、rootとして誰が何をしたかを判断するのは困難でした。など。
sudoは、rootとして1つのコマンドを実行できるようにすることで、これらの問題に対処しました。 1回限りのコマンドに少し便利でありながら、より優れた監査と制御を提供します。
回答
わかりました。理解できるかどうか、確認させてください。管理者アカウントを持っている人の代わりに、sudoユーザー名を使用することで誰もが管理者になる可能性があります。ただし、そのsudoユーザー名を使用すると、実際のユーザー名アカウントから離れたようなものであるため、アクションはログに戻されます。もしそうなら、私はそれが本当に好きです。それはたくさんの時間を節約します。ソフトウェアやプリンタなどを追加するために、プライバシーを持った誰かがあなたのところに来るのを待つ必要はありません。
コメント
-
sudo
はユーティリティであり、ユーザー名ではありません。sudo
を使用する権利を誰かがあなたに与える必要があります。権利は次の使用に制限される場合があります。特定のコマンド、またはsudo
を使用して特定の他のユーザーIDを想定する場合。sudo
を使用して、root以外の役割に切り替えることができます。 - ああ、それはActive Directory組織グループのようなものですか?権限を持つ独自のユーザー名がありますが、権限が付与されている場合は、特殊な組織の権限にアクセスできます。この意味でのORGはSUDOユーティリティになりますか?
- “アクティブディレクトリ”が何であるかわからない、 ‘確実に「はい」または「いいえ」とは言えません。
- ウィンドウ内の権限と役割の制御メカニズム。
- いいえ、sudoグループまたはユーザーアカウントではありません。 –Windows、Active Directory、およびLDAPでは、ユーザーグループを定義できます。 Linuxでは、ユーザーグループを定義することもできます。たとえば、Linuxには通常
admin
グループがあります。各ユーザーは、プライマリグループと複数のセカンダリグループに属している場合があります。 –sudo
をグループのすべてのメンバーに許可できます。/etc/sudoers
を確認すると、承認されたグループには%
プレフィックスが付いています。
Answer
sudoを使用すると、構成可能で事前定義された一連のルールに基づいて、プログラムを別のユーザー(rootを含む)として実行できます。
On Unix / POSIX / Linuxシステムのルートは神です。 rootユーザーも単一です。
多くの環境では、完全なrootアクセスを必要とする複数の管理者がいますが、通常はroot用に予約されている特定の機能を実行するためにアクセスを必要とする個人もいます。 DBAは、DBサービスを停止および開始し、DB構成ファイルを編集し、ネットワーク管理者はネットワークデバイスとルートを構成し、セキュリティ管理者は証明書を管理し、ファイアウォールを構成する必要があります。
ユーザーが実行できるコマンドを制限することにより、sudoは最小特権の原則を適用します。つまり、ユーザーは必要のないアクセス権を取得できません。しかし、それはユーザーが実行するバイナリを制約するだけではありません。多くの管理タスクはコマンドラインから実行されます-そのコマンドに渡されるパラメーターはsudoによって制約されることもあります(またはsudoによって提供されるアクセス権を持つシェルスクリプトにキャプチャされる)ため、これらが特化したデータ/デバイスを制限することができます管理者がアクセスできます。
自分のユーザー名で権限を付与できないのはなぜですか?
1)これは悪いことです。
-
システムのルートアカウントにアクセスすることがよくありますが、ログインに使用する名前付きアカウントを設定します。 、そして、自分の超能力を明示的に呼び出したい場合にのみ「su」または「sudo」。愚かな間違いを避けることに加えて、私の名前付きアカウントは、誤動作するコンポーネントのサンドボックスを提供します。
-
特権アクセスが必要な人が5人いる場合、すべての人にアクセスを許可しますか?20人はどうですか?200人はどうですか?
2)これ難しいでしょう
- それはUnixセキュリティモデルではありません。確かに、一部の実行可能ファイルのアクセス許可を変更できます(パラメーターに関する以前のメモを参照)。ただし、セキュリティを重視する場合は、パッチを定期的に適用します。これにより、カスタマイズされた権限モデルが損なわれる可能性があります(sudo OTOHは、コマンド自体とは独立して権限を維持します)。
コメント
- ああ、これがLinuxの攻撃が少し難しい理由です。権利を持つ人が少なくなります。攻撃者は適切な権利を持つ適切な人を見つける必要があります。それ自体。