ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

ሰላም ሁላችሁም። ይህ RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 እና EX300 ከሚለው መጽሃፍ የተወሰደ መጣጥፍ ነው።

ግፋ፡ ጽሑፉ ለጀማሪዎች ብቻ ሳይሆን የበለጠ ልምድ ያላቸው አስተዳዳሪዎች እውቀታቸውን እንዲያሳድጉ ይረዳል ብዬ ተስፋ አደርጋለሁ.

ስለዚህ እንሂድ ፡፡

ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

በሊኑክስ ውስጥ ፋይሎችን ለመድረስ ፈቃዶች ጥቅም ላይ ይውላሉ። እነዚህ ፈቃዶች ለሶስት ነገሮች ተሰጥተዋል፡ የፋይሉ ባለቤት፣ የቡድኑ ባለቤት እና ሌላ ነገር (ማለትም ሁሉም ሰው)። በዚህ ጽሑፍ ውስጥ ፍቃዶችን እንዴት እንደሚተገበሩ ይማራሉ.

ይህ መጣጥፍ የሚጀምረው በመሠረታዊ ፅንሰ-ሀሳቦች አጠቃላይ እይታ ሲሆን በመቀጠልም በልዩ ፍቃዶች እና የመዳረሻ ቁጥጥር ዝርዝሮች (ኤሲኤሎች) ውይይት ይከተላል። በዚህ ጽሑፍ መጨረሻ ላይ ነባሪ ፈቃዶችን በ umask በኩል ማቀናበር እና የተራዘመ የተጠቃሚ ባህሪያትን ማስተዳደርን እንሸፍናለን።

የፋይል ባለቤትነት አስተዳደር

ስለ ፈቃዶች ከመወያየትዎ በፊት የፋይል እና የማውጫ ባለቤት ሚና ማወቅ አለብዎት። ፈቃዶችን ለመቋቋም የፋይሎች እና ማውጫዎች ባለቤትነት በጣም አስፈላጊ ነው። በዚህ ክፍል በመጀመሪያ ባለቤቱን እንዴት ማየት እንደሚችሉ ይማራሉ. ከዚያ የቡድን ባለቤት እና ተጠቃሚን ለፋይሎች እና ማውጫዎች እንዴት መቀየር እንደሚችሉ ይማራሉ.

የአንድ ፋይል ወይም ማውጫ ባለቤት በማሳየት ላይ

በሊኑክስ ውስጥ እያንዳንዱ ፋይል እና እያንዳንዱ ማውጫ ሁለት ባለቤቶች አሉት፡ ተጠቃሚ እና የቡድን ባለቤት።

እነዚህ ባለቤቶች የሚዘጋጁት ፋይል ወይም ማውጫ ሲፈጠር ነው። ፋይሉን የሚፈጥረው ተጠቃሚ የዚያ ፋይል ባለቤት ይሆናል፣ እና ዋናው ተጠቃሚ የሆነው የፋይሉ ባለቤት ይሆናል። እርስዎ፣ እርስዎ፣ እንደ ተጠቃሚ፣ ፋይል ወይም ማውጫ የመድረስ ፍቃድ እንዳለዎት ለማወቅ፣ ዛጎሉ የባለቤትነት መብትን ያረጋግጣል።

ይህ የሚከናወነው በሚከተለው ቅደም ተከተል ነው.

  1. ዛጎሉ እርስዎ ሊደርሱበት የሚፈልጉት ፋይል ባለቤት መሆንዎን ለማረጋገጥ ይፈትሻል። ባለቤቱ ከሆንክ ፍቃዶችን ታገኛለህ እና ዛጎሉ መፈተሽ ያቆማል።
  2. የፋይሉ ባለቤት ካልሆኑ፣ ዛጎሉ እርስዎ በፋይሉ ላይ ፍቃድ ያለው ቡድን አባል መሆንዎን ለማረጋገጥ ዛጎሉ ይፈትሻል። የዚህ ቡድን አባል ከሆንክ ቡድኑ ባዘጋጀው ፍቃድ ፋይሉን ትደርስበታለህ እና ዛጎሉ መፈተሽ ያቆማል።
  3. እርስዎ ተጠቃሚ ወይም የቡድን ባለቤት ካልሆኑ የሌሎች ተጠቃሚዎች (ሌሎች) መብቶች ይሰጡዎታል።

የአሁኑን የባለቤት ስራዎች ለማየት ትዕዛዙን መጠቀም ይችላሉ። ls-l. ይህ ትእዛዝ የቡድኑን ተጠቃሚ እና ባለቤት ያሳያል። ከዚህ በታች የማውጫውን ባለቤት መቼቶች በ/ቤት ማውጫ ውስጥ ማየት ይችላሉ።

[root@server1 home]# ls -l
total 8
drwx------. 3  bob            bob            74     Feb   6   10:13 bob
drwx------. 3  caroline       caroline       74     Feb   6   10:13 caroline
drwx------. 3  fozia          fozia          74     Feb   6   10:13 fozia
drwx------. 3  lara           lara           74     Feb   6   10:13 lara
drwx------. 5  lisa           lisa           4096   Feb   6   10:12 lisa
drwx------. 14 user           user           4096   Feb   5   10:35 user

ትዕዛዙን በመጠቀም ls በተሰጠው ማውጫ ውስጥ የፋይሎችን ባለቤት ማሳየት ትችላለህ። አንዳንድ ጊዜ በሲስተሙ ላይ ያሉ ሁሉንም የፋይሎች ዝርዝር ማግኘት ጠቃሚ ሊሆን ይችላል ተጠቃሚ ወይም ቡድን እንደ ባለቤት ያለው። ለዚህም መጠቀም ይችላሉ ማግኘት. ክርክር አግኝ-ተጠቃሚ ለዚህ ዓላማ መጠቀም ይቻላል. ለምሳሌ፣ የሚከተለው ትዕዛዝ በተጠቃሚው ሊንዳ ባለቤትነት የተያዙ ሁሉንም ፋይሎች ይዘረዝራል።

find / -user linda

እርስዎም መጠቀም ይችላሉ ማግኘት እንደ ባለቤት የሆነ የተወሰነ ቡድን ያላቸውን ፋይሎች ለመፈለግ.

ለምሳሌ፣ የሚከተለው ትዕዛዝ የቡድኑን ሁሉንም ፋይሎች ይፈልጋል ተጠቃሚዎች:

find / -group users

የባለቤትነት ለውጥ

ተገቢውን ፍቃዶችን ለመተግበር በመጀመሪያ ሊታሰብበት የሚገባው ነገር ባለቤትነት ነው። ለዚህ ትእዛዝ አለ ጫማ. የዚህ ትዕዛዝ አገባብ ለመረዳት ቀላል ነው፡-

chown кто что

ለምሳሌ፣ የሚከተለው ትዕዛዝ የ/home/መለያ ማውጫውን ባለቤት ወደ ተጠቃሚ ሊንዳ ይለውጠዋል፡-

chown linda /home/account

ቡድን ጫማ ብዙ አማራጮች አሉት ፣ ከነዚህም አንዱ በተለይ ጠቃሚ ነው- -R. ምን እንደሚሰራ መገመት ትችላላችሁ ምክንያቱም ይህ አማራጭ ለብዙ ሌሎች ትዕዛዞችም ይገኛል. ይሄ ባለቤቱን በተደጋጋሚ እንዲያዘጋጁ ያስችልዎታል, ይህም የአሁኑን ማውጫ እና ከዚህ በታች ያለውን ሁሉ ባለቤት እንዲያዘጋጁ ያስችልዎታል. የሚከተለው ትዕዛዝ የ/home directory ባለቤትነትን እና ከሱ በታች ያለውን ሁሉ ወደ ሊንዳ ተጠቃሚ ይለውጣል፡

አሁን ባለቤቶቹ ይህንን ይመስላሉ-

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 account account 62 Sep 25 21:41 account
drwx------. 2 lisa    lisa    62 Sep 25 21:42 lisa

እናድርገው፡-

[root@localhost ~]# chown -R lisa /home/account
[root@localhost ~]#

አሁን ተጠቃሚው ሊሳ የመለያው ማውጫ ባለቤት ሆኗል፡-

[root@localhost ~]# ls -l /home
total 0
drwx------. 2 lisa account 62 Sep 25 21:41 account
drwx------. 2 lisa lisa    62 Sep 25 21:42 lisa

የቡድን ባለቤትን ይቀይሩ

የቡድን ባለቤትነትን ለመለወጥ ሁለት መንገዶች አሉ. ይህንን በመጠቀም ማድረግ ይችላሉ ጫማ, ነገር ግን የተሰየመ ልዩ ትዕዛዝ አለ chgrpሥራውን ያከናውናል. ትዕዛዙን መጠቀም ከፈለጉ ጫማ፣ ተጠቀም . ወይም : በቡድኑ ስም ፊት ለፊት.

የሚከተለው ትዕዛዝ የትኛውንም የ/home/መለያ ቡድን ባለቤት ወደ መለያ ቡድኑ ይለውጣል፡-

chown .account /home/account

መጠቀም ይችላሉ ጫማ የተጠቃሚውን እና/ወይም ቡድንን ባለቤት በተለያዩ መንገዶች ለመቀየር። አንዳንድ ምሳሌዎች እነሆ፡-

  • chown ሊሳ myfile1 ተጠቃሚውን ሊሳ የ myfile1 ባለቤት አድርጎ ያስቀምጣል።
  • chown lisa.sales myfile ተጠቃሚውን ሊዛ እንደ myfile ፋይል ባለቤት ያዘጋጃል፣ እና እንዲሁም የሽያጭ ቡድኑን እንደ ተመሳሳይ ፋይል ባለቤት ያዘጋጃል።
  • chown lisa:sales myfile ከቀዳሚው ትእዛዝ ጋር ተመሳሳይ።
  • chown .የሽያጭ myfile የተጠቃሚውን ባለቤት ሳይቀይር የሽያጭ ቡድኑን እንደ myfile ባለቤት ያዘጋጃል።
  • chown: የሽያጭ myfile ከቀዳሚው ትእዛዝ ጋር ተመሳሳይ።

ትዕዛዙን መጠቀም ይችላሉ chgrpየቡድኑን ባለቤት ለመለወጥ. መጠቀም የምትችልበትን የሚከተለውን ምሳሌ ተመልከት chgrp የመለያ ማውጫውን ባለቤት ለሽያጭ ቡድኑ ያቀናብሩ፡-

chgrp .sales /home/account

እንደነበረው ጫማ, አማራጩን መጠቀም ይችላሉ -R с chgrp, እንዲሁም የቡድኑን ባለቤት በተደጋጋሚ ይለውጡ.

የነባሪውን ባለቤት መረዳት

አንድ ተጠቃሚ ፋይል ሲፈጥር ነባሪው ባለቤትነት እንደሚተገበር አስተውለህ ይሆናል።
ፋይሉን የፈጠረው ተጠቃሚ በራስ ሰር የፋይሉ ባለቤት ይሆናል፣ እና የተጠቃሚው ዋና ቡድን በራሱ የፋይሉ ባለቤት ይሆናል። ይህ አብዛኛውን ጊዜ በ /etc/passwd ፋይል ውስጥ የተጠቃሚው ዋና ቡድን ተብሎ የተዘረዘረው ቡድን ነው። ነገር ግን፣ ተጠቃሚው ከአንድ በላይ ቡድን አባል ከሆነ፣ ተጠቃሚው ውጤታማውን ዋና ቡድን መቀየር ይችላል።

የአሁኑን ውጤታማ ዋና ቡድን ለማሳየት ተጠቃሚው ትዕዛዙን መጠቀም ይችላል። ቡድኖች:

[root@server1 ~]# groups lisa
lisa : lisa account sales

የአሁኑ የሊንዳ ተጠቃሚ ውጤታማውን የመጀመሪያ ደረጃ ቡድን መቀየር ከፈለገ ትዕዛዙን ይጠቀማል newgrpእንደ አዲስ ውጤታማ የመጀመሪያ ደረጃ ቡድን ለማዘጋጀት የሚፈልገውን ቡድን ስም ተከትሎ. ትዕዛዙን ከተጠቀሙ በኋላ newgrp ተጠቃሚው ትእዛዝ እስኪገባ ድረስ ዋናው ቡድን ንቁ ይሆናል። መውጫ ወይም ዘግተው አይውጡ.

የሚከተለው ተጠቃሚው ሊንዳ ይህንን ትዕዛዝ እንዴት እንደሚጠቀም ያሳያል፣ ሽያጮች እንደ ዋና ቡድን፡-

lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1

ውጤታማውን ዋና ቡድን ከቀየሩ በኋላ በተጠቃሚው የተፈጠሩ ሁሉም ፋይሎች ያ ቡድን እንደ ቡድን ባለቤት ይኖራቸዋል። ወደ ዋናው ቡድን ቅንብር ለመመለስ ተጠቀም። መውጫ.

ትዕዛዙን ለመጠቀም newgrp፣ ተጠቃሚው እንደ ዋና ቡድን ሊጠቀምበት የፈለገው ቡድን አባል መሆን አለበት። በተጨማሪም የቡድን የይለፍ ቃል ትዕዛዙን በመጠቀም ለቡድን መጠቀም ይቻላል gpasswd. ተጠቃሚው ትዕዛዙን ከተጠቀመ newgrpነገር ግን የታለመው ቡድን አባል አይደለም፣ ዛጎሉ የቡድኑን የይለፍ ቃል ይጠይቃል። ትክክለኛውን የቡድን ይለፍ ቃል ካስገቡ በኋላ አዲስ ውጤታማ ቀዳሚ ቡድን ይቋቋማል።

መሠረታዊ መብቶች አስተዳደር

የሊኑክስ ፍቃድ ስርዓት በ1970ዎቹ ተፈጠረ። በእነዚያ ዓመታት የኮምፒዩተር ፍላጎቶች የተገደቡ ስለነበሩ መሠረታዊ የፈቃድ ሥርዓቱ በጣም ውስን ነበር። ይህ የፈቃድ ስርዓት በፋይሎች እና ማውጫዎች ላይ ሊተገበሩ የሚችሉ ሶስት ፈቃዶችን ይጠቀማል። በዚህ ክፍል ውስጥ እነዚህን ፈቃዶች እንዴት እንደሚጠቀሙ እና እንደሚቀይሩ ይማራሉ.

ማንበብ፣ መጻፍ እና ፈቃዶችን መፈጸምን መረዳት

ሶስት መሰረታዊ ፈቃዶች ፋይሎችን እንዲያነቡ፣ እንዲጽፉ እና እንዲፈጽሙ ያስችሉዎታል። የእነዚህ ፈቃዶች ተፅእኖ በፋይሎች ወይም ማውጫዎች ላይ ሲተገበር ይለያያል። ለፋይል፣ የማንበብ ፍቃድ ፋይሉን ለማንበብ የመክፈት መብት ይሰጥዎታል። ስለዚህ, ይዘቱን ማንበብ ይችላሉ, ግን ያ ማለት ኮምፒተርዎ አንድ ነገር ለማድረግ ፋይሉን ሊከፍት ይችላል.

የቤተ-መጽሐፍት መዳረሻ የሚያስፈልገው የፕሮግራም ፋይል ለምሳሌ ወደዚያ ቤተ-መጽሐፍት የማንበብ መዳረሻ ሊኖረው ይገባል። የንባብ ፈቃድ ከፋይሎች ጋር ለመስራት የሚያስፈልግዎ በጣም መሠረታዊ ፈቃድ ነው።

በማውጫ ውስጥ ሲተገበር ማንበብ የማውጫውን ይዘቶች እንዲያሳዩ ያስችልዎታል። ይህ ፈቃድ በማውጫው ውስጥ ያሉትን ፋይሎች እንዲያነቡ እንደማይፈቅድልዎት ማወቅ አለብዎት። የሊኑክስ ፍቃድ ስርዓት ውርስ አያውቅም፣ እና ፋይል ለማንበብ ብቸኛው መንገድ በዚያ ፋይል ላይ የማንበብ ፈቃዶችን መጠቀም ነው።

እርስዎ እንደሚገምቱት፣ ፈቃድ ይጻፉ፣ በፋይል ላይ ከተተገበረ፣ ወደ ፋይሉ መፃፍ ያስችላል። በሌላ አነጋገር የነባር ፋይሎችን ይዘት እንዲቀይሩ ይፈቅድልዎታል. ሆኖም አዲስ ፋይሎችን እንዲፈጥሩ ወይም እንዲሰርዙ ወይም የፋይል ፈቃዶችን እንዲቀይሩ አይፈቅድልዎትም. ይህንን ለማድረግ, ፋይሉን ለመፍጠር ወደሚፈልጉበት ማውጫ የጽሁፍ ፍቃድ መስጠት አለብዎት. በማውጫዎች ውስጥ፣ ይህ ፈቃድ አዲስ ንዑስ ማውጫዎችን እንዲፈጥሩ እና እንዲሰርዙም ይፈቅድልዎታል።

ፈቃዱን ለማስፈጸም ፋይሉን ለማስፈጸም የሚያስፈልግዎ ነገር ነው። በነባሪነት በጭራሽ አይጫንም ፣ ይህም ሊኑክስ ከሞላ ጎደል ሙሉ በሙሉ ከቫይረሶች ይከላከላል። በማውጫው ላይ የመጻፍ ፍቃድ ያለው ሰው ብቻ ፈቃድን ማስፈጸም ይችላል።

የሚከተለው የመሠረታዊ ፈቃዶችን አጠቃቀም ያጠቃልላል።

ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

chmod በመጠቀም

ትዕዛዙ ፍቃዶችን ለማስተዳደር ጥቅም ላይ ይውላል. chmod... በመጠቀም chmod ለተጠቃሚው (ተጠቃሚ)፣ ቡድኖች (ቡድን) እና ሌሎች (ሌሎች) ፈቃዶችን ማዘጋጀት ይችላሉ። ይህንን ትዕዛዝ በሁለት ሁነታዎች መጠቀም ይችላሉ: አንጻራዊ ሁነታ እና ፍጹም ሁነታ. በፍፁም ሁነታ፣ መሰረታዊ ፍቃዶችን ለማዘጋጀት ሶስት አሃዞች ጥቅም ላይ ይውላሉ።

ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

ፈቃዶችን ሲያቀናብሩ የሚፈልጉትን ዋጋ ያሰሉ። ማንበብ/መፃፍ/ለማስፈፀም ለተጠቃሚ ማዋቀር፣ ለቡድን አንብብ/መፈፀም እና ለሌሎች በ/somefile ማንበብ/መፈፀም ከፈለክ የሚከተለውን ትዕዛዝ ትጠቀማለህ። chmod:

chmod 755 /somefile

ሲጠቀሙ chmod በዚህ መንገድ ሁሉም የአሁን ፈቃዶች ባዘጋጁዋቸው ፈቃዶች ይተካሉ።

ፈቃዶቹን ከአሁኑ ፈቃዶች አንጻር ለመለወጥ ከፈለጉ መጠቀም ይችላሉ። chmod በአንጻራዊ ሁኔታ. በመጠቀም chmod በአንፃራዊ ሁኔታ ምን ማድረግ እንደሚፈልጉ ለማመልከት ከሶስት አመልካቾች ጋር አብረው ይሰራሉ-

  1. መጀመሪያ ለማን ፍቃዶችን መቀየር እንደሚፈልጉ ይገልፃሉ። ይህንን ለማድረግ በተጠቃሚው መካከል መምረጥ ይችላሉ (uቡድን ()g) እና ሌሎች (o).
  2. ከዚያ ፈቃዶችን አሁን ካለው ሁነታ ለማከል ወይም ለማስወገድ ወይም ሙሉ ለሙሉ ለማዘጋጀት መግለጫን ይጠቀማሉ።
  3. መጨረሻ ላይ ትጠቀማለህ r, w и xየትኞቹን ፍቃዶች ማዘጋጀት እንደሚፈልጉ ለመግለጽ.

ፈቃዶችን በአንፃራዊ ሁኔታ ሲቀይሩ የሁሉም ነገሮች ፍቃድ ለመጨመር ወይም ለማስወገድ "ወደ" የሚለውን ክፍል መዝለል ይችላሉ. ለምሳሌ፣ ይህ ትዕዛዝ ለሁሉም ተጠቃሚዎች የማስፈጸሚያ ፍቃድ ይጨምራል፡-

chmod +x somefile

በአንፃራዊ ሁኔታ ሲሰሩ ፣ የበለጠ ውስብስብ ትዕዛዞችን መጠቀም ይችላሉ። ለምሳሌ፣ ይህ ትዕዛዝ ለቡድን የመፃፍ ፍቃድ ይጨምራል እና ለሌሎች የማንበብ ፍቃድን ያስወግዳል፡-

chmod g+w,o-r somefile

ሲጠቀሙ chmod -R o+rx/ዳታ ለሁሉም ማውጫዎች እና እንዲሁም በ/data directory ውስጥ ያሉ ፋይሎችን የማስፈጸሚያ ፍቃድ አዘጋጅተሃል። የማስፈጸሚያ ፈቃድን ለማውጫ ማውጫዎች ብቻ እንጂ ለፋይሎች ሳይሆን ተጠቀም chmod -R o+ rX/ዳታ.

አቢይ ሆሄ X ፋይሉ ለአንዳንድ ነገሮች ማስፈጸሚያ ፈቃድ ካላስቀመጠ በስተቀር ፋይሎቹ ፈቃዳቸውን እንዳያገኙ ያረጋግጣል። ይህ X ፈቃዶችን ለማስፈጸም የሚያስችል ብልህ መንገድ ያደርገዋል። ይህ ፈቃድ በማይፈለግባቸው ቦታዎች ላይ በፋይሎች ላይ ማቀናበርን ያስወግዳል።

የተራዘሙ መብቶች

አሁን ካነበብካቸው መሰረታዊ ፈቃዶች በተጨማሪ ሊኑክስ የላቁ የፍቃዶች ስብስብም አለው። እነዚህ በነባሪነት ያዘጋጃቸው ፈቃዶች አይደሉም፣ ነገር ግን አንዳንድ ጊዜ ጠቃሚ ተጨማሪዎችን ይሰጣሉ። በዚህ ክፍል ውስጥ ምን እንደሆኑ እና እንዴት እንደሚያዋቅሯቸው ይማራሉ.

SUID፣ GUID እና Sticky Bit Extended ፍቃዶችን መረዳት

ሶስት የላቁ ፈቃዶች አሉ። ከእነዚህ ውስጥ የመጀመሪያው የተጠቃሚ መለያ (SUID) የማዘጋጀት ፍቃድ ነው። በአንዳንድ ልዩ ሁኔታዎች፣ ይህንን ፈቃድ ሊተገበሩ ለሚችሉ ፋይሎች ማመልከት ይችላሉ። በነባሪ፣ executable የሚያሄድ ተጠቃሚ ያንን ፋይል በራሳቸው ፍቃድ ያካሂዳል።

ለተራ ተጠቃሚዎች ይህ ማለት አብዛኛውን ጊዜ የፕሮግራሙ አጠቃቀም ውስን ነው ማለት ነው. ሆኖም, በአንዳንድ ሁኔታዎች, ተጠቃሚው ልዩ ፍቃዶችን ይፈልጋል, አንድ የተወሰነ ተግባር ለማከናወን ብቻ.

ለምሳሌ አንድ ተጠቃሚ የይለፍ ቃሉን መቀየር ያለበትን ሁኔታ አስብ። ይህንን ለማድረግ ተጠቃሚው አዲሱን የይለፍ ቃሉን ወደ /etc/shadow ፋይል መፃፍ አለበት። ነገር ግን ይህ ፋይል ስር ባልሆኑ ተጠቃሚዎች ሊጻፍ አይችልም፡

root@hnl ~]# ls -l /etc/shadow
----------. 1 root root 1184 Apr 30 16:54 /etc/shadow

የ SUID ፍቃድ ለዚህ ችግር መፍትሄ ይሰጣል። የ/usr/bin/passwd መገልገያ ይህንን ፍቃድ በነባሪነት ይጠቀማል። ይህ ማለት የይለፍ ቃሉን በሚቀይርበት ጊዜ ተጠቃሚው ለጊዜው ስር ይሆናል, ይህም ወደ /etc/shadow ፋይል እንዲጽፍ ያስችለዋል. የ SUID ፍቃዱን ማየት ይችላሉ። ls-l እንዴት s በመደበኛነት ለማየት በሚጠብቁበት ቦታ ላይ x ለብጁ ፈቃዶች፡-

[root@hnl ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32680 Jan 28 2010 /usr/bin/passwd

የ SUID ፈቃዱ ጠቃሚ ሊመስል ይችላል (እና በአንዳንድ ሁኔታዎች ነው)፣ ግን በተመሳሳይ ጊዜ አደገኛ ሊሆን ይችላል። በትክክል ካልተተገበረ በአጋጣሚ የስር ፍቃዶችን መስጠት ይችላሉ። ስለዚህ, በከፍተኛ ጥንቃቄ ብቻ እንዲጠቀሙበት እመክራለሁ.

አብዛኞቹ አስተዳዳሪዎች ፈጽሞ መጠቀም አያስፈልጋቸውም; ኦፐሬቲንግ ሲስተሙ በነባሪነት ማዋቀር ያለበት በአንዳንድ ፋይሎች ላይ ብቻ ነው የሚያዩት።

ሁለተኛው ልዩ ፈቃድ የቡድን መለያ (SGID) ነው። ይህ ፈቃድ ሁለት ተፅዕኖዎች አሉት። ሊተገበር በሚችል ፋይል ላይ ሲተገበር ፋይሉን ለሚያከናውን ተጠቃሚ የፋይሉን ቡድን ባለቤት ፈቃድ ይሰጣል። ስለዚህ SGID ከ SUID የበለጠ ወይም ያነሰ ተመሳሳይ ነገር ማድረግ ይችላል። ሆኖም፣ SGID በተግባር ለዚህ አላማ ጥቅም ላይ አይውልም።

እንደ SUID ፍቃድ፣ SGID በአንዳንድ የስርዓት ፋይሎች ላይ እንደ ነባሪ ቅንብር ይተገበራል።

በማውጫ ላይ ሲተገበር SGID ጠቃሚ ሊሆን ይችላል ምክንያቱም ነባሪውን የቡድን ባለቤት በዚያ ማውጫ ውስጥ ለተፈጠሩ ፋይሎች እና ንዑስ ማውጫዎች ለማዘጋጀት ሊጠቀሙበት ይችላሉ። በነባሪነት አንድ ተጠቃሚ ፋይል ሲፈጥር ውጤታማ ቀዳሚ ቡድናቸው ለዚያ ፋይል የቡድን ባለቤት ሆኖ ይዘጋጃል።

ይሄ ሁልጊዜ በጣም ጠቃሚ አይደለም፣ በተለይ የሬድ ኮፍያ/CentOS ተጠቃሚዎች ዋና ቡድናቸው ከተጠቃሚው ጋር ተመሳሳይ ስም ያለው እና ተጠቃሚው ብቸኛው አባል የሆነበት ቡድን ስላዘጋጁ ነው። ስለዚህ, በነባሪ, ተጠቃሚው የሚፈጥራቸው ፋይሎች በጅምላ ይጋራሉ.

ሊንዳ እና ሎሪ ተጠቃሚዎች በሂሳብ አያያዝ ውስጥ የሚሰሩ እና የቡድን አባላት የሆኑበትን ሁኔታ አስቡ ሒሳብ. በነባሪ፣ እነዚህ ተጠቃሚዎች ብቸኛ አባል የሆነበት የግል ቡድን አባላት ናቸው። ነገር ግን፣ ሁለቱም ተጠቃሚዎች የመለያው ቡድን አባላት ናቸው፣ ግን እንደ ሁለተኛ ደረጃ የቡድን መለኪያ።

ነባሪው ሁኔታ ከእነዚህ ተጠቃሚዎች ውስጥ አንዳቸውም ፋይል ሲፈጥሩ ዋናው ቡድን ባለቤት ይሆናል። ስለዚህ, በነባሪ, ሊንዳ በሎሪ የተፈጠሩ ፋይሎችን መድረስ አይችልም, እና በተቃራኒው. ነገር ግን፣ የተጋራ የቡድን ማውጫ ከፈጠሩ (ቡድን/መለያ ይበሉ) እና የSGID ፍቃድ በዚያ ማውጫ ላይ መተግበሩን እና የቡድን መለያው ለዛ ማውጫ የቡድን ባለቤት ሆኖ መዋቀሩን ካረጋገጡ፣ በዚያ ማውጫ ውስጥ የተፈጠሩ ሁሉም ፋይሎች እና ሁሉም ከሱ ንዑስ ማውጫዎች በተጨማሪ የቡድን መለያውን እንደ ቡድን ባለቤት በነባሪ ያግኙ።

በዚህ ምክንያት፣ የSGID ፍቃድ በወል የቡድን ማውጫዎች ላይ ለማዘጋጀት በጣም ጠቃሚ ፍቃድ ነው።

የSGID ፍቃድ በውጤቱ ላይ ይታያል ls-l እንዴት s በተለምዶ ቡድንን ለማስፈጸም ፈቃድ በሚያገኙበት ቦታ፡-

[root@hnl data]# ls -ld account
drwxr-sr-x. 2 root account 4096 Apr 30 21:28 account

የልዩ ፍቃዶች ሶስተኛው ተለጣፊ ቢት ነው። ይህ ፍቃድ ብዙ ተጠቃሚዎች የተመሳሳዩን ማውጫ የመፃፍ መዳረሻ ባገኙበት አካባቢ ፋይሎችን በአጋጣሚ ከመሰረዝ ለመጠበቅ ጠቃሚ ነው። ተለጣፊ ቢት ጥቅም ላይ ከዋለ ተጠቃሚው ፋይሉን መሰረዝ የሚችለው ፋይሉን የያዘው የፋይሉ ወይም ማውጫ ተጠቃሚው ባለቤት ከሆኑ ብቻ ነው። በዚህ ምክንያት ለ/tmp ማውጫ እንደ ነባሪ ፍቃድ ጥቅም ላይ ይውላል እና ለህዝብ ቡድን ማውጫዎችም ጠቃሚ ሊሆን ይችላል።

ተለጣፊ ቢት ከሌለ፣ ተጠቃሚው በማውጫ ውስጥ ፋይሎችን መፍጠር ከቻለ፣ እንዲሁም ከዚያ ማውጫ ፋይሎችን መሰረዝ ይችላሉ። በሕዝብ ቡድን አካባቢ, ይህ የሚያበሳጭ ሊሆን ይችላል. ተጠቃሚዎቹን ሊንዳ እና ሎሪ አስቡት፣ ሁለቱም ወደ/ዳታ/መለያ ማውጫ የመፃፍ ፍቃድ ያላቸው እና የመለያው ቡድን አባል በመሆን ፍቃዶቹን ያገኛሉ። ስለዚህ, ሊንዳ በሎሪ እና በተቃራኒው የተፈጠሩ ፋይሎችን መሰረዝ ይችላል.

ተለጣፊውን ቢት ሲተገብሩ ተጠቃሚው ፋይሎችን መሰረዝ የሚችለው ከሚከተሉት ሁኔታዎች ውስጥ አንዱ እውነት ከሆነ ብቻ ነው።

  • ተጠቃሚው የፋይሉ ባለቤት ነው;
  • ተጠቃሚው ፋይሉ የሚገኝበት ማውጫ ባለቤት ነው።

ሲጠቀሙ ls-l፣ እንደ ተለጣፊው ትንሽ ማየት ይችላሉ። t ለሌሎች የማስፈጸሚያ ፈቃድን በተለምዶ በሚያዩበት ቦታ፡-

[root@hnl data]# ls -ld account/
drwxr-sr-t. 2 root account 4096 Apr 30 21:28 account/

የተራዘመ መብቶችን መተግበር

SUID፣ SGID እና ተለጣፊ ቢትን ለመጠቀም እንዲሁ መጠቀም ይችላሉ። chmod. SUID የቁጥር እሴት 4፣ SGID 2 ቁጥራዊ እሴት አለው፣ እና ተለጣፊ ቢት 1 አሃዛዊ እሴት አለው።

እነዚህን ፈቃዶች መተግበር ከፈለግክ ባለአራት አሃዝ ነጋሪ እሴት ማከል አለብህ chmodየመጀመሪያ አሃዙ ልዩ ፈቃዶችን ያመለክታል። የሚከተለው መስመር፣ ለምሳሌ፣ የSGID ፍቃድን ወደ ማውጫው ያክላል እና rwx ለተጠቃሚ እና rx ለቡድን እና ለሌሎች ያዘጋጃል።

chmod 2755 /somedir

ከመሥራትዎ በፊት የተቀናበሩትን ወቅታዊ ፈቃዶች ማየት ከፈለጉ ይህ በጣም ተግባራዊ አይሆንም chmod በፍፁም ሁነታ. (ካልሆነ የመፃፍ ፍቃዶችን አደጋ ላይ ይጥላሉ።) ስለዚህ ልዩ ፍቃዶችን መተግበር ከፈለጉ በአንፃራዊ ሁኔታ እንዲሄዱ እመክራለሁ፡

  1. ለ SUID አጠቃቀም chmod u+s.
  2. ለ SGID አጠቃቀም chmod g+s.
  3. ተለጣፊ ቢት ለመጠቀም chmod +tፈቃዶችን ለማዘጋጀት የሚፈልጉት የፋይል ስም ወይም ማውጫ ይከተላል።

ሠንጠረዡ ልዩ ፈቃዶችን ስለማስተዳደር ማወቅ ያለብዎትን ሁሉንም ነገር ያጠቃልላል።

ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

በልዩ መብቶች የመሥራት ምሳሌ

በዚህ ምሳሌ፣ የቡድን አባላት በተጋራው የቡድን ማውጫ ውስጥ ፋይሎችን ማጋራት ቀላል ለማድረግ ልዩ ፈቃዶችን ይጠቀማሉ። የመታወቂያ ቢትን ለተዘጋጀው የቡድን መታወቂያ እንዲሁም ተለጣፊ ቢት ይመድባሉ፣ እና አንዴ ከተዋቀሩ የቡድን አባላት አብረው እንዲሰሩ ቀላል ለማድረግ ባህሪያቶቹ ሲጨመሩ ታያለህ።

  1. የሊንዳ ተጠቃሚ የሆኑበት ተርሚናል ይክፈቱ። በትእዛዙ ተጠቃሚ መፍጠር ይችላሉ። ተጠቃሚ አድድ ሊንዳ, የይለፍ ቃል ጨምር passwd ሊንዳ.
  2. በስሩ ውስጥ ያለውን / የውሂብ ማውጫን እና / data / የሽያጭ ንዑስ ማውጫን በትእዛዙ ይፍጠሩ mkdir -p /ዳታ/ሽያጭ. ተጠናቀቀ ሲዲ/ዳታ/ሽያጭወደ የሽያጭ ማውጫው ለመሄድ. ተጠናቀቀ ሊንዳ 1 ንካ и ሊንዳ 2 ንካበሊንዳ ባለቤትነት የተያዙ ሁለት ባዶ ፋይሎችን ለመፍጠር።
  3. አሂድ ሱ-ሊሳ የአሁኑን ተጠቃሚ ወደ ተጠቃሚ ሊሳ ለመቀየር, እሱም የሽያጭ ቡድን አባል ነው.
  4. አሂድ ሲዲ/ዳታ/ሽያጭ እና ከዚያ ማውጫ ውስጥ አስፈጽም ls-l. በሊንዳ ተጠቃሚ የተፈጠሩ እና የሊንዳ ቡድን የሆኑ ሁለት ፋይሎችን ታያለህ። ተጠናቀቀ ሊንዳ *. ይህ ሁለቱንም ፋይሎች ያስወግዳል.
  5. አሂድ ሊዛን ንካ1 и ሊዛን ንካ2በተጠቃሚው ሊሳ የተያዙ ሁለት ፋይሎችን ለመፍጠር.
  6. አሂድ ሱ - የ root መብቶችዎን ከፍ ለማድረግ።
  7. አሂድ chmod g+s,o+t /data/salesየቡድን ለዪ (GUID) ቢት እንዲሁም በተጋራ የቡድን ማውጫ ውስጥ ያለውን ተለጣፊ ቢት ለማዘጋጀት።
  8. አሂድ ሱ-ሊንዳ. ከዚያም አድርግ ሊንዳ 3 ንካ и ሊንዳ 4 ንካ. አሁን የፈጠርካቸው ሁለቱ ፋይሎች በሽያጭ ቡድን ባለቤትነት የተያዙ መሆናቸውን ማየት አለብህ፣ እሱም የ/data/ሽያጭ ማውጫ የቡድን ባለቤት ነው።
  9. አሂድ rm -rf ሊሳ*. ተለጣፊው ቢት እርስዎ የእነዚህ ፋይሎች ባለቤት ስላልሆኑ የሊንዳ ተጠቃሚውን በመወከል እነዚህ ፋይሎች እንዳይሰረዙ ይከላከላል። የሊንዳ ተጠቃሚው የ/data/ሽያጭ ማውጫው ባለቤት ከሆነ ለማንኛውም እነዚህን ፋይሎች መሰረዝ እንደሚችሉ ልብ ይበሉ!

የACL አስተዳደር (setfacl፣ getfacl) በሊኑክስ

ምንም እንኳን ከላይ የተገለጹት የተራዘሙ ፈቃዶች ሊኑክስ ፍቃዶችን በሚይዝበት መንገድ ላይ ጠቃሚ ተግባራትን የሚያክሉ ቢሆንም፣ በተመሳሳይ ፋይል ውስጥ ከአንድ በላይ ተጠቃሚ ወይም ቡድን ፈቃድ እንዲሰጡ አይፈቅድልዎም።

የመዳረሻ ቁጥጥር ዝርዝሮች ይህንን ባህሪ ያቀርባሉ። በተጨማሪም፣ አስተዳዳሪዎች ነባሪ ፈቃዶችን ውስብስብ በሆነ መንገድ እንዲያዘጋጁ ይፈቅዳሉ፣ የተቀመጡት ፈቃዶች ከማውጫ ወደ ማውጫ ሊለያዩ ይችላሉ።

ኤሲኤሎችን መረዳት

ምንም እንኳን የACL ንኡስ ስርዓት በአገልጋይዎ ላይ ትልቅ ተግባር ቢጨምርም፣ አንድ ጉዳቱ አለው፡ ሁሉም መገልገያዎች አይደግፉትም። ስለዚህ፣ ፋይሎችን ሲገለብጡ ወይም ሲያንቀሳቅሱ የACL ቅንብሮችዎን ሊያጡ ይችላሉ፣ እና የመጠባበቂያ ሶፍትዌሮችዎ የACL ቅንብሮችዎን መጠባበቂያ ማድረግ ላይሳካ ይችላል።

የ tar utility ACLsን አይደግፍም። ምትኬ ሲፈጥሩ የACL መቼቶች እንዳልጠፉ ለማረጋገጥ ይጠቀሙ ኮከብ በቅጥራን ፋንታ. ኮከብ እንደ ታር ከተመሳሳይ አማራጮች ጋር ይሰራል; ለ ACL ቅንጅቶች ድጋፍን ብቻ ይጨምራል።

እንዲሁም በ ACLs ምትኬ ማስቀመጥ ይችላሉ። getfaclየ setfacl ትዕዛዝ በመጠቀም ወደነበረበት መመለስ የሚችል. ምትኬ ለመፍጠር ይጠቀሙ getfacl -R / ማውጫ > file.acls. ከመጠባበቂያ ፋይል ቅንብሮችን ወደነበሩበት ለመመለስ ይጠቀሙ setfacl --restore=file.acl.

የአንዳንድ መሳሪያዎች ድጋፍ እጦት ችግር ሊሆን አይገባም። ኤሲኤሎች ብዙውን ጊዜ በየማህደሮች ላይ የሚተገበሩት እንደ መዋቅራዊ ልኬት ከግል ፋይሎች ይልቅ ነው።
ስለዚህ, ብዙዎቹ አይኖሩም, ነገር ግን ጥቂቶች ብቻ, በፋይል ስርዓቱ ውስጥ በዘመናዊ ቦታዎች ላይ ይተገበራሉ. ስለዚህ፣ የሰራሃቸውን ኦሪጅናል ኤሲኤሎች ወደ ነበሩበት መመለስ በአንጻራዊነት ቀላል ነው፣ ምንም እንኳን የመጠባበቂያ ሶፍትዌርህ ባይደግፋቸውም።

የፋይል ስርዓቱን ለኤሲኤሎች በማዘጋጀት ላይ

ከኤሲኤሎች ጋር መስራት ከመጀመርዎ በፊት ኤሲኤሎችን ለመደገፍ የፋይል ስርዓትዎን ማዘጋጀት ሊኖርብዎ ይችላል። የፋይል ስርዓት ሜታዳታ ማራዘም ስላለበት በፋይል ስርዓቱ ውስጥ ለኤሲኤሎች ነባሪ ድጋፍ ሁልጊዜ የለም። ለፋይል ሲስተም ኤሲኤሎችን ሲያዘጋጁ "ኦፕሬሽን የማይደገፍ" መልእክት ካገኙ የፋይል ስርዓትዎ ኤሲኤሎችን ላይደግፍ ይችላል።

ይህንን ለማስተካከል አማራጩን ማከል ያስፈልግዎታል acl ተራራ በ /etc/fstab ውስጥ የፋይል ስርዓቱ በነባሪ በኤሲኤል ድጋፍ እንዲሰቀል።

በsetfacl እና Getfacl የACL ቅንብሮችን መለወጥ እና መመልከት

ኤሲኤልን ለማዘጋጀት ትዕዛዙ ያስፈልግዎታል ቅንብር. የአሁኑን የACL ቅንብሮች ለማየት፣ ያስፈልግዎታል getfacl. ቡድን ls-l ምንም ነባር ACLs አያሳይም; ከፈቃዱ ዝርዝር በኋላ አንድ + ያሳያል፣ ይህም ኤሲኤሎቹ በፋይሉ ላይም እንደሚተገበሩ ያሳያል።

ኤሲኤሎችን ከማዘጋጀትዎ በፊት የአሁኑን የACL መቼቶች በ ጋር ማሳየት ሁልጊዜ ጥሩ ሀሳብ ነው። getfacl. ከታች ባለው ምሳሌ ላይ እንደሚታየው የአሁኑን ፍቃዶች ማየት ይችላሉ። ls-l, እና እንዲሁም ጋር እንደሚታየው getfacl. በቅርበት ከተመለከቱ, የሚታየው መረጃ በትክክል አንድ አይነት መሆኑን ያያሉ.

[root@server1 /]# ls -ld /dir
drwxr-xr-x. 2 root root 6 Feb 6 11:28 /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

ትዕዛዙን በመፈጸም ምክንያት getfacl ከዚህ በታች ፍቃዶቹ ለሶስት የተለያዩ ነገሮች መታየታቸውን ማየት ይችላሉ፡ ተጠቃሚ፣ ቡድን እና ሌሎች። አሁን ለሽያጭ ቡድኑ የማንበብ እና ፈቃዶችን ለመስጠት ACL እንጨምር። ለዚህ ትእዛዝ setfacl -mg፡ሽያጭ፡rx/dir. በዚህ ቡድን ውስጥ -m የአሁኑን የACL መቼቶች መለወጥ እንደሚያስፈልግ ይጠቁማል። ከዛ በኋላ g:ሽያጭ:rx የተነበበ-ተፈፃሚውን ACL እንዲያቀናብር ትዕዛዙን ይነግረዋል (rxለቡድኑ ()g) ሽያጭ። ከዚህ በታች ትዕዛዙ ምን እንደሚመስል እና እንዲሁም የአሁኑን የ ACL መቼቶች ከቀየሩ በኋላ የ getfacl ትዕዛዝ ውጤቱን ማየት ይችላሉ።

[root@server1 /]# setfacl -m g:sales:rx /dir
[root@server1 /]# getfacl /dir
getfacl: Removing leading '/' from absolute path names
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
group:sales:r-x
mask::r-x
other::r-x

አሁን እንዴት የቡድን ኤሲኤልን ማዋቀር እንደሚችሉ ስለተረዱ፣ ለተጠቃሚዎች እና ለሌሎች ተጠቃሚዎች ኤሲኤሎችን መረዳት ቀላል ነው። ለምሳሌ, ትዕዛዙ setfacl -mu፡linda፡rwx/ዳታ ባለቤት ሳያደርጉት ወይም የአሁን ባለቤትን ስራ ሳይቀይሩ ለሊንዳ ተጠቃሚ በ/ዳታ ማውጫ ውስጥ ፍቃድ ይሰጣል።

ቡድን ቅንብር ብዙ ባህሪያት እና አማራጮች አሉት. አንድ አማራጭ በተለይ አስፈላጊ ነው, መለኪያው -R. ጥቅም ላይ ከዋለ, ምርጫው ACL ን ባዘጋጁበት ማውጫ ውስጥ ያሉትን ሁሉንም ፋይሎች እና ንዑስ ማውጫዎች ያዘጋጃል. ACL ን ለነባር ማውጫዎች ሲቀይሩ ሁልጊዜ ይህንን አማራጭ እንዲጠቀሙ ይመከራል።

ከነባሪ ACLs ጋር በመስራት ላይ

ACLsን መጠቀም ከሚያስገኛቸው ጥቅሞች አንዱ በማውጫ ውስጥ ለብዙ ተጠቃሚዎች ወይም ቡድኖች ፈቃድ መስጠት ነው። ሌላው ጥቅም ከነባሪው ACLs ጋር በመስራት ውርስ ማስቻል ነው።

ነባሪውን ACL በማዘጋጀት በማውጫው ውስጥ ለተፈጠሩት ሁሉም አዳዲስ እቃዎች የሚዘጋጁትን ፈቃዶች ይወስናሉ። ነባሪ ACL በነባር ፋይሎች እና ንዑስ ማውጫዎች ላይ ፍቃዶችን እንደማይለውጥ ልብ ይበሉ። እነሱን ለመለወጥ፣ መደበኛ ኤሲኤልንም ማከል አለቦት!

ይህ ማወቅ አስፈላጊ ነው. ብዙ ተጠቃሚዎችን ወይም ቡድኖችን ለማዋቀር ኤሲኤልን ለመጠቀም ከፈለጉ፣ ACLን ሁለት ጊዜ ማዘጋጀት አለብዎት። መጀመሪያ መጠቀም setfacl -R -mለአሁኑ ፋይሎች ACL ን ለመለወጥ. ከዚያ ተጠቀም setfacl-md:እንዲሁም የሚፈጠሩትን ሁሉንም አዳዲስ ንጥረ ነገሮች ለመንከባከብ.

ነባሪውን ACL ለማዘጋጀት አማራጩን ማከል ብቻ ያስፈልግዎታል d ከአማራጭ በኋላ -m (ትዕዛዙ አስፈላጊ ነው!) ስለዚህ ተጠቀም setfacl -md፡g፡ሽያጭ፡rx/ዳታየቡድን ሽያጮች በ/መረጃ መዝገብ ውስጥ የተፈጠረውን ማንኛውንም ነገር ለማንበብ እና ለማስፈጸም ከፈለጉ።

ነባሪ ኤሲኤሎችን ሲጠቀሙ ለሌሎች ኤሲኤሎችን ማዘጋጀት ጠቃሚ ሊሆን ይችላል። ይህ ብዙውን ጊዜ ብዙ ትርጉም አይሰጥም ምክንያቱም ሌሎች የሚጠቀሙባቸውን ፈቃዶች መለወጥ ይችላሉ። chmod. ሆኖም ግን, ምን ማድረግ አይችሉም chmod, ለእያንዳንዱ አዲስ ፋይል ለሌሎች ተጠቃሚዎች መሰጠት ያለባቸውን መብቶች መግለጽ ነው። በ/ውሂብ ውስጥ በተፈጠረ ማንኛውም ነገር ላይ ሌሎች ፈቃድ እንዳያገኙ ለምሳሌ ተጠቀም setfacl -md: o:: - /ዳታ.

ኤሲኤሎች እና መደበኛ ፍቃዶች ሁልጊዜ በደንብ የተዋሃዱ አይደሉም። ነባሪ ኤሲኤልን ወደ ማውጫ ውስጥ ከተገበሩ፣ ከዚያም ንጥሎች ወደዚያ ማውጫ ውስጥ ከተጨመሩ እና ከዚያ የተለመዱ ፈቃዶችን ለመቀየር ከሞከሩ ችግሮች ሊፈጠሩ ይችላሉ። በመደበኛ ፈቃዶች ላይ የሚደረጉ ለውጦች በACL አጠቃላይ እይታ ላይ በደንብ አይንጸባረቁም። ችግሮችን ለማስወገድ በመጀመሪያ መደበኛ ፈቃዶችን ያቀናብሩ እና ነባሪውን ACLs ያዘጋጁ (እና ከዚያ በኋላ እንደገና ላለመቀየር ይሞክሩ)።

ኤሲኤሎችን በመጠቀም ከፍ ያለ የመብቶች አስተዳደር ምሳሌ

በዚህ ምሳሌ ከዚህ ቀደም በፈጠርካቸው /data/መለያ እና/ዳታ/የሽያጭ ማውጫዎች ትቀጥላለህ። በቀደሙት ምሳሌዎች የሽያጭ ቡድኑ በ/ዳታ/ሽያጭ ላይ ፈቃድ እንዳለው እና የመለያ ቡድኑ በ/ዳታ/መለያ ላይ ፈቃድ እንዳለው አረጋግጠዋል።

በመጀመሪያ የመለያ ቡድኑ በ/ዳታ/የሽያጭ ማውጫ ላይ የተነበበ ፍቃዶችን ማግኘቱን እና የሽያጭ ቡድኑ በ/data/መለያ ማውጫ ላይ የተነበበ ፍቃዶችን ማግኘቱን ያረጋግጡ።

ከዚያ ሁሉም አዲስ ፋይሎች ለሁሉም አዲስ እቃዎች ትክክለኛ ፍቃዶች መዘጋጀታቸውን ለማረጋገጥ ነባሪ ኤሲኤሎችን አዘጋጅተሃል።

  1. ተርሚናል ክፈት።
  2. አሂድ setfacl -mg: መለያ:rx /ዳታ/ሽያጭ и setfacl -mg፡ሽያጭ፡rx/data/account.
  3. አሂድ getfaclፈቃዶቹ እርስዎ በሚፈልጉት መንገድ መዘጋጀታቸውን ለማረጋገጥ።
  4. አሂድ setfacl -md:g:መለያ:rwx,g:ሽያጭ:rx /ዳታ/ሽያጭለሽያጭ ማውጫው ነባሪውን ACL ለማዘጋጀት.
  5. ለ/data/መለያ ማውጫ በመጠቀም ነባሪ ACL ያክሉ setfacl -md:g:ሽያጭ:rwx,g:መለያ:rx /data/መለያ.
  6. አዲስ ፋይል ወደ /ዳታ/ሽያጭ በማከል የACL መቼቶች በስራ ላይ መሆናቸውን ያረጋግጡ። ተጠናቀቀ ንካ / ውሂብ / ሽያጮች / አዲስ ፋይል እና ያስፈጽሙ getfacl /data/sales/newfile የአሁኑን ፈቃዶች ለመፈተሽ.

ነባሪ ፈቃዶችን ከ umask ጋር በማቀናበር ላይ

ከዚህ በላይ፣ ከነባሪ ACLs ጋር እንዴት መሥራት እንደሚችሉ ተምረዋል። ACL እየተጠቀሙ ካልሆኑ፣ የሚያገኟቸውን ነባሪ ፈቃዶች የሚወስን የሼል አማራጭ አለ፡- ኡማስክ (የተገላቢጦሽ ጭምብል). በዚህ ክፍል ውስጥ ነባሪ ፈቃዶችን እንዴት መቀየር እንደሚችሉ ይማራሉ ኡማስክ.

አዲስ ፋይል ሲፈጥሩ አንዳንድ ነባሪ ፈቃዶች እንደተዘጋጁ አስተውለህ ይሆናል። እነዚህ ፈቃዶች በቅንብሩ ይወሰናሉ። ኡማስክ. ይህ የሼል ቅንብር በሎግ ላይ ያሉትን ሁሉንም ተጠቃሚዎች ይመለከታል። በመለኪያ ኡማስክ ለፋይሉ በራስ-ሰር ሊዋቀሩ ከሚችሉት ከፍተኛ ፍቃዶች የሚቀነሰው የቁጥር እሴት ጥቅም ላይ ይውላል። ከፍተኛው የፋይል ቅንብር 666 እና ለማውጫ 777 ነው።

ሆኖም፣ አንዳንድ ልዩ ሁኔታዎች በዚህ ደንብ ላይ ተፈጻሚ ይሆናሉ። የቅንብሮች አጠቃላይ እይታ ማግኘት ይችላሉ። ኡማስክ ከታች ባለው ሠንጠረዥ ውስጥ.

ውስጥ ጥቅም ላይ ከዋሉት ቁጥሮች ውስጥ ኡማስክ, ለትእዛዙ የቁጥር ክርክሮች እንደ ሁኔታው chmod, የመጀመሪያው አሃዝ የተጠቃሚውን ፍቃዶች ያመለክታል, ሁለተኛው አሃዝ የቡድኑን ፍቃድ ያመለክታል, እና የመጨረሻው ለሌሎች የተቀመጠውን ነባሪ ፍቃዶችን ያመለክታል. ትርጉም ኡማስክ ነባሪ 022 ለሁሉም አዲስ ፋይሎች 644 እና በአገልጋይዎ ላይ ለተፈጠሩት ሁሉም አዲስ ማውጫዎች 755 ይሰጣል።

የሁሉም የቁጥር እሴቶች አጠቃላይ እይታ ኡማስክ እና ውጤታቸው ከታች ባለው ሠንጠረዥ ውስጥ.

ፈቃዶች በሊኑክስ (chown፣ chmod፣ SUID፣ GUID፣ sticky bit፣ ACL፣ umask)

የ umask ቅንብር እንዴት እንደሚሰራ ለማየት ቀላሉ መንገድ የሚከተለው ነው፡ በፋይሉ ነባሪ ፍቃዶች ወደ 666 ተቀናጅተው ይጀምሩ እና ውጤታማ ፍቃዶችን ለማግኘት umask ን ይቀንሱ። ለ 777 ማውጫ እና ነባሪ ፈቃዶች ተመሳሳይ ነገር ያድርጉ።

የ umask ቅንብርን ለመለወጥ ሁለት መንገዶች አሉ: ለሁሉም ተጠቃሚዎች እና ለግል ተጠቃሚዎች. ለሁሉም ተጠቃሚዎች umask ማዘጋጀት ከፈለጉ በ /etc/profile ላይ እንደተገለጸው የሼል አካባቢ ፋይሎችን ሲጀምሩ የ umask መቼት ግምት ውስጥ መግባት እንዳለበት ማረጋገጥ አለብዎት። ትክክለኛው አቀራረብ umask.sh የሚባል የሼል ስክሪፕት በ /etc/profile.d ማውጫ ውስጥ መፍጠር እና በዚያ የሼል ስክሪፕት ውስጥ መጠቀም የሚፈልጉትን umask ይግለጹ። umask በዚህ ፋይል ውስጥ ከተቀየረ ወደ አገልጋዩ ከገቡ በኋላ በሁሉም ተጠቃሚዎች ላይ ይተገበራል።

Umask ን በ /etc/profile እና ተዛማጅ ፋይሎችን የማዘጋጀት አማራጭ ሁሉም ተጠቃሚዎች በሚገቡበት ቦታ ላይ በእያንዳንዱ ተጠቃሚ የቤት ማውጫ ውስጥ የተፈጠረውን ፕሮፋይል በሚባል ፋይል ውስጥ የ umask ቅንብሮችን መለወጥ ነው።

በዚህ ፋይል ውስጥ የተተገበሩ ቅንብሮች ለግለሰብ ተጠቃሚ ብቻ ይተገበራሉ; ስለዚህ ተጨማሪ ዝርዝር ከፈለጉ ይህ ጥሩ ዘዴ ነው. እኔ በግሌ ይህንን ባህሪ ለስር ተጠቃሚው ነባሪ umask ወደ 027 ለመቀየር መደበኛ ተጠቃሚዎች በነባሪ umask 022 እንዲሰሩ እወዳለሁ።

ከተራዘመ የተጠቃሚ ባህሪያት ጋር በመስራት ላይ

ይህ በሊኑክስ ፍቃዶች ላይ የመጨረሻው ክፍል ነው።

ከፈቃዶች ጋር በሚሰሩበት ጊዜ በተጠቃሚ ወይም በቡድን ነገር እና በተጠቃሚ ወይም በቡድን እቃዎች በፋይል ወይም ማውጫ ላይ ያላቸው ፍቃዶች ሁልጊዜ ግንኙነት አለ. በሊኑክስ አገልጋይ ላይ ፋይሎችን ለመጠበቅ አማራጭ ዘዴ ከባህሪያት ጋር መስራት ነው።
ፋይሉን ተጠቃሚው ምንም ይሁን ምን ባህሪያት ስራቸውን ይሰራሉ።

እንደ ACLs፣ የፋይል ባህሪያት አማራጩን ማካተት ሊኖርባቸው ይችላል። ተሰናብ.

ይህ አማራጭ ነው። user_xattr. ከተራዘመ የተጠቃሚ ባህሪያት ጋር በሚሰሩበት ጊዜ "ክዋኔው የማይደገፍ" መልዕክት ካገኙ መለኪያውን ማዘጋጀትዎን እርግጠኛ ይሁኑ. ተሰናብ በ /etc/fstab.

ብዙ ባህሪያት ተመዝግበዋል. አንዳንድ ባህሪያት ይገኛሉ ግን እስካሁን አልተተገበሩም። አይጠቀሙባቸው; ምንም አያመጡልህም።

ከዚህ በታች ማመልከት የምትችላቸው በጣም ጠቃሚ ባህሪያት ናቸው፡

A ይህ ባህሪ የፋይሉ ፋይል መዳረሻ ጊዜ እንደማይለወጥ ያረጋግጣል።
በተለምዶ አንድ ፋይል በተከፈተ ቁጥር የፋይሉ መዳረሻ ጊዜ በፋይሉ ሜታዳታ ውስጥ መመዝገብ አለበት። ይህ በአፈፃፀም ላይ አሉታዊ ተጽዕኖ ያሳድራል; ስለዚህ በመደበኛነት ለሚደረሱ ፋይሎች, ባህሪው A ይህንን ባህሪ ለማሰናከል ጥቅም ላይ ሊውል ይችላል.

a ይህ ባህሪ ፋይልን እንዲያክሉ ይፈቅድልዎታል ነገር ግን አያነሱትም።

c የድምጽ-ደረጃ መጨናነቅን የሚደግፍ የፋይል ስርዓት እየተጠቀሙ ከሆነ ይህ የፋይል አይነታ የማመቂያ ዘዴው ሲነቃ ፋይሉ መጨመዱን ያረጋግጣል።

D ይህ አይነታ በመጀመሪያ ከመሸጎጥ ይልቅ በፋይሎች ላይ የተደረጉ ለውጦች ወዲያውኑ ወደ ዲስክ መፃፋቸውን ያረጋግጣል። ይህ በፋይል መሸጎጫ እና በሃርድ ድራይቭ መካከል እንዳይጠፉ ለማድረግ በአስፈላጊ የውሂብ ጎታ ፋይሎች ላይ ጠቃሚ ባህሪ ነው።

d ይህ ባህሪ ፋይሉ የቆሻሻ መገልገያው ጥቅም ላይ በሚውልባቸው መጠባበቂያዎች ውስጥ እንደማይቀመጥ ያረጋግጣል።

I ይህ ባህሪ ለነቃበት ማውጫ መረጃ ጠቋሚ ማድረግን ያስችላል። ይህ ፈጣን የፋይል መዳረሻ ለማግኘት B-tree ዳታቤዝ ለማይጠቀሙ እንደ Ext3 ላሉ ጥንታዊ የፋይል ስርዓቶች ፈጣን የፋይል መዳረሻን ይሰጣል።

i ይህ ባህሪ ፋይሉን የማይለወጥ ያደርገዋል። ስለዚህ, በፋይሉ ላይ ምንም ለውጦች ሊደረጉ አይችሉም, ይህም ተጨማሪ ጥበቃ ለሚያስፈልጋቸው ፋይሎች ጠቃሚ ነው.

j ይህ ባህሪ በ ext3 የፋይል ስርዓት ላይ ፋይሉ በመጀመሪያ ወደ ጆርናል እና ከዚያም በሃርድ ዲስክ ላይ ወደ ዳታ ብሎኮች መጻፉን ያረጋግጣል።

s ፋይሉን ከሰረዙ በኋላ ፋይሉ የተቀመጠባቸውን ብሎኮች ወደ 0s ይፃፉ። ይህ ፋይሉ አንዴ ከተሰረዘ ወደነበረበት መመለስ እንደማይችል ያረጋግጣል።

u ይህ ባህሪ ስለ ስረዛው መረጃ ያከማቻል። ይህ የተሰረዙ ፋይሎችን ለማዳን ከዚህ መረጃ ጋር አብሮ የሚሰራ መገልገያ እንዲያዘጋጁ ያስችልዎታል።

ባህሪያቱን መተግበር ከፈለጉ ትዕዛዙን መጠቀም ይችላሉ። ቻትተር. ለምሳሌ, ይጠቀሙ chattr +s አንዳንድ ፋይልለአንዳንድ ፋይል ባህሪዎችን ተግባራዊ ለማድረግ። ባህሪን ማስወገድ ይፈልጋሉ? ከዚያ ተጠቀም chattr -s somefileእና ይወገዳል. በአሁኑ ጊዜ የተተገበሩትን ሁሉንም ባህሪዎች አጠቃላይ እይታ ለማግኘት ትዕዛዙን ይጠቀሙ lsattr.

ማጠቃለያ

በዚህ ጽሑፍ ውስጥ ከፈቃዶች ጋር እንዴት መሥራት እንደሚችሉ ተምረዋል። ስለ ሶስቱ መሰረታዊ ፈቃዶች፣ የላቁ ፍቃዶች እና እንዴት በፋይል ስርዓት ላይ ኤሲኤሎችን መተግበር እንደሚችሉ አንብበዋል። ነባሪ ፈቃዶችን ለመተግበር የ umask አማራጭን እንዴት መጠቀም እንደሚችሉም ተምረዋል። በዚህ ጽሑፍ መጨረሻ ላይ ተጨማሪ የፋይል ስርዓት ደህንነት ንብርብርን ለመተግበር በተጠቃሚ የተራዘመ ባህሪያትን እንዴት መጠቀም እንደሚችሉ ተምረዋል።

ይህን ትርጉም ከወደዱት፣ እባክዎን በአስተያየቶቹ ውስጥ ስለ እሱ ይፃፉ። ጠቃሚ ትርጉሞችን ለመስራት ተጨማሪ ተነሳሽነት ይኖራል.

በአንቀጹ ውስጥ አንዳንድ የፊደል አጻጻፍ እና ሰዋሰዋዊ ስህተቶችን አስተካክለዋል። ለተሻለ ተነባቢነት አንዳንድ ግዙፍ አንቀጾችን ወደ ትናንሽ ቀንስ።

ይልቅ "በማውጫው ላይ አስተዳደራዊ መብት ያለው ሰው ብቻ ፈቃድ ማስፈጸም ይችላል." "በማውጫው ላይ የመፃፍ ፍቃድ ያለው ሰው ብቻ ፍቃድ ማስፈጸሚያ" በሚለው ላይ ተስተካክሏል, ይህም የበለጠ ትክክል ይሆናል.

ለአስተያየቶች አመሰግናለሁ berez.

ተተካ፡
እርስዎ የተጠቃሚው ባለቤት ካልሆኑ፣ ዛጎሉ እርስዎ የቡድን አባል መሆንዎን ወይም የፋይሉ ቡድን በመባልም የሚታወቁት መሆን አለመሆኑን ያረጋግጣል።

በላዩ ላይ:
የፋይሉ ባለቤት ካልሆኑ፣ ዛጎሉ እርስዎ በፋይሉ ላይ ፍቃድ ያለው ቡድን አባል መሆንዎን ለማረጋገጥ ዛጎሉ ይፈትሻል። የዚህ ቡድን አባል ከሆንክ ቡድኑ ባዘጋጀው ፍቃድ ፋይሉን ትደርስበታለህ እና ዛጎሉ መፈተሽ ያቆማል።

ለአስተያየትዎ እናመሰግናለን CryptoPirate

ምንጭ: hab.com

አስተያየት ያክሉ