Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

sudoコマンドと設定ファイルの概要

このガイドでは、sudoコマンドとは何か、Linuxでの使用方法、および構成ファイルの編集方法について説明します。

Ubuntu Linuxユーザーは、Linuxでの「sudo」コマンドの使用に精通している可能性があります。これはLinuxの非常に便利な機能であり、Linuxマシンの管理者が特定のユーザーまたはユーザーのグループに「root」権限を付与できるようにします。この特権が1つ以上のコマンドに制限されるように構成することもできます。たとえば、Ubuntuチームは、rootユーザーがデフォルトでログインするのをブロックし、代わりにユーザーがsudoを使用して管理タスクを実行できるようにすることを決定しました。したがって、Ubuntu Linuxを使用している場合は、完全な「root」権限を持つようにsudo権限が設定されています。マシンでのsudo権限の設定と構成を詳しく見てみましょう。先に進む前に、本番サーバーで次のことを試してはいけないことに注意してください。このチュートリアルの例をテストマシンで試してみて、実稼働サーバーで試してみる前にsudoに慣れてください。 sudoは非常に強力なツールであり、細心の注意を払って使用する必要があります。

私の知る限り、「sudo」パッケージはすべてのLinuxディストリビューションに同梱されています。そのため、インストールをスキップして、構成に直接ジャンプします。このチュートリアルでは、RedHatLinuxマシンを使用します。 Linuxマシンにrootとしてログインし、コマンドラインで次のコマンドを実行します。

visudo

上記のコマンドは、 / etc / sudoersにある「sudo」構成を開きます。 、マシンのデフォルトエディタであるVimonmineを使用します。次のテキストが表示されているセクションまで下にスクロールします。

root ALL =(ALL)ALL

このsudo構成構文の分割は次のようになります。まず、sudoを設定する「ユーザー」を定義します。次に、コマンドの実行が許可されている「ホスト名」が表示されます。上記の例のように、これは1つの特定のホスト名または「ALL」である可能性があります。最後は、「ユーザー」に管理者権限を付与する「コマンド」です。

構成に戻ります。 Vimで上に示した行まで下にスクロールし、 oの文字を押します。 キーボードで新しい行を追加します。次に、 calvin を置き換えて、次のテキストを追加します 自分のユーザー名で:

calvin ALL =(ALL)ALL

次のキーの組み合わせを使用して、ファイルを保存して終了します。

ESC:wq

戻るを押す (Enter)キーを押して、これらの指示を適用します。これで、sudoを使用してすべての管理者権限をユーザー「calvin」に付与しました。新しいターミナルウィンドウを開き、sudo権限を付与したユーザーとしてログインします。ユーザー「calvin」としてApacheWebサーバーを再起動して、新しい権限が正しく設定されているかどうかをテストしてみましょう。

sudo /etc/init.d/httpd restart
パスワード:
httpdの停止:[OK]
httpdの開始:OK

これで、パスワードの入力を求められます。ユーザー名のパスワードを入力します。そして出来上がり!これで、ApacheWebサーバーが再起動するはずです。これは、他の管理タスクに使用できます。ユーザーに完全な特権を付与することが、常に最良のアイデアであるとは限りません。したがって、ユーザーを管理者権限を持ついくつかのコマンドに制限できます。ユーザー「calvin」がApacheWebサーバーの再起動のみを許可されるようにしたいとします。 visudoを使用してsudo構成ファイルを開きます コマンドを実行し、前に入力した行を次のように編集します。

calvin ALL =(ALL)/etc/init.d/httpd restart

ファイルを保存して終了します。ユーザー「calvin」としてターミナルにログインします。次に、sudoを使用してApacheを再起動してみてください:

sudo /etc/init.d/httpd restart
パスワード:
httpdの停止:[OK]
httpdの開始:[OK]

素晴らしい。できます。次に、Webサーバーを停止してみてください:

sudo /etc/init.d/httpd stop
パスワード:
申し訳ありませんが、ユーザーcalvinはコモンズのrootとして「/etc/init.d/httpdstop」を実行することは許可されていません。

ご覧のとおり、ユーザー「calvin」は、私たちが許可したことだけを実行でき、それ以上は実行できません。 sudoersに複数のコマンドを追加できます カンマで区切られたファイル。したがって、「calvin」にWebサーバーを停止して再起動する権限を許可する場合、構成は次のようになります。

calvin ALL =(ALL)/etc/init.d/httpd restart、/ etc / init.d / httpd stop

次に、Webサーバーを停止してみてください。これで、機能するはずです。

sudo /etc/init.d/httpd stop
パスワード:
httpdの停止:[OK]

特にシェルスクリプトを使用して管理タスクを実行する必要がある場合に非常に役立つsudoのもう1つの機能は、パスワードの入力を求められずにsudo特権を設定することです。ユーザー名のパスワードが悪用された場合、問題が発生する可能性があるため、共有されているユーザー名を使用して本番マシンでこれを行うことはお勧めできません。したがって、この機能は注意して使用してください。

sudoersを開きます 前に入力した行をファイルして編集し、次のようにします。

calvin ALL =(ALL)/etc/init.d/httpd restart NOPASSWD:ALL

構成の最後の部分は、sudoにパスワードの入力を求めたり期待したりしないように指示し、ユーザーが管理者権限で割り当てられたコマンドを実行できるようにします。ファイルを保存してテキストエディタを終了し、Apacheを再起動してみてください:

sudo /etc/init.d/httpd restart
httpdの停止:[OK]
httpdの開始:[OK]

sudo構成ファイルに対して実行できるカスタマイズは他にもたくさんあります。その一部を確認しました。しかし、これはあなたに出発点を与えるはずです。繰り返しになりますが、注意して使用してください。


  1. 検索コマンドを使用してLinuxでファイルを検索する方法

    Linuxのfind コマンドは、Linuxシステムで最も重要で便利なコマンドの1つです。名前が示すように、設定した条件や変数に基づいて、LinuxPC上のファイルを見つけることができます。 findを使用して、権限、ユーザー、グループ、ファイルタイプ、日付、サイズ、およびその他の可能な基準でファイルを検索できます。 指図。ここでは、findを使用してLinuxでファイルを検索する方法を示します。 コマンド。 find コマンドはデフォルトでほとんどのLinuxディストリビューションで使用できるため、パッケージをインストールする必要はありません。 現在のディレクトリで名前でファイルを検索

  2. HTMLとCSSの初心者向けガイド

    今日、私たちのサイトを支えているさまざまなテクノロジーを見つけることができますが、インターネット全体で最も重要な2つのファイルはHTMLとCSSです。はい、複雑なものが必要な場合は、それに対応するためのテクノロジーもさらに必要になります。ただし、単純な個人用Webページを作成するだけの場合は、HTMLとCSSだけで十分です。 基本の紹介 これは、HTMLとCSSの初心者向けガイドであり、簡単なサイトをできるだけ早く作成する方法を示しています。結果は必ずしも「標準に準拠」しているとは限りません。さらに微調整して拡張したい場合は、自分で読む必要があります。ただし、これはサイトであり、ほとんどのブ