ለታላቁ ስኬት አንዱ ምክንያት Linux በተካተቱ፣ በሞባይል መሳሪያዎች እና በሰርቨሮች ላይ ያለው ስርዓተ ክወና ለከርነል፣ ለተያያዙ አገልግሎቶች እና አፕሊኬሽኖች በቂ ከፍተኛ የደህንነት ደረጃ አለው። ነገር ግን ከሆነ ወደ የከርነል አርክቴክቸር Linux, ከዚያ ለደህንነት ኃላፊነት የሚወስድ ሳጥን ውስጥ ማግኘት አይችሉም። የደህንነት ንዑስ ስርዓቱ የት ተደብቋል? Linux እና ምንን ያካትታል?
prehistory Linux የደህንነት ሞጁሎች እና ደቡብ ምስራቅ እስያLinux
ደህንነት ተሻሽሏል Linux ስርዓቶችን ለመጠበቅ በግዴታ እና በሚና ላይ የተመሰረቱ የመዳረሻ ሞዴሎች ላይ የተመሰረቱ የደንቦች እና የመዳረሻ ዘዴዎች ስብስብ ነው Linux በባህላዊው የዩኒክስ የደህንነት ስርዓት የሆነው የዲክሬሽን አክሰስ ኮንትሮል (DAC) ጉድለቶች ላይ ሊከሰቱ የሚችሉ ስጋቶችን እና ጥገናዎችን በመከላከል። ፕሮጀክቱ የተጀመረው በአሜሪካ ብሔራዊ የደህንነት ኤጀንሲ ውስጥ ሲሆን በዋናነት ግንባታው የተከናወነው በኮንትራክተሮች ሴኩሪቲ ኮምፒውቲንግ ኮርፖሬሽን እና MITRE እንዲሁም በበርካታ የምርምር ላቦራቶሪዎች ነው።

Linux የደህንነት ሞጁሎች
ሊነስ ቶርቫልድስ በዋናው መስመር ከርነል ውስጥ እንዲካተቱ አዳዲስ የNSA እድገቶችን በተመለከተ በርካታ አስተያየቶችን ሰጥቷል። Linuxየጋራ አካባቢን ገልጿል፣ የነገር ስራዎችን ለማስተዳደር የሚያገለግሉ የመጥለቂያዎች ስብስብ እና ተጓዳኝ ባህሪያትን ለማከማቸት በከርነል የውሂብ መዋቅሮች ውስጥ የመከላከያ መስኮች ስብስብ። ይህ አካባቢ ከዚያም ሊጫኑ በሚችሉ የከርነል ሞጁሎች ማንኛውንም የሚፈለገውን የደህንነት ሞዴል ለመተግበር ጥቅም ላይ ሊውል ይችላል። LSM ሙሉ በሙሉ ከከርነል ጋር ተዋህዷል። Linux በ2003 ዓ.ም. v2.6።
የኤል.ኤስ.ኤም ማዕቀፍ በመረጃ አወቃቀሮች ውስጥ የጥበቃ መስኮችን እና በከርነል ኮድ ውስጥ ባሉ ወሳኝ ነጥቦች ላይ ወደ መጥለፍ ተግባራት ጥሪዎችን ለመቆጣጠር እና የመዳረሻ ቁጥጥርን ያካትታል። በተጨማሪም የደህንነት ሞጁሎችን ለመመዝገብ ተግባራዊነትን ይጨምራል. የ/sys/kernel/security/lsm በይነገጽ በስርዓቱ ላይ ንቁ የሆኑ ሞጁሎችን ዝርዝር ይዟል። LSM መንጠቆዎች በCONFIG_LSM ውስጥ በተጠቀሰው ቅደም ተከተል በተጠሩ ዝርዝሮች ውስጥ ተከማችተዋል። በመንጠቆዎች ላይ ዝርዝር ሰነዶች በአርዕስት ፋይል ውስጥ ተካትተዋል / linux/lsm_hooks.h.
የኤልኤስኤም ንዑስ ስርዓት የኤስኢን ሙሉ ውህደት እንዲኖር አስችሏልLinux የረጋው የከርነል ተመሳሳይ ስሪት Linux v2.6. ቃል በቃል ወዲያውኑ SELinux ደህንነቱ የተጠበቀ አካባቢዎችን ለማረጋገጥ መደበኛ መስፈርት ሆኗል Linux እና በጣም ተወዳጅ ከሆኑት ስርጭቶች ውስጥ አንዱ ሆነ፡ RedHat Enterprise Linux, ፌዶራ፣ Debian, Ubuntu.
የSE መዝገበ ቃላትLinux
- ማንነት — የደቡብ ምስራቅ አሜሪካ ተጠቃሚLinux ከተለመደው ዩኒክስ/ ጋር ተመሳሳይ አይደለምLinux የተጠቃሚ መለያ፣ በተመሳሳይ ስርዓት ላይ አብረው ሊኖሩ ይችላሉ፣ ነገር ግን በመሠረቱ ሙሉ በሙሉ የተለያዩ ናቸው። እያንዳንዱ መደበኛ መለያ Linux በደቡብ ምስራቅ አንድ ወይም ከዚያ በላይ ሊዛመድ ይችላልLinuxየደቡብ ምስራቅ ማንነትLinux የትኞቹ ጎራዎች ሊገቡ እንደሚችሉ እና የትኞቹ ሊገቡ እንደማይችሉ የሚወስን የአጠቃላይ የደህንነት አውድ ዋና አካል ነው።
- ጎራዎች — በደቡብ ምስራቅLinux ጎራ የአንድ ርዕሰ ጉዳይ የአፈጻጸም አውድ ነው፣ ማለትም የሂደት። ጎራ አንድ ሂደት ያለውን መዳረሻ በቀጥታ ይወስናል። ጎራ በመሠረቱ ሂደቶች ምን ማድረግ እንደሚችሉ ወይም አንድ ሂደት በተለያዩ ዓይነቶች ምን እርምጃዎችን ሊያከናውን እንደሚችል ዝርዝር ነው። አንዳንድ የጎራ ምሳሌዎች ለስርዓት አስተዳደር sysadm_t እና user_t ናቸው፣ ይህም መደበኛ፣ ያልተፈቀደ የተጠቃሚ ጎራ ነው። የ init ስርዓት በ init_t ጎራ ውስጥ ይሰራል፣ እና የተሰየመው ሂደት በ named_t ጎራ ውስጥ ይሰራል።
- ሚና — በጎራዎች እና በSE ተጠቃሚዎች መካከል እንደ አማላጅ ሆኖ የሚያገለግልLinuxሚናዎች አንድ ተጠቃሚ የትኞቹ ጎራዎች አባል መሆን እንደሚችል እና ምን አይነት ነገሮች መድረስ እንደሚችሉ ይወስናሉ። ይህ የመዳረሻ መቆጣጠሪያ ዘዴ የመብት ማስፋፊያ ጥቃቶችን አደጋ ይከላከላል። ሚናዎች በSE ውስጥ ጥቅም ላይ በሚውለው ሚና-ተኮር የመዳረሻ መቆጣጠሪያ (RBAC) የደህንነት ሞዴል ውስጥ ይዋሃዳሉ።Linux.
- አይነቶች — ለአንድ ነገር የተመደበ እና ማን ሊደርስበት እንደሚችል የሚወስን የማስፈጸሚያ ዝርዝር አይነታ። ከጎራ ፍቺው ጋር ተመሳሳይ ነው፣ ጎራ በሂደት ላይ ካልሆነ በስተቀር፣ እና አይነት እንደ ማውጫዎች፣ ፋይሎች፣ ሶኬቶች፣ ወዘተ ባሉ ነገሮች ላይ ተፈጻሚ ይሆናል።
- ርዕሰ ጉዳዮች እና ዕቃዎች - ሂደቶች ርዕሰ ጉዳዮች ናቸው እና በተወሰነ አውድ ወይም የደህንነት ጎራ ውስጥ ይሰራሉ። የስርዓተ ክወና መርጃዎች፡- ፋይሎች፣ ማውጫዎች፣ ሶኬቶች፣ ወዘተ... የተወሰነ አይነት፣ በሌላ አነጋገር የግላዊነት ደረጃ የተመደቡ ነገሮች ናቸው።
- የደቡብ ምስራቅ ደቡብ ምዕራብ ፖሊሲዎችLinux - የኤስኢ ስርዓትን ለመጠበቅLinux የተለያዩ ፖሊሲዎችን ይጠቀማል። የSE ፖሊሲLinux የተጠቃሚዎችን ሚናዎች፣ ለጎራዎች ሚናዎች እና ለአይነቶች ጎራዎችን መድረስን ይገልጻል። በመጀመሪያ፣ አንድ ተጠቃሚ ለአንድ ሚና የተፈቀደለት ሲሆን ከዚያም አንድ ሚና ጎራዎችን የመድረስ ፈቃድ ይኖረዋል። በመጨረሻም፣ አንድ ጎራ ለተወሰኑ የነገር ዓይነቶች ብቻ መዳረሻ ሊኖረው ይችላል።
የኤልኤስኤም እና የኤስኢ አርክቴክቸርLinux
ስሙ ቢኖርም፣ LSMዎች በእውነቱ ሊጫኑ የሚችሉ ሞጁሎች አይደሉም። Linuxሆኖም ግን፣ ልክ እንደ SELinuxበቀጥታ ከከርነል ጋር ይዋሃዳል። በኤልኤስኤም ምንጭ ኮድ ላይ የሚደረግ ማንኛውም ለውጥ አዲስ የከርነል ማጠናቀር ያስፈልገዋል። ተጓዳኝ አማራጩ በከርነል ቅንብሮች ውስጥ መንቃት አለበት፣ አለበለዚያ የኤልኤስኤም ኮድ ከተጀመረ በኋላ አይነቃም። ሆኖም፣ በዚህ ሁኔታ እንኳን፣ በስርዓተ ክወና ቡት ጫኝ አማራጭ በኩል ሊነቃ ይችላል።

LSM የፍተሻ ቁልል
LSM ለቼኮች ጠቃሚ ሊሆኑ በሚችሉ ኮር ከርነል ተግባራት ውስጥ መንጠቆዎች አሉት። የኤል.ኤስ.ኤም.ኤስ ዋና ባህሪያት አንዱ የተደረደሩ መሆናቸው ነው። ስለዚህ, መደበኛ ቼኮች አሁንም ይከናወናሉ, እና እያንዳንዱ የ LSM ንብርብር ተጨማሪ መቆጣጠሪያዎችን እና መቆጣጠሪያዎችን ብቻ ይጨምራል. ይህ ማለት እገዳው ወደ ኋላ መመለስ አይቻልም ማለት ነው. ይህ በሥዕሉ ላይ ይታያል፤ የመደበኛ የDAC ቼኮች ውጤት ካልተሳካ ጉዳዩ ወደ LSM መንጠቆዎች እንኳን አይደርስም።
SELinux የፍሉክ ምርምር ኦፕሬቲንግ ሲስተም የፍላስክ የደህንነት አርክቴክቸርን በተለይም ዝቅተኛ መብት የሚለውን መርህ ተቀብሏል። የዚህ ጽንሰ-ሀሳብ ዋና ይዘት፣ ስሙ እንደሚያመለክተው፣ ለተጠቃሚ ወይም ለሂደቱ የታሰበውን እርምጃ ለማከናወን የሚያስፈልጉትን መብቶች ብቻ መስጠት ነው። ይህ መርህ የሚተገበረው በግዴታ የመዳረሻ ትየባ አማካኝነት ነው፣ በዚህም በSE ውስጥ የመዳረሻ መብቶችን ይቆጣጠራል።Linux በዶሜይን => አይነት ሞዴል ላይ የተመሠረተ።
በግዳጅ የመዳረሻ SE መተየብ ምክንያትLinux በዩኒክስ ኦፕሬቲንግ ሲስተም/ ውስጥ ጥቅም ላይ ከሚውለው ባህላዊ የDAC ሞዴል የበለጠ ጉልህ የሆነ የመዳረሻ መቆጣጠሪያ ችሎታዎች አሉት።Linuxለምሳሌ፣ የኤፍቲፒ አገልጋዩ የሚያዳምጠውን የአውታረ መረብ ወደብ ቁጥር መገደብ ይችላሉ፣ ይህም በአንድ የተወሰነ አቃፊ ውስጥ ፋይሎችን መጻፍ እና ማሻሻል ያስችላል፣ ነገር ግን አይሰርዛቸውም።
የኤስኢ ዋና ዋና ክፍሎችLinux እንደሚከተለው ናቸው፡
- የፖሊሲ ማስፈጸሚያ አገልጋይ - የመዳረሻ መቆጣጠሪያን ለማደራጀት ዋናው ዘዴ.
- የስርዓት ደህንነት ፖሊሲ ዳታቤዝ።
- ከኤል.ኤስ.ኤም ክስተት ኢንተርሴፕተር ጋር መስተጋብር።
- ሰሊኑክስፍስ — ከ/proc ጋር ተመሳሳይ እና በ/sys/fs/selinux ውስጥ የተጫነ የውሸት-FS። በከርነል በተለዋዋጭነት የተሞላ። Linux በሚተገበርበት ጊዜ እና ስለ SE ሁኔታ መረጃ የያዙ ፋይሎችን ይዟልLinux.
- የቬክተር መሸጎጫ ይድረሱ - ምርታማነትን ለመጨመር ረዳት ዘዴ.

የደቡብ ምስራቅ እስያ የኦፕሬሽን መርሃ ግብርLinux
ሁሉም እንደዚህ ይሰራል።
- የተወሰነ ርዕሰ ጉዳይ፣ በSE አገላለጽLinux, ከላይ ባለው ምስል ላይ እንደሚታየው የDAC ማረጋገጫ ከተደረገ በኋላ በነገሩ ላይ የተፈቀደውን እርምጃ ያከናውናል። ይህ ክወናውን ለማከናወን የቀረበው ጥያቄ ወደ LSM ክስተት ጣልቃ ገብነት ይተላለፋል።
- ከዚያ ጀምሮ ጥያቄው፣ ከጉዳዩ እና ከነገሩ የደህንነት አውድ ጋር፣ ወደ SE ሞጁል ይተላለፋል።Linux ከኤልኤስኤም ጋር ለሚደረግ መስተጋብር ኃላፊነት ያለው የአብስትራክሽን እና የሂክ ሎጂክ።
- የአንድ ርዕሰ ጉዳይ ወደ አንድ ነገር መድረስን በተመለከተ የውሳኔ ሰጪው ባለስልጣን የፖሊሲ ማስፈጸሚያ አገልጋይ ሲሆን ከSE መረጃ ይቀበላልLinux አንኤችኤል።
- ስለመዳረስ ወይም መከልከል ውሳኔዎችን ለማድረግ፣የፖሊሲ ማስፈጸሚያ አገልጋይ በጣም ጥቅም ላይ ለዋለ ሕጎች ወደ አክሰስ ቬክተር መሸጎጫ (AVC) መሸጎጫ ንዑስ ስርዓት ዞሯል።
- ለተዛማጅ ህግ መፍትሄ በመሸጎጫው ውስጥ ካልተገኘ, ጥያቄው ወደ የደህንነት ፖሊሲ የውሂብ ጎታ ተላልፏል.
- ከመረጃ ቋቱ እና AVC የተገኘው የፍለጋ ውጤት ወደ ፖሊሲ ማስፈጸሚያ አገልጋይ ይመለሳል።
- የተገኘው መመሪያ ከተጠየቀው እርምጃ ጋር የሚዛመድ ከሆነ ክዋኔው ይፈቀዳል። አለበለዚያ ክዋኔው የተከለከለ ነው.
የSE ቅንብሮችን ማስተዳደርLinux
SELinux ከሶስት ሁነታዎች በአንዱ ይሰራል-
- ማስፈጸም - የደህንነት ፖሊሲዎችን በጥብቅ መከተል።
- ፍቃደኛ - ገደቦችን መጣስ ይፈቀዳል; ተዛማጅ ማስታወሻ በመጽሔቱ ውስጥ ተዘጋጅቷል.
- ተሰናክሏል—የደህንነት ፖሊሲዎች በሥራ ላይ አይደሉም።
SE በምን አይነት ሁነታ ላይ እንዳለ ይመልከቱLinux የሚከተለውን ትዕዛዝ በመጠቀም ማድረግ ይችላሉ።
[admin@server ~]$ getenforce
Permissiveዳግም ከመነሳቱ በፊት ሁነታውን መቀየር ለምሳሌ፣ ወደ ማስፈጸሚያ ማዋቀር ወይም 1. የተፈቀደው መለኪያ ከቁጥር ኮድ 0 ጋር ይዛመዳል።
[admin@server ~]$ setenfoce enforcing
[admin@server ~]$ setenfoce 1 #то же самое
እንዲሁም ፋይሉን በማስተካከል ሁነታውን መቀየር ይችላሉ፡-
[admin@server ~]$ cat /etc/selinux/config # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE= ኢላማ
ከ setenfoce ጋር ያለው ልዩነት የስርዓተ ክወናው ሲነሳ የ SE ሁነታ መሆኑ ነው።Linux በSELINUX ውቅር ፋይል መለኪያ እሴት መሰረት ይዋቀራል። በተጨማሪም፣ በ<=> ማስፈጸሚያ ላይ የሚደረጉ ለውጦች የሚተገበሩት የ/etc/selinux/config ፋይልን ካስተካከሉ በኋላ እና ዳግም ከተነሳ በኋላ ብቻ ነው።
አጭር የሁኔታ ሪፖርት ይመልከቱ፡-
[admin@server ~]$ sestatus SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
የSE ባህሪያትን ለማየትLinux አንዳንድ መደበኛ መገልገያዎች የ -Z መለኪያን ይጠቀማሉ።
[admin@server ~]$ ls -lZ /var/log/httpd/
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200920
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200927
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201004
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201011
[admin@server ~]$ ps -u apache -Z
LABEL PID TTY TIME CMD
system_u:system_r:httpd_t:s0 2914 ? 00:00:04 httpd
system_u:system_r:httpd_t:s0 2915 ? 00:00:00 httpd
system_u:system_r:httpd_t:s0 2916 ? 00:00:00 httpd
system_u:system_r:httpd_t:s0 2917 ? 00:00:00 httpd
...
system_u:system_r:httpd_t:s0 2918 ? 00:00:00 httpdከመደበኛው የ ls -l ውፅዓት ጋር ሲወዳደር በሚከተለው ቅርጸት በርካታ ተጨማሪ መስኮች አሉ።
<user>:<role>:<type>:<level>
የመጨረሻው መስክ እንደ የደህንነት ምደባ ያለ ነገርን የሚያመለክት ሲሆን የሁለት አካላት ጥምርን ያካትታል፡
- s0 - ጠቀሜታ፣ እንዲሁም በዝቅተኛ ደረጃ-ከፍተኛ ደረጃ ክፍተት ተጽፏል
- c0፣ c1… c1023 - ምድብ።
የመዳረሻ ውቅረትን በመቀየር ላይ
የSE ሞጁሎችን ለመጫን ሴሞዱልን ይጠቀሙLinux, ጨምር እና አስወግዳቸው።
[admin@server ~]$ semodule -l |wc -l #список всех модулей
408
[admin@server ~]$ semodule -e abrt #enable - активировать модуль
[admin@server ~]$ semodule -d accountsd #disable - отключить модуль
[admin@server ~]$ semodule -r avahi #remove - удалить модульየመጀመሪያ ቡድን semanage መግቢያ የSE ተጠቃሚን ያገናኛልLinux ከኦፕሬቲንግ ሲስተም ተጠቃሚ ጋር፣ ሁለተኛው ዝርዝሩን ያሳያል። በመጨረሻም፣ ከ -r ማብሪያ / ማጥፊያ ጋር ያለው የመጨረሻው ትዕዛዝ የSE ተጠቃሚ ካርታ ስራን ያስወግዳልLinux ወደ ኦፕሬቲንግ ሲስተሞች። የ MLS/MCS ክልል እሴቶች አገባብ በቀደመው ክፍል ተብራርቷል።
[admin@server ~]$ semanage login -a -s user_u karol
[admin@server ~]$ semanage login -l Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
[admin@server ~]$ semanage login -d karol
ቡድን ተጠቃሚን ማስተዳደር በተጠቃሚዎች እና በSE ሚናዎች መካከል ካርታዎችን ለማስተዳደር ጥቅም ላይ ይውላልLinux.
[admin@server ~]$ semanage user -l
Labeling MLS/ MLS/
SELinux User Prefix MCS Level MCS Range SELinux Roles
guest_u user s0 s0 guest_r
staff_u staff s0 s0-s0:c0.c1023 staff_r sysadm_r
...
user_u user s0 s0 user_r
xguest_u user s0 s0 xguest_r
[admin@server ~]$ semanage user -a -R 'staff_r user_r'
[admin@server ~]$ semanage user -d test_uየትዕዛዝ መለኪያዎች፡-
- - ብጁ ሚና ካርታ ግቤት መጨመር;
- -l ተዛማጅ ተጠቃሚዎች እና ሚናዎች ዝርዝር;
- -d የተጠቃሚ ሚና ካርታ ግቤትን ሰርዝ;
- - ከተጠቃሚው ጋር የተያያዙ ሚናዎች ዝርዝር;
ፋይሎች፣ ወደቦች እና ቡሊያን እሴቶች
እያንዳንዱ የSE ሞጁልLinux የፋይል ምልክት ማድረጊያ ደንቦችን ስብስብ ያቀርባል፣ ነገር ግን አስፈላጊ ከሆነ የራስዎን ደንቦች ማከል ይችላሉ። ለምሳሌ፣ የድር አገልጋዩ የ/srv/www አቃፊ የመዳረሻ መብቶችን መስጠት እንፈልጋለን።
[admin@server ~]$ semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?
[admin@server ~]$ restorecon -R /srv/www/የመጀመሪያው ትዕዛዝ አዲስ ምልክት ማድረጊያ ደንቦችን ይመዘግባል, እና ሁለተኛው እንደገና ያስጀምራል, ወይም ይልቁንም አሁን ባለው ደንቦች መሰረት የፋይል ዓይነቶችን ያዘጋጃል.
በተመሳሳይም የTCP/UDP ወደቦች አግባብ ያላቸው አገልግሎቶች ብቻ ማዳመጥ በሚችሉበት መንገድ ምልክት ተደርጎባቸዋል። ለምሳሌ የድር አገልጋዩ በፖርት 8080 ላይ እንዲያዳምጥ ትዕዛዙን ማስኬድ ያስፈልግዎታል።
[admin@server ~]$ semanage port -m -t http_port_t -p tcp 8080ብዛት ያላቸው የSE ሞጁሎችLinux የቡሊያን እሴቶችን የሚወስዱ መለኪያዎች አሏቸው። የእነዚህ መለኪያዎች ሙሉ ዝርዝር በጌትሴቦል -ኤ በመጠቀም ሊታይ ይችላል። የቡሊያን እሴቶች በሴቴቦል ሊለወጡ ይችላሉ።
[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_cgi --> on
[admin@server ~]$ setsebool -P httpd_enable_cgi off
[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_homedirs --> off
ዎርክሾፕ፣ ወደ Pgadmin-web በይነገጽ መዳረሻ ያግኙ
ተግባራዊ ምሳሌን እንመልከት፡ የPostgreSQL ዳታቤዝ ለማስተዳደር pgadmin7.6-web በ RHEL 4 ላይ ጭነናል። ትንሽ ተራመድን። በpg_hba.conf፣ postgresql.conf እና config_local.py ቅንጅቶች፣ የአቃፊ ፍቃዶችን አዘጋጅ፣ የጎደሉትን የፓይዘን ሞጁሎችን ከpip ጫን። ሁሉም ነገር ዝግጁ ነው, አስጀምረናል እና እንቀበላለን 500 የውስጥ አገልጋይ ስህተት.

በተለመደው ተጠርጣሪዎች /var/log/httpd/error_logን በመፈተሽ እንጀምራለን. እዚያ አንዳንድ አስደሳች ግቤቶች አሉ።
[timestamp] [core:notice] [pid 23689] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
...
[timestamp] [wsgi:error] [pid 23690] [Errno 13] Permission denied: '/var/lib/pgadmin'
[timestamp] [wsgi:error] [pid 23690]
[timestamp] [wsgi:error] [pid 23690] HINT : You may need to manually set the permissions on
[timestamp] [wsgi:error] [pid 23690] /var/lib/pgadmin to allow apache to write to it.
አብዛኛዎቹ አስተዳዳሪዎች የሚገኙበት ቦታ ይህ ነው Linux ሴተንኮርስ 0ን ለማስኬድ ጠንካራ ፈተና ይኖራል፣ እናም ያ ብቻ ነው። እውነቱን ለመናገር፣ ለመጀመሪያ ጊዜ ያደረግኩት ይህንኑ ነው። በእርግጥ መፍትሄ ነው፣ ግን ከምርጡ በጣም የራቀ ነው።
የ SE ዲዛይኖች ብዛት ቢኖርምLinux ለተጠቃሚ ምቹ ሊሆን ይችላል። የሴትሮብልሾት ፓኬጅን ብቻ ይጫኑ እና የስርዓት ምዝግብ ማስታወሻውን ይመልከቱ።
[admin@server ~]$ yum install setroubleshoot
[admin@server ~]$ journalctl -b -0
[admin@server ~]$ service restart auditd
እባኮትን ያስተውሉ የኦዲት አገልግሎት በዚህ መንገድ እንደገና መጀመር አለበት እና በስርዓተ ክወናው ውስጥ ስርዓት ቢኖርም systemctl መጠቀም የለበትም። በስርዓት መዝገብ ውስጥ ይጠቁማል የማገድ እውነታ ብቻ ሳይሆን ምክንያቱ እና እገዳውን ለማሸነፍ መንገድ.

እነዚህን ትዕዛዞች እንፈጽማለን-
[admin@server ~]$ setsebool -P httpd_can_network_connect 1
[admin@server ~]$ setsebool -P httpd_can_network_connect_db 1
የpgadmin4-ድረ-ገጽ መዳረሻን እንፈትሻለን፣ ሁሉም ነገር ይሰራል።
ምንጭ: hab.com
