Linuxベースのシステムにはすでに多くの優れたセキュリティ機能が組み込まれていますが、ローカルアクセスが許可されているときに非常に重要な潜在的な脆弱性が存在する可能性があります。 したがって、適切な権限の必要性に基づいて、権限を割り当てる方法について説明し、変更が必要な場合がある例をいくつか示します。,
基本的なファイル権限
権限グループ
各ファイルとディレクトリには、ユーザーベースの権限グループがあります。
- 所有者–所有者権限は、ファイルまたはディレクトリの所有者のみを適用し、他のユーザーのアクションに影響を与えません。
- group-グループ権限は、ファイルまたはディレクトリに割り当てられたグループにのみ適用され、他のユーザーのアクションには影響しません。すべてのユーザ–すべてのユーザ権限は、システム上の他のすべてのユーザに適用されます。,
パーミッションタイプ
各ファイルまたはディレクトリには、基本的なパーミッションタイプがあります。
- 読み取り–読み取り権限は、ファイルのコンテンツを読み取るユーザーの機能を指します。
- 書き込み-書き込み権限は、ファイルまたはディレクトリを書き込んだり変更したりするユーザーの機能を指します。
- execute-Execute権限は、ファイルを実行したり、ディレクトリの内容を表示したりするユーザーの機能に影響します。,
パーミッションの表示
お気に入りのGUIファイルマネージャでファイルまたはディレクトリのパーミッションを確認するか、ターミナルでファイルまたはフォルダを含むディレクトリで作業している間に”ls-l”コマンドの出力を確認することによって、パーミッションを表示することができます。
コマンドラインの権限は次のように表示されます。_rwxrwxrwx1owner:group
- User rights/Permissions
- アンダースコアでマークした最初の文字は、異なる可能性のある特別な権限フラグです。,
- 次の三つの文字セット(rwx)は、所有者の権限のためのものです。
- グループ権限のための二つ目の文字セット(rwx)です。
- 三文字の第三のセット(rwx)は、すべてのユーザー権限のためのものです。
- 整数/数値以降のグループ化に続くと、ファイルへのハードリンクの数が表示されます。
- 最後の部分は、Owner:Groupとしてフォーマットされた所有者とグループの割り当てです。
パーミッションの変更
コマンドラインでは、パーミッションはchmodコマンドを使用して編集されます。, を割り当てることができる権限を明示的にまたはバイナリ参照下記の通りです。
パーミッションを明示的に定義する
パーミッションを明示的に定義するには、パーミッショングループとパーミッションタイプを参照する必要が
使用される権限グループは次のとおりです。
潜在的な代入演算子は+(プラス)と–(マイナス)です。特定の権限。,
使用されるアクセス許可の種類は次のとおりです。
- r–Read
- w–Write
- x–Execute
たとえば、現在アクセス許可が_rw_rw_rwに設定されているfile1という名前のファイルがあるとします。 次に、すべてのユーザーグループから読み取りおよび書き込み権限を削除します。,
この変更を行うには、次のコマンドを呼び出します。chmod a-rw file1
上記の権限を追加するには、次のコマンドを呼び出します。chmod a+rw file1
ご覧のとおり、これらの権限を付与する場合は、マイナス文字をプラスに変更して、それらの権限を追加します。
バイナリ参照を使用してパーミッションを設定する
パーミッショングループとタイプを理解したので、これは自然に感じるはずです。 の許可をバイナリを参照することができますのでその入力は入力では三つの整数が与えら/ます。,
サンプルのアクセス許可文字列はchmod640file1で、所有者には読み取りおよび書き込み権限があり、グループには読み取り権限があり、他のすべてのユーザーにはファイルに対する権限がないことを意味します。
最初の番号は所有者権限を表し、二番目の番号はグループ権限を表し、最後の番号は他のすべてのユーザーの権限を表します。 数値は、rwx文字列のバイナリ表現です。
- r=4
- w=2
- x=1
設定する権限を表す整数/数値を取得するために数値を追加します。, それぞれのアクセス許可グループにバイナリアクセス許可を含める必要があります。したがって、ファイルをfile1に対するアクセス許可に設定して_rwxr_____を読み取るには、chmod740file1と入力します。
所有者とグループ
上記の所有者とグループについていくつか参照しましたが、ファイルまたはディレクトリに割り当てられた所有者とグループを割り当てたり変更したりする方法はまだ説明していません。,構文はsimplechown owner:group filenameなので、file1の所有者をuser1に変更し、グループをfamilyに変更するには、chown user1:family file1と入力します。
高度な権限
特別な権限フラグは、次のいずれかでマークすることができます。
- _–特別な権限はありません。
- d–ディレクトリ
- l–ファイルまたはディレクトリがシンボリックリンクです。
- s–setuid/setgidパーミッションを示します。, これは、権限表示の特別権限部分には表示されませんが、所有者またはグループ権限の読み取り部分にはsとして表示されます。
- t-これはスティッキービットのパーミッションを示します。 これは、権限ディスプレイの特別権限部分に表示される設定ではなく、すべてのユーザー権限の実行可能部分にtとして表されます。
Setuid/Setgid特別権限
setuid/setguid権限は、所有者の権限を持つオーナーとして実行可能ファイルを実行するようにシステムに指示するために使用されます。,
パーミッションにsetuid/setgidビットを使用することに注意してください。 Setuid/setgidビットを設定してrootが所有するファイルにアクセス許可を誤って割り当てると、システムを開いて侵入することができます。パーミッションを明示的に定義することによってのみ、setuid/setgidビットを割り当てることができます。 Setuid/setguidビットの文字はsです。
したがって、setuid/setguidビットをオンに設定しますfile2.sh コマンドを発行しますchmod g+s file2.sh—–,
スティッキービット特別な権限
スティッキービットは、ディレクトリの権限に割り当てられているときにそれを設定するので、ファイル所有者だけがそのファイルの名前を変更または削除できるので、共有環境で非常に役立ちます。
アクセス許可を明示的に定義することによってのみスティッキービットを割り当てる スティッキービットの文字はtです。
dir1という名前のディレクトリにスティッキービットを設定するには、コマンドchmod+t dir1を発行します。,
パーミッションが重要な場合
MacまたはWindowsベースのコンピュータの一部のユーザーにとって、パーミッションについては考えませんが、企業環境にいない限り、これらの環境はファイルに対するユーザーベースの権限にそれほど積極的に焦点を当てません。 しかし、今はLinuxベースのシステムを実行しており、許可ベースのセキュリティが簡素化されており、アクセスを簡単に制限することができます。
だから私はあなたに焦点を当てたいいくつかのドキュメントやフォルダを表示し、最適な権限を設定する方法をお見せします。,
- ホームディレクトリ–他のユーザーがデスクトップの別のユーザーのドキュメント内のファイルを表示および変更できないようにするため、ユーザーのホームディレ これを解決するには、ディレクトリにdrwx______(700)権限を持たせたいので、コマンドchmod700/home/user1を発行することで実行できるユーザー user1のホームディレクトリに正しい,
- bootloader設定ファイル-特定のオペレーティングシステムを起動するためにパスワードを実装する場合は、root以外のすべてのユーザーから設定ファイルから読み取り これを行うには、ファイルの権限を700に変更します。
- システムおよびデーモン設定ファイル–システムおよびデーモン設定ファイルへの権限を制限することは非常に重要ですユーザーがコンテンツを編集, このような場合は、権利を644に変更するのが最善かもしれません。
- ファイアウォールスクリプト–すべてのユーザーがファイアウォールファイルを読み取ることをブロックする必要はないかもしれませんが、ユーザーがファイル この場合、ファイアウォールスクリプトは起動時にrootユーザーによって自動的に実行されるため、他のすべてのユーザーは権限を必要としないため、700権限を割