ホームページ 運用・保守 Linuxの運用と保守 Linux での Web サイト ディレクトリへのアクセス許可の割り当てに関するサンプル コードの共有

Linux での Web サイト ディレクトリへのアクセス許可の割り当てに関するサンプル コードの共有

Jun 18, 2017 am 09:09 AM

Web サイトを構築する際にディレクトリに権限を割り当てることは非常に重要であり、Web サイトを構築するプログラマーが知っておくべきことでもあります。次の記事では主に で Web サイトを構築するときにディレクトリに権限を割り当てる経験とスキルをまとめています。 linux 必要です。友達はそれを参照できます。以下を見てみましょう。

はじめに

インターネットで検索Webサイトのフォルダー権限設定は一般的に次のとおりです: フォルダー権限 最小権限 755 ファイルの最小権限 644

読み取り可能、書き込み可能、​​および実行可能ファイルは理解しやすいですが、ファイル フォルダー権限慎重に整理する必要があります。必要に応じて、私の経験をいくつか紹介します:

準備作業

まず、フォルダーを作成します

mkdir test
ログイン後にコピー

このディレクトリに 1.txt ファイルを作成し、111 と書き込みます

cat > 1.txt
111
ログイン後にコピー

今すぐ

終了 ディレクトリの権限を 1 つずつ分析して変更します

ファイルの権限設定が無効であるため、フォルダーの作成に root ユーザーを使用しないでくださいroot ユーザーの場合

ディレクトリの実行権限

chmod 111 test
ログイン後にコピー

テスト後、現時点では、ディレクトリに入るのは cd test のみですが、ls リストに入れることもできません。ディレクトリも touch 2.txt 新しいファイルでも、cat 1.txt は引き続きコンテンツを読み取ることができます

cd test进入目录,但既无法ls列目录,也无法touch 2.txt一个新的文件,但cat 1.txt还是可以读取到内容的

于是我们总结

目录的可执行权限是用户可以进入或者说切换到该目录下,但无法列目录和创建新文件,能读取原来文件是属于文件的权限设置为可读

目录的可写权限

chmod 222 test
ログイン後にコピー

最直观的变化是该目录颜色变深了( ps,文件赋予可执行权限时也会颜色变深)

可以尝试一些我们常见的命令

ls test
cd test
cat test/1.txt
touch test/2.txt
ログイン後にコピー

结果是什么都不能做

ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot open directory test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied
ubuntu@VM-8-81-ubuntu:~$ touch test/2.txt
touch: cannot touch ‘test/2.txt': Permission denied
ログイン後にコピー

现在我们在给改目录加上可执行权限

chmod 333 test
ログイン後にコピー

发现,除了不能正常ls列目录外,其余cd touch cat したがって、ディレクトリの実行権限は次のとおりであると結論付けます

ユーザーはディレクトリに入る、またはディレクトリに切り替えることはできますが、ディレクトリを一覧表示したり、新しいファイルを作成したりすることはできません。ファイルのアクセス許可が読み取り可能に設定されているため、元のファイルを読み取ることができます

ディレクトリの書き込み可能なアクセス許可

chmod 444 test
ログイン後にコピー

最も直感的な変更は、ディレクトリの色が暗くなったことです (追記、ファイルに実行権限が与えられると色も暗くなります) 一般的なコマンドのいくつかを試すことができます

ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot access test/1.txt: Permission denied
ls: cannot access test/2.txt: Permission denied
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied
ログイン後にコピー
結果は次のようになります。何もすることはできません

ubuntu@VM-8-81-ubuntu:~$ chmod 555 test
ubuntu@VM-8-81-ubuntu:~$ cd test/
ubuntu@VM-8-81-ubuntu:~/test$ ls
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~/test$ touch 3,txt
touch: cannot touch ‘3,txt': Permission denied
ログイン後にコピー

次に、変更されたディレクトリに実行権限を追加しています

rrreee

ディレクトリの通常の ls リストを除いて、cd touch cat の残りの部分は実行できることがわかりました。したがって、Linux フォルダーにファイルを作成したい場合は、書き込み可能かつ実行可能なアクセス許可、つまりアクセス許可が必要であると結論付けられます。サイズは 333 です。書き込みアクセス許可だけを与えた場合は、何もできません

。ディレクトリの読み取り権限

rrreeerrreee

概要: ディレクトリの読み取り権限はディレクトリをリストできます

Webサイトには読み取り権限のみがありますディレクトリはリストできますが、他のcd catは実行できません。 Web サイトが 555 に設定されている場合、rrreee 新しいファイルを作成できない touch コマンドを除いて、他のコマンドは引き続き実行できることがわかります ここで、当然のことながら、666 のアクセス許可を持つフォルダーが読み取り可能であると推測するのは簡単です。と書き込み可能ですが、実行権限がありません。ディレクトリに入るのは不可能ですが、読み取り可能と書き込み可能で、基本的な権限も利用可能です

🎜 の最初の文を振り返って分析します。記事によると、Webサイト構築時のフォルダーの最小権限は755、ファイルの最小権限は644です🎜🎜ユーザー権限の割り当てに問題があります🎜🎜chmodが権限を変更すると、各ファイルまたはディレクトリのアクセス権限が3 つのグループがあり、各グループはファイル所有者の読み取り、書き込み、実行権限を表し、所有者と同じグループ内のユーザーの読み取り、書き込み、および実行権限を表します。システム内の他のユーザーの数🎜 🎜 フォルダー権限 7 とファイル権限 6 は、Linux 管理ユーザーに割り当てられます。Apache のデフォルトでは、Web サイトにアクセスする一般ユーザーに割り当てられます。そのため、ファイル権限 755 は、一般ユーザーが Web サイトの表示と閲覧のみを行うことができることを意味します。ファイルの作成または 🎜アップロード🎜 のアクセス許可 通常、一時ファイルを保存するためにアップロード フォルダーや tmp フォルダーなどの特別なフォルダーが必要な場合は、フォルダーのアクセス許可を 777 に設定し、ファイルのアクセス許可を 644 に設定する必要があります。表示のみ可能ですが、変更はできません🎜🎜🎜 🎜概要🎜🎜🎜

以上がLinux での Web サイト ディレクトリへのアクセス許可の割り当てに関するサンプル コードの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

rootとしてmysqlにログインできません rootとしてmysqlにログインできません Apr 08, 2025 pm 04:54 PM

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション Apr 04, 2025 am 10:48 AM

c言語条件付きコンパイルは、コンパイル時間条件に基づいてコードブロックを選択的にコンパイルするメカニズムです。導入方法には、#IFおよび#ELSEディレクティブを使用して、条件に基づいてコードブロックを選択します。一般的に使用される条件付き式には、STDC、_WIN32、Linuxが含まれます。実用的なケース:オペレーティングシステムに従って異なるメッセージを印刷します。システムの数字数に応じて異なるデータ型を使用します。コンパイラに応じて、異なるヘッダーファイルがサポートされています。条件付きコンパイルにより、コードの移植性と柔軟性が向上し、コンパイラ、オペレーティングシステム、CPUアーキテクチャの変更に適応できます。

Linuxの5つの基本コンポーネントは何ですか? Linuxの5つの基本コンポーネントは何ですか? Apr 06, 2025 am 12:05 AM

Linuxの5つの基本コンポーネントは次のとおりです。1。カーネル、ハードウェアリソースの管理。 2。機能とサービスを提供するシステムライブラリ。 3.シェル、ユーザーがシステムと対話するインターフェイス。 4.ファイルシステム、データの保存と整理。 5。アプリケーション、システムリソースを使用して機能を実装します。

MySQLを解決する方法は開始できません MySQLを解決する方法は開始できません Apr 08, 2025 pm 02:21 PM

MySQLの起動が失敗する理由はたくさんあり、エラーログをチェックすることで診断できます。一般的な原因には、ポートの競合(ポート占有率をチェックして構成の変更)、許可の問題(ユーザー許可を実行するサービスを確認)、構成ファイルエラー(パラメーター設定のチェック)、データディレクトリの破損(テーブルスペースの復元)、INNODBテーブルスペースの問題(IBDATA1ファイルのチェック)、プラグインロード障害(エラーログのチェック)が含まれます。問題を解決するときは、エラーログに基づいてそれらを分析し、問題の根本原因を見つけ、問題を防ぐために定期的にデータをバックアップする習慣を開発する必要があります。

MySQLはAndroidで実行できますか MySQLはAndroidで実行できますか Apr 08, 2025 pm 05:03 PM

MySQLはAndroidで直接実行できませんが、次の方法を使用して間接的に実装できます。Androidシステムに構築されたLightWeight Database SQLiteを使用して、別のサーバーを必要とせず、モバイルデバイスアプリケーションに非常に適したリソース使用量が少ない。 MySQLサーバーにリモートで接続し、データの読み取りと書き込みのためにネットワークを介してリモートサーバー上のMySQLデータベースに接続しますが、強力なネットワーク依存関係、セキュリティの問題、サーバーコストなどの短所があります。

特定のシステムバージョンでMySQLが報告したエラーのソリューション 特定のシステムバージョンでMySQLが報告したエラーのソリューション Apr 08, 2025 am 11:54 AM

MySQLのインストールエラーのソリューションは次のとおりです。1。システム環境を慎重に確認して、MySQL依存関係ライブラリの要件が満たされていることを確認します。異なるオペレーティングシステムとバージョンの要件は異なります。 2.エラーメッセージを慎重に読み取り、依存関係のインストールやSUDOコマンドの使用など、プロンプト(ライブラリファイルの欠落やアクセス許可など)に従って対応する測定値を取得します。 3.必要に応じて、ソースコードをインストールし、コンパイルログを慎重に確認してみてください。これには、一定量のLinuxの知識と経験が必要です。最終的に問題を解決する鍵は、システム環境とエラー情報を慎重に確認し、公式の文書を参照することです。

MySQLはダウンロード後にインストールできません MySQLはダウンロード後にインストールできません Apr 08, 2025 am 11:24 AM

MySQLのインストール障害の主な理由は次のとおりです。1。許可の問題、管理者として実行するか、SUDOコマンドを使用する必要があります。 2。依存関係が欠落しており、関連する開発パッケージをインストールする必要があります。 3.ポート競合では、ポート3306を占めるプログラムを閉じるか、構成ファイルを変更する必要があります。 4.インストールパッケージが破損しているため、整合性をダウンロードして検証する必要があります。 5.環境変数は誤って構成されており、環境変数はオペレーティングシステムに従って正しく構成する必要があります。これらの問題を解決し、各ステップを慎重に確認して、MySQLを正常にインストールします。

mysqlをインストールするときに依存関係が欠落の問題を解決する方法 mysqlをインストールするときに依存関係が欠落の問題を解決する方法 Apr 08, 2025 pm 12:00 PM

MySQLのインストール障害は、通常、依存関係の欠如によって引き起こされます。解決策:1。システムパッケージマネージャー(Linux APT、YUM、DNF、Windows VisualC Redistributableなど)を使用して、sudoaptinStalllibmysqlclient-devなどの欠落している依存関係ライブラリをインストールします。 2.エラー情報を慎重に確認し、複雑な依存関係を1つずつ解決します。 3.パッケージマネージャーのソースが正しく構成され、ネットワークにアクセスできることを確認します。 4. Windowsの場合は、必要なランタイムライブラリをダウンロードしてインストールします。公式文書を読んで検索エンジンを適切に使用する習慣を開発することは、問題を効果的に解決することができます。

See all articles