ホームページ  >  記事  >  運用・保守  >  Linux で Web サイトのディレクトリにアクセス許可を割り当てる方法

Linux で Web サイトのディレクトリにアクセス許可を割り当てる方法

巴扎黑
巴扎黑オリジナル
2017-08-09 15:20:391716ブラウズ

Web サイトを構築するときにディレクトリに権限を割り当てることは非常に重要であり、Web サイトを構築するプログラマーが知っておくべきことでもあります。次の記事では、Linux Friends で Web サイトを構築するときにディレクトリに権限を割り当てる経験とスキルを主にまとめています。必要な方は参考にしてください。

はじめに

インターネットで Web サイトのフォルダー権限設定を検索すると、一般的に次のようになります: 最小フォルダー権限 755 最小ファイル権限 644

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

準備作業

まず、フォルダーのテストを作成します


mkdir test

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


cat > 1.txt
111

次に、ディレクトリを終了し、ディレクトリのアクセス許可を 1 つずつ分析して変更します

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

ディレクトリの実行権限


chmod 111 test

テスト後、現時点では cd test のみディレクトリに入ることができます、ただし、ディレクトリをリストすることも、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です。書き込み許可のみを与える場合、ディレクトリの読み取り可能な権限は何もできません。ディレクトリの読み取り権限はディレクトリを一覧表示できます

Web サイトには読み取り権限しかなく、ディレクトリの一覧表示のみが可能です。他の cd cat は実行できません。555 に設定されている場合、Web サイトの権限は何ですか?

rrreee

新しいファイルを作成できない touch コマンドを除いて、他のコマンドは実行できることがわかります🎜🎜この時点で、666 のアクセス許可を持つフォルダーは読み取りと書き込みは可能ですが、実行アクセス許可がないことが容易に推測できます。ディレクトリには入力できませんが、読み取り、書き込み可能であり、基本的なアクセス許可はあります。記事の最初の文を振り返って分析すると、フォルダーを構築する際の最小アクセス許可が 777 です。 Web サイトは 755、ファイルの最小権限は 644 です🎜🎜ここでユーザー権限の割り当てに問題があります🎜🎜 chmod が権限を変更する場合、ファイルまたはディレクトリごとにアクセス権限の 3 つのグループがあり、各グループは 3 桁で表されます。ファイル所有者に対する読み取り、書き込み、実行のアクセス許可、システム内の他のユーザーに対する読み取り、書き込み、および実行のアクセス許可です。ファイル権限 6 は Linux 管理ユーザーに割り当てられ、Apache のデフォルトは Web サイトにアクセスするユーザーは www 一般ユーザーであるため、ファイル権限は 755 です。つまり、一般ユーザーは Web サイトを表示および参照する権限のみを持ち、ファイルを作成したり、ファイルをアップロードしたりするためのアクセス許可。通常、アップロードや tmp ファイルなどの特別なフォルダーが必要な場合は、フォルダーのアクセス許可を 777 に、ファイルのアクセス許可を 644 に設定する必要があります。表示のみ可能ですが、変更はできません🎜

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

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