Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

Linuxにおけるselinuxの基本設定チュートリアルの詳細な説明

selinux ( Security-Enhanced Linux)は、Linux カーネル モジュールであり、Linux のセキュリティ サブシステムです。

3つのモード:

強制: 強制モード。selinux が実行中の場合、ドメイン/タイプの制限が開始されます。

permissive: 警告モード。selinux の実行中に警告メッセージが表示されますが、ドメイン/タイプのアクセスは制限されません。

disabled: 無効モード。

getenforceを使用してselinuxのステータスを確認できます

ファイルにおける selinux の役割:

selinux が有効になっている場合、selinux は各ファイルのタグ コンテキストをロードします。セキュリティ コンテキストが一致している必要があります。一致していない場合はファイルにアクセスできません。

テスト:

###selinuxを有効にする


ここに画像の説明を挿入

ファイルを作成し、FTPリリースディレクトリに移動する

touch /mnt/filemv /mnt/file /var/ftp/

ここに画像の説明を挿入

ユーザーはFTPにログインしてファイルを閲覧します


ここに画像の説明を挿入

匿名ユーザーは、以前にFTPに移動されたファイルを読み取ることができないことがわかります。

しかし、ファイルはFTPディレクトリに存在します


ここに画像の説明を挿入

ファイルのセキュリティコンテキストを表示する

ls -Z /var/ftp/

ここに画像の説明を挿入

2 つのファイルのセキュリティ コンテキストが異なるため、表示されないことがわかります。
セキュリティコンテキストを一時的に変更する

chcon -t public_content_t /var/ftp/file

ここに画像の説明を挿入

ファイルを表示するにはFTPにログインしてください


ここに画像の説明を挿入

セキュリティ コンテキストが一貫しているため、ファイルを表示できます。

chcon はセキュリティ コンテキストの一時的な変更に過ぎません。システム selinux を再起動すると、変更は無効になります。

###セキュリティコンテキストを永続的に変更する

##独自のFTPホームディレクトリを作成し、ディレクトリのセキュリティコンテキストラベルを変更します

mkdir /ftphomesemanage fcontext -a -t pubilc_content_t '/ftphome(/.*)?'

###ディレクトリのセキュリティコンテキストを表示する


ここに画像の説明を挿入

ここで、セキュリティ コンテキスト ラベルが変更されていないことがわかります。カーネル リスト サービスを再起動する必要があります。

restorecon -RvvF /ftphome###R: 再帰的 vv: ディレクトリの下のサブディレクトリまたはファイルの変更情報を表示する、F: ディレクトリ内のファイルとディレクトリのセキュリティ コンテキストを強制的に一致させる

ここに画像の説明を挿入

セキュリティコンテキストが変更されました


ここに画像の説明を挿入

サービスにおける selinux の役割:

selinux がサービスに与える影響は、デフォルトではオフになっているスイッチをサービスに追加するのと同じです。 1: スイッチをオンにする; 0: スイッチをオフにする

selinux がオンになっている場合は、ftp にログインして、サービスに対する selinux の切り替え効果をテストします。

ここに画像の説明を挿入

ユーザーはファイルをアップロードしたり削除したりすることはできません

FTP の SELinux スイッチのステータスを確認する


ここに画像の説明を挿入

すべて非公開状態なので、ユーザー権限に制限があります

機能スイッチをオンにする

setsebool -P ftp_home_dir オン setsebool -P ftpd_anon_write オン

ここに画像の説明を挿入

FTPに再度ログインすると、ユーザーはファイルをアップロードできます


ここに画像の説明を挿入

selinuxエラーログの解決策を提供できるsetroubleshootをインストールします。

/var/log/audit/audit.log ### selinuxによって収集されたログを記録します

ここに画像の説明を挿入

/var/log/audit/audit.log をダウンロードします ### selinux によって収集されたログを記録します

ここに画像の説明を挿入

要約する

上記は、編集者が紹介した Linux の selinux の基本設定チュートリアルの詳細な説明です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • SELINUXの動作原理の詳細な説明
  • SELinux 入門
  • Android の SELinux TE について簡単に説明します
  • Android Selinux の権限と問題の詳細な説明
  • CentOS 7 システムで SELinux が MongoDB の起動を妨げる問題の詳細な説明
  • SELinux により PHP が MySQL に異常接続する。MySQL サーバーに接続できない問題の解決方法
  • selinux(ファイアウォール)を無効にする方法
  • Linux での SELinux を理解する方法

<<:  MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法

>>:  Vueデータ双方向バインディング実装方法

推薦する

Viteの新しい体験の詳細な説明

Vite とは何ですか? (フロントエンドの新しいおもちゃです) Vite は、ネイティブ ES モ...

Linux 仮想ホストで SourceGuardian (sg11) 暗号化コンポーネントを有効にする詳細な手順

注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...

Web 開発 js 文字列連結プレースホルダーと conlose オブジェクト API の詳細な説明

目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...

docker のインストールが完了し、bridge-nf-call-iptables が無効であると報告される問題を解決します

Centos マシンで docker のインストールが完了したら、docker info コマンドを...

React における setState の同期または非同期の問題の理解

目次1. setState は同期的ですか?非同期ですか? 2. 非同期的に動作する1. React...

Linuxサーバー間のリアルタイムファイル同期の実現

使用シナリオ既存のサーバー A と B の場合、サーバー A の指定されたディレクトリ (たとえば、...

MySQLでSELECT文が実行される仕組み

目次1. マクロの観点からMySQLを分析する2. SQL ステートメントを実行するには、どの程度の...

HTMLテキストオーバーフローの2つの一般的な解決策は省略記号を表示することです

方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...

面接で聞かれる可能性のあるCSSに関する質問

この記事は、100 回書かれ、質問された CSS の質問を記念するためのものです。聞く: CSS セ...

DockerにRedisコンテナをインストールするための実装手順

目次DockerにRedisをインストールする1. Redisイメージを見つける2. Redisイメ...

MySQL インデックス失敗の原理

目次1. インデックス失敗の理由2. インデックスの秩序が崩れる状況を見てみましょう。 - インデッ...

WeChatアプレットに2048ミニゲームを実装する詳細なプロセス

レンダリング サンプルコード今日は、WeChat アプレットを使用して 2048 ゲームを実装します...

MySQL全文インデックスを使用して検索エンジンのサンプルコードの簡易版を実現する

序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...

Vue ファースト スクリーン パフォーマンス最適化コンポーネントの知識ポイントの概要

Vue ファースト スクリーン パフォーマンス最適化コンポーネントVue ファースト スクリーン パ...

CSSでnグリッドレイアウトを実装する方法

一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...