භාවිතා කිරීමට කුමන අවසරයන්ද යන්න තීරණය කිරීමේදී, ඔබේ පරිශීලකයින් කවුරුන්ද සහ ඔවුන්ට අවශ්ය දේ හරියටම දැනගත යුතුය. වෙබ් සේවාදායකයක් භාවිතා කරන්නන් වර්ග දෙකක් සමඟ අන්තර් ක්රියා කරයි.
සත්යාපනය කළ පරිශීලකයින්ට සේවාදායකයේ පරිශීලක ගිණුමක් ඇති අතර ඔවුන්ට විශේෂ වරප්රසාද ලබා දිය හැකිය. මෙයට සාමාන්යයෙන් පද්ධති පරිපාලකයින්, සංවර්ධකයින් සහ සේවා ගිණුම් ඇතුළත් වේ. ඔවුන් සාමාන්යයෙන් SSH හෝ SFTP භාවිතා කරමින් පද්ධතියේ වෙනස්කම් සිදු කරයි.
නිර්නාමික පරිශීලකයින් යනු ඔබේ වෙබ් අඩවියට පැමිණෙන අමුත්තන් ය. කෙලින්ම ලිපිගොනු වෙත ප්රවේශ වීමට ඔවුන්ට අවසර නොමැති වුවද, ඔවුන්ට වෙබ් පිටුවක් ඉල්ලා සිටිය හැකි අතර වෙබ් සේවාදායකයා ඔවුන් වෙනුවෙන් ක්රියා කරයි. වෙබ් සේවාදායක ක්රියාවලියට ඇති අවසරයන් පිළිබඳව ප්රවේශම් වීමෙන් ඔබට නිර්නාමික පරිශීලකයින්ගේ ප්රවේශය සීමා කළ හැකිය. බොහෝ ලිනක්ස් බෙදාහැරීම් වලදී, Apache www-data
පරිශීලකයා ලෙස ක්රියාත්මක වන නමුත් එය වෙනස් විය හැකිය. භාවිතය ps aux | grep httpd
හෝ ps aux | grep apache
Apache ඔබේ පද්ධතිය මත භාවිත දේ පරිශීලක බලන්න.
ලිනක්ස් අවසරයන් පිළිබඳ සටහන්
ලිනක්ස් සහ අනෙකුත් පොසික්ස් අනුකූල පද්ධති සාම්ප්රදායික යුනික්ස් අවසර භාවිතා කරයි. ලිපිගොනු පද්ධති අවසරයන් පිළිබඳව විකිපීඩියාවේ විශිෂ්ට ලිපියක් ඇත, එබැවින් මම මෙහි සියල්ල නැවත නොකරමි. නමුත් ඔබ දැනුවත් විය යුතු කරුණු කිහිපයක් තිබේ.
ක්රියාත්මක කිරීමේ බිට්
පරිවර්ථන ස්ක්රිප්ට් (උදා: රූබි, පීඑච්පී) ක්රියාත්මක කිරීමේ අවසරයකින් තොරව හොඳින් ක්රියා කරයි. ක්රියාත්මක කිරීමේ බිට් අවශ්ය වන්නේ ද්විමය හා ෂෙල් ස්ක්රිප්ට පමණි. ඩිරෙක්ටරියක් හරහා ගමන් කිරීමට (ඇතුළත් කිරීමට), ඔබට එම නාමාවලියෙහි ක්රියාත්මක කිරීමේ අවසරය තිබිය යුතුය. ඩිරෙක්ටරියක් ලැයිස්තුගත කිරීමට හෝ එහි ඇති ඕනෑම ලිපිගොනු සේවය කිරීමට වෙබ් සේවාදායකයාට මෙම අවසරය අවශ්ය වේ.
සුපුරුදු නව ගොනු අවසරයන්
ගොනුවක් සාදන විට, එය සාමාන්යයෙන් එය නිර්මාණය කළ අයගේ කණ්ඩායම් හැඳුනුම්පත උරුම කර ගනී. නමුත් සමහර විට ඔබට නව ලිපිගොනු නිර්මාණය කර ඇති ෆෝල්ඩරයේ කණ්ඩායම් හැඳුනුම්පත උරුම කර ගැනීමට අවශ්ය වේ, එබැවින් ඔබ මව් ෆෝල්ඩරයේ SGID බිට් සක්රීය කරනු ඇත.
පෙරනිමි අවසර අගයන් ඔබගේ උමාස්ක් මත රඳා පවතී. උමාස්ක් විසින් අලුතින් සාදන ලද ලිපිගොනු වලින් අවසරයන් අඩු කරයි, එබැවින් 022 හි පොදු අගය 755 සමඟ ගොනු නිර්මාණය වේ. කණ්ඩායමක් සමඟ සහයෝගයෙන් කටයුතු කරන විට, ඔබේ umask 002 ලෙස වෙනස් කිරීම ප්රයෝජනවත් වන අතර එමඟින් ඔබ නිර්මාණය කරන ලිපිගොනු කණ්ඩායම් සාමාජිකයින්ට වෙනස් කළ හැකිය. ඔබට උඩුගත කරන ලද ලිපිගොනු වල අවසරයන් අභිරුචිකරණය කිරීමට අවශ්ය නම්, එක්කෝ ඔබ අපාචේ සඳහා උමාස්ක් වෙනස් කිරීම හෝ ගොනුව උඩුගත කිරීමෙන් පසු chmod ධාවනය කිරීම අවශ්ය වේ.
777 සමඟ ඇති ගැටළුව
ඔබ chmod 777
ඔබේ වෙබ් අඩවිය වන විට, ඔබට කිසිදු ආරක්ෂාවක් නොමැත. පද්ධතියේ ඕනෑම පරිශීලකයෙකුට ඔබේ වෙබ් අඩවියේ ඕනෑම ගොනුවක් වෙනස් කිරීමට හෝ මකා දැමීමට හැකිය. නමුත් වඩාත් බැරෑරුම් ලෙස, ඔබේ වෙබ් අඩවියට පැමිණෙන අමුත්තන් වෙනුවෙන් වෙබ් සේවාදායකය ක්රියා කරන බව මතක තබා ගන්න, දැන් එය ක්රියාත්මක කරන ලිපිගොනු වෙනස් කිරීමට වෙබ් සේවාදායකයාට හැකි වේ. ඔබේ වෙබ් අඩවියේ කිසියම් ක්රමලේඛන අවදානමක් තිබේ නම්, ඒවා ඔබේ වෙබ් අඩවිය අපකීර්තියට පත් කිරීමට, තතුබෑම් ප්රහාර ඇතුළු කිරීමට හෝ ඔබ නොදැනුවත්වම ඔබේ සේවාදායකයෙන් තොරතුරු සොරකම් කිරීමට යොදා ගත හැකිය.
මීට අමතරව, ඔබේ සේවාදායකය සුප්රසිද්ධ වරායක ධාවනය වන්නේ නම් (එය මූල නොවන පරිශීලකයින්ට ලෝකයට ප්රවේශ විය හැකි සවන්දීමේ සේවාවන් ඇතිවීම වැළැක්විය යුතුය), එයින් අදහස් වන්නේ ඔබේ සේවාදායකය root මඟින් ආරම්භ කළ යුතු බවයි (ඕනෑම බුද්ධිමත් සේවාදායකයක් වහාම පහත වැටෙනු ඇත වරාය බැඳී ඇති පසු අඩු වරප්රසාදිත ගිණුමකට). වෙනත් වචන වලින් කිවහොත්, ඔබ ප්රධාන ක්රියාත්මක කළ හැකි අනුවාද පාලනයේ කොටසක් වන වෙබ් සේවාදායකයක් ධාවනය කරන්නේ නම් (උදා: සීජීඅයි යෙදුමක්), එහි අවසරයන් අතහැර දමයි (හෝ, ඒ සඳහා, අඩංගු නාමාවලියෙහි අවසරයන්, පරිශීලකයාට නැවත නම් කළ හැකි බැවින් 777 හි ක්රියාත්මක කළ හැකි) ඕනෑම පරිශීලකයෙකුට ඕනෑම ක්රියාත්මක කළ හැකි මූලයක් ලෙස ධාවනය කිරීමට ඉඩ දෙයි .
අවශ්යතා නිර්වචනය කරන්න
- වෙබ් අඩවි යාවත්කාලීන කිරීමට සංවර්ධකයින්ට ලිපිගොනු කියවීමට / ලිවීමට ප්රවේශය අවශ්ය වේ
- සංවර්ධකයින්ට නාමාවලි කියවීමට / ලිවීමට / ක්රියාත්මක කිරීමට අවශ්ය වන අතර එමඟින් ඔවුන්ට ගවේෂණය කළ හැකිය
- අපාචේට ලිපිගොනු සහ අර්ථ නිරූපණය කළ ස්ක්රිප්ට් කියවීමට ප්රවේශය අවශ්ය වේ
- අපාචේට සේවය කළ හැකි නාමාවලි වෙත කියවීම / ක්රියාත්මක කිරීම අවශ්ය වේ
- අපාචේට උඩුගත කළ අන්තර්ගතයන් සඳහා නාමාවලි වලට කියවීම / ලිවීම / ක්රියාත්මක කිරීම අවශ්ය වේ
තනි පරිශීලකයෙකු විසින් නඩත්තු කරනු ලැබේ
වෙබ් අඩවිය නඩත්තු කිරීම සඳහා එක් පරිශීලකයෙකු පමණක් වගකිව යුතු නම්, ඒවා වෙබ් අඩවි නාමාවලියෙහි පරිශීලක හිමිකරු ලෙස සකසා පරිශීලකයාට සම්පූර්ණ rwx අවසර ලබා දෙන්න. අපාචේට තවමත් ප්රවේශය අවශ්ය වන අතර එමඟින් ලිපිගොනු වලට සේවය කළ හැකිය, එබැවින් කණ්ඩායම් හිමිකරු ලෙස www-data සකසා කණ්ඩායමට rx අවසර ලබා දෙන්න.
ඔබගේ නඩුවේදී, eve
නඩත්තු කරන එකම පරිශීලකයා වන්නේ ඒවගේ පරිශීලක නාමය විය හැකිය contoso.com
:
chown -R eve contoso.com/
chgrp -R www-data contoso.com/
chmod -R 750 contoso.com/
chmod g+s contoso.com/
ls -l
drwxr-s--- 2 eve www-data 4096 Feb 5 22:52 contoso.com
ඔබට Apache විසින් ලිවිය යුතු ෆෝල්ඩර තිබේ නම්, ඔබට කණ්ඩායම් හිමිකරුගේ අවසර අගයන් වෙනස් කළ හැකිය, එවිට www-data වෙත ලිඛිත ප්රවේශයක් ඇත.
chmod g+w uploads
ls -l
drwxrws--- 2 eve www-data 4096 Feb 5 22:52 uploads
මෙම වින්යාසයේ වාසිය නම් ඔබේ වෙබ් අඩවියේ නාමාවලිය පිරික්සීමට හැකි වන්නේ පරිශීලකයාට සහ කණ්ඩායම් හිමිකරුවන්ට පමණක් වන බැවින් පද්ධතියේ අනෙක් පරිශීලකයින්ට සැරිසැරීම දුෂ්කර (නමුත් කළ නොහැකි *) වීමයි. ඔබේ වින්යාස ගොනු වල රහස් දත්ත තිබේ නම් මෙය ප්රයෝජනවත් වේ. ඔබේ උමාස්ක් ගැන සැලකිලිමත් වන්න! ඔබ මෙහි නව ගොනුවක් සාදන්නේ umask 027
නම් , අවසර අගයන් 755 ට පෙරනිමිය හැක. ඔබට ධාවනය කළ හැකි වන පරිදි නව ගොනු පෙරනිමියෙන් 640 ( rw- r-- ---
) දක්වා වෙනස් වේ.
පරිශීලකයින් කණ්ඩායමක් විසින් නඩත්තු කරනු ලැබේ
වෙබ් අඩවිය නඩත්තු කිරීම සඳහා එක් පරිශීලකයෙකුට වඩා වගකිව යුතු නම්, අවසර ලබා දීම සඳහා භාවිතා කිරීමට ඔබට කණ්ඩායමක් සෑදිය යුතුය. සෑම වෙබ් අඩවියකටම වෙනම කණ්ඩායමක් නිර්මාණය කිරීම හොඳ පුරුද්දක් වන අතර එම වෙබ් අඩවියෙන් පසුව කණ්ඩායම නම් කරන්න.
groupadd dev-fabrikam
usermod -a -G dev-fabrikam alice
usermod -a -G dev-fabrikam bob
පෙර උදාහරණයේ දී, අපාචේට වරප්රසාද ලබා දීමට අපි කණ්ඩායම් හිමිකරු භාවිතා කළෙමු, නමුත් දැන් එය සංවර්ධකයින් කණ්ඩායම සඳහා භාවිතා වේ. පරිශීලක හිමිකරු අපට තවදුරටත් ප්රයෝජනවත් නොවන බැවින්, එය මූලයට සැකසීම වරප්රසාද කාන්දු නොවන බවට සහතික වීම සඳහා සරල ක්රමයකි. අපාචේට තවමත් ප්රවේශය අවශ්යයි, එබැවින් අපි සෙසු ලෝකයට කියවීමේ ප්රවේශය ලබා දෙමු.
chown -R root fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 775 fabrikam.com
chmod g+s fabrikam.com
ls -l
drwxrwxr-x 2 root dev-fabrikam 4096 Feb 5 22:52 fabrikam.com
ඔබට Apache විසින් ලිවිය යුතු ෆෝල්ඩර තිබේ නම්, ඔබට Apache පරිශීලක හිමිකරු හෝ කණ්ඩායම් හිමිකරු බවට පත් කළ හැකිය. කෙසේ හෝ එයට අවශ්ය සියලු ප්රවේශයන් ඇත. පුද්ගලිකව, මම එය පරිශීලක හිමිකරු බවට පත් කිරීමට කැමැත්තෙමි, එවිට සංවර්ධකයින්ට තවමත් උඩුගත කළ ෆෝල්ඩරවල අන්තර්ගතය පිරික්සීමට සහ වෙනස් කිරීමට හැකිය.
chown -R www-data uploads
ls -l
drwxrwxr-x 2 www-data dev-fabrikam 4096 Feb 5 22:52 uploads
මෙය පොදු ප්රවේශයක් වුවද අවාසියක් ඇත. පද්ධතියේ අනෙක් සෑම පරිශීලකයෙකුටම ඔබේ වෙබ් අඩවියට අපාචේට සමාන වරප්රසාද ඇති බැවින්, අනෙක් පරිශීලකයින්ට ඔබේ වෙබ් අඩවිය පිරික්සීමට සහ ඔබේ වින්යාස ගොනු වැනි රහස් දත්ත අඩංගු ගොනු කියවීමට පහසුය.
ඔබේ කේක් එක තබා එයත් කන්න පුළුවන්
මෙය තව දුරටත් වැඩිදියුණු කළ හැකිය. කණ්ඩායමට වඩා අඩු වරප්රසාද හිමිකරුට තිබීම නීත්යානුකූල ය, එබැවින් පරිශීලක හිමිකරුට එය මූලයට පැවරීමෙන් නාස්ති කරනවා වෙනුවට, ඔබේ වෙබ් අඩවියේ ඇති නාමාවලි සහ ලිපිගොනු වල Apache පරිශීලක හිමිකරු බවට පත් කළ හැකිය. මෙය තනි නඩත්තු තත්වයේ ආපසු හැරවීමකි, නමුත් එය සමානව ක්රියා කරයි.
chown -R www-data fabrikam.com
chgrp -R dev-fabrikam fabrikam.com
chmod -R 570 fabrikam.com
chmod g+s fabrikam.com
ls -l
dr-xrwx--- 2 www-data dev-fabrikam 4096 Feb 5 22:52 fabrikam.com
ඔබට Apache විසින් ලිවිය යුතු ෆෝල්ඩර තිබේ නම්, ඔබට පරිශීලක හිමිකරුගේ අවසර අගයන් වෙනස් කළ හැකිය, එවිට www-data වෙත ලිඛිත ප්රවේශයක් ඇත.
chmod u+w uploads
ls -l
drwxrwx--- 2 www-data dev-fabrikam 4096 Feb 5 22:52 fabrikam.com
මෙම විසඳුම සමඟ ප්රවේශම් විය යුතු එක් දෙයක් නම්, නව ලිපිගොනු වල පරිශීලක හිමිකරු www-data ලෙස සැකසීම වෙනුවට නිර්මාණකරුට ගැලපේ. එබැවින් ඔබ සාදන ඕනෑම නව ලිපිගොනු අපාචේට කියවීමට නොහැකි වනු ඇත.
අපාචේ වරප්රසාද වෙන් කිරීම
ඔබ කුමන ආකාරයේ වරප්රසාද භාවිතා කළත් අනෙක් පරිශීලකයින්ට ඔබේ වෙබ් අඩවිය වටා සැරිසැරීමට හැකි බව මම කලින් සඳහන් කළෙමි. පෙරනිමියෙන්, සියලු Apache ක්රියාවලීන් එකම www-data පරිශීලකයෙකු ලෙස ක්රියාත්මක වන බැවින් ඕනෑම Apache ක්රියාවලියකට එකම සේවාදායකයක වින්යාස කර ඇති අනෙකුත් සියලුම වෙබ් අඩවි වලින් ලිපිගොනු කියවිය හැකි අතර සමහර විට වෙනස්කම් සිදු කළ හැකිය. පිටපතක් ධාවනය කිරීම සඳහා Apache ලබා ගත හැකි ඕනෑම පරිශීලකයෙකුට Apache විසින්ම ලබා ගත හැකි ප්රවේශය ලබා ගත හැකිය.
මෙම ගැටළුවට එරෙහිව සටන් කිරීම සඳහා, අපාචේ හි වරප්රසාද වෙන් කිරීම සඳහා විවිධ ප්රවේශයන් ඇත . කෙසේ වෙතත්, සෑම ප්රවේශයක්ම විවිධ කාර්ය සාධනය සහ ආරක්ෂක අඩුපාඩු සමඟ පැමිණේ. මගේ මතය අනුව, ඉහළ සේවාදායක අවශ්යතා ඇති ඕනෑම වෙබ් අඩවියක් හවුල් සේවාදායකයක අතථ්ය හෝස්ට් භාවිතා කිරීම වෙනුවට විශේෂිත සේවාදායකයක් මත ධාවනය කළ යුතුය.
අමතර සලකා බැලීම්
මම මීට පෙර එය සඳහන් කර නැත, නමුත් සාමාන්යයෙන් සංවර්ධකයින් විසින් වෙබ් අඩවිය කෙලින්ම සංස්කරණය කිරීම නරක පුරුද්දකි. විශාල අඩවි සඳහා, අනුවාද පාලන පද්ධතියක අන්තර්ගතයෙන් වෙබ් සේවාදායකය යාවත්කාලීන කරන යම් ආකාරයක මුදා හැරීමේ පද්ධතියක් තිබීම වඩා හොඳය. තනි නඩත්තු කිරීමේ ප්රවේශය බොහෝ විට සුදුසු ය, නමුත් පුද්ගලයෙකු වෙනුවට ඔබට ස්වයංක්රීය මෘදුකාංග තිබේ.
ඔබේ වෙබ් අඩවිය සේවය සැපයීමට අවශ්ය නොවන උඩුගත කිරීම් වලට ඉඩ දෙන්නේ නම්, එම උඩුගත කිරීම් වෙබ් මූලයෙන් පිටත කොතැනක හෝ ගබඩා කළ යුතුය. එසේ නොමැති නම්, මිනිසුන් රහසිගතව අදහස් කරන ලිපිගොනු බාගත කරන බව ඔබට පෙනී යනු ඇත. උදාහරණයක් ලෙස, ඔබ සිසුන්ට පැවරුම් ඉදිරිපත් කිරීමට ඉඩ දෙන්නේ නම්, ඔවුන් අපාචේ විසින් සේවය නොකරන නාමාවලියකට සුරැකිය යුතුය. රහස් අඩංගු වින්යාස ගොනු සඳහා මෙය හොඳ ප්රවේශයකි.
වඩාත් සංකීර්ණ අවශ්යතා ඇති වෙබ් අඩවියක් සඳහා, ඔබට ප්රවේශ පාලන ලැයිස්තු භාවිතය පිළිබඳව සොයා බැලීමට අවශ්ය විය හැකිය . මෙමඟින් වරප්රසාද වඩාත් නවීන ලෙස පාලනය කිරීමට හැකි වේ.
ඔබේ වෙබ් අඩවියට සංකීර්ණ අවශ්යතා තිබේ නම්, ඔබට සියලු අවසරයන් සැකසෙන පිටපතක් ලිවීමට අවශ්ය විය හැකිය. එය හොඳින් පරීක්ෂා කරන්න, ඉන්පසු එය ආරක්ෂිතව තබා ගන්න. කිසියම් හේතුවක් නිසා ඔබේ වෙබ් අඩවිය නැවත ගොඩනඟා ගැනීමට ඔබට අවශ්ය යැයි ඔබ සිතන්නේ නම් එය එහි බර රත්රන්වලින් වටී.