ലിനക്സ് കമാൻഡ് സെറ്റ്ഫാക്കിൽ പഠിക്കുക

Setfacl യൂട്ടിലിറ്റി സെറ്റുകൾ ഫയലുകളുടേയും ഡയറക്ടറികളുടേയും ആക്സസ് കൺട്രോൾ ലിസ്റ്റുകൾ (ACL- കൾ) നൽകുന്നു . കമാൻഡ് ലൈനിൽ , കമാന്ഡ് ലൈനിന്റെ ഒരു ക്രമം പിന്തുടരുന്നു, അതിനു ശേഷം ഫയലുകളുടെ ക്രമം (അത് മറ്റൊരു ക്രമം പിന്തുടരുന്ന കമാന്ഡുകള് ആണ് ...).

കമാൻഡ് ലൈനിൽ എസിഎൽ ഓപ്ഷനുകൾ -m, -x എന്നിവ പ്രതീക്ഷിക്കുന്നു. ഒന്നിലധികം ACL എൻട്രികൾ കോമ അക്ഷരങ്ങൾ (`, ') ഉപയോഗിച്ച് വേർതിരിച്ചിരിക്കുന്നു. ഓപ്ഷനുകൾ -,, - എക്സ് ഒരു ഫയൽ അല്ലെങ്കിൽ സാധാരണ ഇൻപുട്ടിൽ നിന്ന് ഒരു ACL വായിച്ചു. ACL എൻട്രി ഫോർമാറ്റ് വിഭാഗം ACL ENTRIES ൽ വിവരിച്ചിരിക്കുന്നു.

--set and --set-file ഉപാധികൾ ഒരു ഫയലിന്റെ അല്ലെങ്കിൽ ഒരു ഡയറക്ടറിയുടെ എസിഎൽ സജ്ജമാക്കുന്നു. മുമ്പത്തെ ACL മാറ്റിസ്ഥാപിക്കുക. ഈ ഓപ്പറേഷനായുള്ള ACL എൻട്രികൾ അനുമതികൾ ഉൾപ്പെടുത്തണം.

-m (--modify) , -M (--modify-file) ഓപ്ഷനുകൾ ഒരു ഫയലിന്റെ അല്ലെങ്കിൽ ഡയറക്ടറിയുടെ എസിഎൽ മാറ്റം വരുത്തുന്നു. ഈ ഓപ്പറേഷനായുള്ള ACL എൻട്രികൾ അനുമതികൾ ഉൾപ്പെടുത്തണം.

-x (--remove) ഉം -X (--remove-file) ഐച്ഛികങ്ങളും ACL എൻട്രികൾ നീക്കം ചെയ്യുന്നു. POSIXLY_CORRECT നിർവ്വചിക്കുന്നില്ലെങ്കിൽ, പെർമാസ് ഫീൾഡ് ഇല്ലാതെ ACL എൻട്രികൾ മാത്രമേ പാരാമീറ്ററുകൾക്ക് അംഗീകരിക്കപ്പെടുകയുള്ളൂ.

-M , and -X ഐച്ഛികങ്ങൾ ഉപയോഗിച്ചു് ഫയലുകൾ വായിക്കുമ്പോൾ, outputfacl ഉത്പാദിപ്പിയ്ക്കുന്ന setfacl സ്വീകരിയ്ക്കുന്നു. ഓരോ ലൈനിലും ഒരു ACL എൻട്രി ഉണ്ട്. ഒരു പൗണ്ട് ചിഹ്നത്തിനു ശേഷം (`# '), രേഖയുടെ അവസാനം വരെ എല്ലാം ഒരു അഭിപ്രായമായി പരിഗണിക്കുന്നു.

എസിഎലുകളെ പിന്തുണയ്ക്കാത്ത ഫയൽ സിസ്റ്റത്തിൽ setfacl ഉപയോഗിയ്ക്കുന്നെങ്കിൽ, ഫയൽ മോഡ് അനുമതി ബിറ്റുകളിൽ setfacl പ്രവർത്തിക്കുന്നു. എസിഎൽ അനുമതി ബിറ്റുകളിൽ പൂർണ്ണമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, എസിഎൽ വളരെ അടുത്തായി പ്രതിഫലിപ്പിക്കുന്നതിനായി ഫയൽ മോഡ് അനുമതി ബിറ്റുകൾ പരിഷ്കരിക്കുന്നു, ഒരു പിശക് സന്ദേശം സാധാരണ പിശകുകളാക്കി എഴുതുന്നു, കൂടാതെ 0-നേക്കാൾ വലുതായ ഒരു എക്സിറ്റ് നിലയുമൊത്ത് നൽകുന്നു.

സിനോപ്സിസ്

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] ഫയൽ ...

setfacl --restore = ഫയൽ

PERMISSIONS

ഫയൽ ഉടമയും CAP_FOWNER- ക്ക് ശേഷമുള്ള പ്രോസസസും ഒരു ഫയലിന്റെ എസിഎലുകളെ പരിഷ്ക്കരിക്കുന്നതിനുള്ള അവകാശം അനുവദിച്ചിരിക്കുന്നു. ഫയൽ മോഡ് ലഭ്യമാക്കുന്നതിന് ആവശ്യമായ അനുവാദങ്ങൾക്ക് സമാനമാണ് ഇത്. (നിലവിലെ ലിനക്സ് സിസ്റ്റങ്ങളിൽ, CAP_FOWNER ശേഷിയുള്ള റൂട്ടാണ് റൂട്ട്.)

ഓപ്ഷനുകൾ

-b, --remove-all

എല്ലാ വിപുലീകരിച്ച എസിഎൽ എൻട്രികളും നീക്കംചെയ്യുക. ഉടമസ്ഥന്റെയും ഗ്രൂപ്പിന്റെയും മറ്റുള്ളവരുടെയും ബേസ് എസിഎൽ എൻട്രികൾ നിലനിർത്തുന്നു.

-k, --remove-default

Default ACL നീക്കം ചെയ്യുക. സ്ഥിരമായ എസിഎൽ ഇല്ലെങ്കിൽ മുന്നറിയിപ്പുകളൊന്നും നൽകില്ല.

-n, --no- മാസ്ക്

ഫലപ്രദമായ അവകാശങ്ങൾ മാസ്ക് വീണ്ടും കണക്കുകൂട്ടരുത്. ഒരു മാസ്ക് എൻട്രി വ്യക്തമായി നൽകിയില്ലെങ്കിൽ, എസിഎൽ മാസ്ക് എൻട്രി വീണ്ടുംകൂട്ടുക എന്നതാണ് setfacl ന്റെ സ്വതവേയുള്ള രീതി. മാസ്ക് എൻട്രി ഗ്രൂപ്പിൻറെ എല്ലാ അനുമതികൾക്കും യൂസർ, ഗ്രൂപ്പ് എൻട്രികൾ എന്നിവയുടെ യൂണിയനിലേക്ക് സജ്ജമാക്കുന്നു. (ഇവയാണ് മാസ്ക് എൻട്രി ബാധിച്ച എൻട്രികൾ).

- മാസ്ക്

എസിഎൽ മാസ്ക് എൻട്രി സ്പഷ്ടമായി നൽകിയാലും ഫലപ്രദമായ അവകാശപ്പെടൽ മാസ്കിനെ വീണ്ടും കണക്കുകൂട്ടുക. ( -n ഓപ്ഷൻ കാണുക.)

-d, --default

എല്ലാ പ്രവർത്തനങ്ങളും സ്ഥിരസ്ഥിതി ACL- യ്ക്ക് ബാധകമാണ്. ഇൻപുട്ട് സെല്ലിലെ റെഗുലർ എസിഎൽ എൻട്രികൾ ഡീഫോൾട്ട് എസിഎൽ എൻട്രികളായി പ്രൊമോട്ടുചെയ്തു. ഇൻപുട്ട് സെറ്റിലെ സ്ഥിരസ്ഥിതി ACL എൻട്രികൾ നിരസിച്ചു. (ഒരു മുന്നറിയിപ്പ് ഇങ്ങനെയാണെങ്കിൽ).

--restore = ഫയൽ

`Getfacl -R 'അല്ലെങ്കിൽ സമാനമായ ഒരു അനുമതി ബാക്കപ്പ് പുനഃസ്ഥാപിക്കുക. ഈ സംവിധാനം ഉപയോഗിച്ച് ഒരു പൂർണ്ണമായ ഡയറക്ടറി ഉപക്റ്റിന്റെ എല്ലാ അനുമതികളും പുനഃസ്ഥാപിക്കപ്പെടുന്നു. ഇൻപുട്ട് ഉടമസ്ഥൻ അഭിപ്രായങ്ങളോ ഗ്രൂപ്പ് കമന്റുകളോ ഉണ്ടെങ്കിൽ, setfacl റൂട്ട് മുഖേന നടത്തിയാൽ ഉടമയും ഉടമസ്ഥതയിലുള്ള എല്ലാ ഫയലുകളും പുനഃസ്ഥാപിക്കപ്പെടും. ഈ ഐച്ഛികം `--test 'ഒഴികെയുള്ള മറ്റ് ഓപ്ഷനുകളുമായി ചേർക്കുവാൻ സാധ്യമല്ല.

--test

ടെസ്റ്റ് മോഡ്. ഏതെങ്കിലും ഫയലുകളുടെ എസിഎലുകൾ മാറ്റുന്നതിനു പകരം, ഫലമായ എസിഎലുകളുടെ ലിസ്റ്റ് ലഭ്യമാണു്.

-ആർ, - റിസർവ്വ്

എല്ലാ ഫയലുകളിലും ഡയറക്ടറികളിലും പ്രവർത്തനങ്ങൾ വീണ്ടും പ്രയോഗിക്കുക. ഈ ഐച്ഛികം `--restore 'ൽ ചേർക്കുവാൻ സാധ്യമല്ല.

-L, - ലോലിക്കൽ

ലോജിക്കൽ വാക്ക്, സിംബോളിക് ലിങ്കുകൾ പിന്തുടരുക. സിംബോളിക് ലിങ്ക് ആർഗ്യുമെന്റുകളെ പിന്തുടരുക, സബ്ഡയറക്ടറികളിൽ നേരിടാനുള്ള സിംബോളിക് ലിങ്കുകൾ ഒഴിവാക്കുക എന്നതാണ് സ്വതവേയുള്ള രീതി. ഈ ഐച്ഛികം `--restore 'ൽ ചേർക്കുവാൻ സാധ്യമല്ല.

-P, - ഫിസിക്കൽ

ശാരീരിക നടത്തം, എല്ലാ സിംബോളിക് ലിങ്കുകളും ഒഴിവാക്കുക. ഇത് പ്രതീകാത്മക ലിങ്ക് ആർഗ്യുമെന്റുകൾ ഒഴിവാക്കും. ഈ ഐച്ഛികം `--restore 'ൽ ചേർക്കുവാൻ സാധ്യമല്ല.

- പതിപ്പ്

Setfacl ന്റെ എക്സിറ്റ് ഔട്ട്പുട്ട് പ്രിന്റ് ചെയ്യുക.

--സഹായിക്കൂ

കമാൻഡ് ലൈൻ ഓപ്ഷനുകൾ വിശദീകരിക്കുന്ന പ്രിന്റ് സഹായം.

കമാൻഡ് ലൈൻ ഓപ്ഷനുകളുടെ അവസാനം. ബാക്കിയുള്ള എല്ലാ പാരാമീറ്ററുകളും ഒരു ഡാഷ് ഉപയോഗിച്ച് ആരംഭിക്കുകയാണെങ്കിൽ പോലും ഫയൽ നാമങ്ങളായി വ്യാഖ്യാനിക്കുന്നു.

ഫയലിന്റെ പേരു് പരാമീറ്റർ ഒരു ഡാഷ് ആണെങ്കിൽ, സ്റ്റാഫ് ഇൻപുട്ടിൽ നിന്നുള്ള ഫയലുകളുടെ ലിസ്റ്റ് listfacl ലഭ്യമാക്കുന്നു.

ACL ENTRIES

Setfacl പ്രയോഗം താഴെ പറയുന്ന എസിഎൽ എൻട്രി ഫോർമാറ്റുകൾ അംഗീകരിച്ചു് (വ്യക്തതക്കായി ഉൾപ്പെടുത്തിയ ഭാഗങ്ങൾ):

[d [efault]:] [u [ser]:] uid [: perms ]

പേരുള്ള ഉപയോക്താവിന്റെ അനുമതികൾ. UID ശൂന്യമാണെങ്കിൽ ഫയൽ ഉടമയുടെ അനുമതികൾ.

[d [efault]:] g [roup]: gid [perms]

പേരുനൽകിയ ഗ്രൂപ്പിന്റെ അനുമതികൾ. Gid ശൂന്യമാണെങ്കിൽ ഉടമസ്ഥരുടെ ഗ്രൂപ്പുകളുടെ അനുമതികൾ.

[d [efault]:] m [ask] [:] [: perms ]

ഫലപ്രദമായ അവകാശങ്ങൾ മാസ്ക്

[d [efault]:] ഓ [അവ] [:] [: perms ]

മറ്റുള്ളവരുടെ അനുമതികൾ.

ഡിലിമിറ്റർ അക്ഷരങ്ങളും അല്ലാത്തതുമായ പ്രതീകങ്ങൾക്കിടയിൽ വൈറ്റ്സ്പെയ്സ് അവഗണിക്കപ്പെടുന്നു.

അനുവാദങ്ങളടക്കമുള്ള ഉചിതമായ എസിഎൽ എൻട്രികൾ പരിഷ്ക്കരണത്തിലും സജ്ജീകരണത്തിലും ഉപയോഗിക്കുന്നു. (options -m , -M , --set , --set-file ). എൻട്രികൾ (ഓപ്ഷനുകൾ -x , -X ) നീക്കം ചെയ്യാൻ പെർസ് മണ്ഡലം കൂടാതെ എൻട്രികൾ ഉപയോഗിക്കുന്നു.

Uid , gid എന്നിവയ്ക്കായി നിങ്ങൾക്ക് ഒരു പേരോ അല്ലെങ്കിൽ അക്കമോ വ്യക്തമാക്കാനാകും.

അനുമതികൾ സൂചിപ്പിക്കുന്ന പ്രതീകങ്ങളുടെ ഒരു സംയോജനമാണ് പെർസ്സ് ഫീൾഡ്: ഫയൽ റീഡർ (റൈ) , റൈറ്റ് (എക്സ്) , എക്സിക്യൂട്ട് (എക്സ്) , ഫയൽ ഡയറക്ടറി ആണെങ്കിൽ മാത്രം പ്രവർത്തിക്കുക അല്ലെങ്കിൽ ചില ഉപയോക്താവിന് (X) ഇതിനകം അനുമതി നടപ്പിലാക്കുന്നു. പകരമായി, പെർമാസ് ഫീൾഡ് ഒക്ടൽ അക്കം (0-7) ആകാം.

സ്വപ്രേരിതമായി സൃഷ്ടിക്കപ്പെട്ട എൻട്രികൾ

തുടക്കത്തിൽ, ഫയലുകളും ഡയറക്ടറികളും ഉടമസ്ഥനും ഗ്രൂപ്പിനും മറ്റുള്ളവയ്ക്കുമായി മൂന്ന് ബേസ് എസിഎൽ എൻട്രികൾ മാത്രമേ ഉൾക്കൊള്ളുന്നുള്ളൂ. ഒരു എസിഎൽ സാധുവാണോ എന്ന കാര്യത്തിൽ ഏതൊക്കെ നിയമങ്ങൾ തൃപ്തിപ്പെടുത്തണം:

*

മൂന്ന് അടിസ്ഥാന എൻട്രികൾ നീക്കംചെയ്യാൻ കഴിയില്ല. ഈ അടിസ്ഥാന എൻട്രി തരങ്ങൾ ഓരോന്നിനും കൃത്യമായി ഒരു എൻട്രി ഉണ്ടായിരിക്കണം.

*

ഒരു എസിഎലിൽ യൂസർ എൻട്രികൾ അല്ലെങ്കിൽ ഗ്രൂപ്പ് ഒബ്ജക്റ്റുകൾ എന്ന് പേരുള്ളപ്പോഴെല്ലാം അത് ഫലപ്രദമായ അവകാശങ്ങളുടെ മാസ്കിൽ അടങ്ങിയിരിക്കണം.

*

എസിഎലിൽ ഏതെങ്കിലും ഡീഫോൾട്ട് എസിഎൽ എൻട്രികൾ ഉണ്ടെങ്കിൽ, മൂന്ന് സ്വതവേയുള്ള എസിഎൽ അടിസ്ഥാന എൻട്രികൾ (സ്വതവേയുള്ള ഉടമസ്ഥൻ, സ്വതവേയുള്ള ഗ്രൂപ്പ്, സ്വതവേയുള്ള മറ്റു്കങ്ങൾ) എന്നിവയും നിലവിലുണ്ടായിരിക്കണം.

*

ഒരു സ്ഥിരസ്ഥിതി എസിഎൽ ഉപയോക്തൃ എൻട്രികൾ അല്ലെങ്കിൽ ഗ്രൂപ്പ് ഒബ്ജക്റ്റുകൾ എന്ന് പേര് നൽകിയിട്ടുണ്ടെങ്കിൽ, അത് സ്ഥിരസ്ഥിതി ബാധകമായ ഒരു അവകാശ മാസ്കിൽ അടങ്ങിയിരിക്കണം.

ഉപയോക്താവിന് ഈ നിയമങ്ങൾ ഉറപ്പു വരുത്തുന്നതിന് സഹായിക്കുന്നതിനായി, നിലവിലുള്ള എൻട്രികളിൽ നിന്നും സജ്ജമാക്കൽ എൻട്രികൾ സൃഷ്ടിക്കുന്നു:

*

ഒരു എസിഎലിൽ ഉപയോക്താവു് അല്ലെങ്കിൽ പേരു് നൽകിയിട്ടുള്ള ഗ്രൂപ്പ് എൻട്രികൾ ഉണ്ടെങ്കിൽ, മാസ്ക് എൻട്രി നിലവിലില്ല, ഗ്രൂപ്പ് എൻട്രി പോലുള്ള അതേ അനുമതികൾ അടങ്ങുന്ന ഒരു മാസ്ക് എൻട്രി. -n ഓപ്ഷൻ നൽകിയില്ലെങ്കിൽ, മാസ്ക് എൻട്രി ബാധിച്ച എല്ലാ അനുമതികളും യൂണിയൻ ഉൾപ്പെടുത്താൻ മാസ്ക് എൻട്രിയുടെ അനുമതികൾ ക്രമീകരിച്ചിരിക്കുന്നു. ( -n ഓപ്ഷൻ വിവരണം കാണുക).

*

ഒരു സ്ഥിരസ്ഥിതി ACL എൻട്രി സൃഷ്ടിക്കുകയും, സ്ഥിരസ്ഥിതി എസിഎലിന് ഉടമസ്ഥനോ ഉടമസ്ഥനോ ഉടമസ്ഥനോ മറ്റ് ലിസ്റ്റുകളോ ഇല്ലെങ്കിൽ, ACL ഉടമയുടെ ഒരു പകർപ്പ്, ഗ്രൂപ്പ് സ്വന്തമാക്കുകയും അല്ലെങ്കിൽ മറ്റുള്ളവരുടെ എൻട്രിയെ സ്ഥിരസ്ഥിതി ACL ലേക്ക് ചേർക്കുകയും ചെയ്യും.

*

ഒരു സ്ഥിരസ്ഥിതി എസിഎലിൽ യൂസർ എൻട്രികൾ അല്ലെങ്കിൽ ഗ്രൂപ്പ് എൻട്രികൾ ആണെങ്കിൽ, കൂടാതെ മാസ്ക് എൻട്രി നിലവിലില്ല, സ്വതവേയുള്ള സഹജമായ എസിഎലിന്റെ ഗ്രൂപ്പ് എൻട്രിയ്ക്കു് അതേ അനുമതികളുള്ള ഒരു മാസ്ക് എൻട്രി ചേർത്തിരിക്കുന്നു. -n ഓപ്ഷൻ നൽകിയില്ലെങ്കിൽ, മാസ്ക് എൻട്രി ബാധിച്ച എല്ലാ അനുമതികളുടെയും യൂണിയനുകൾക്ക് മാസ്ക് എൻട്രിയുടെ അനുമതികൾ കൂടുതൽ ക്രമീകരിക്കപ്പെടും. ( -n ഓപ്ഷൻ വിവരണം കാണുക).

EXAMPLES

അധിക വായനാ ആക്സസ് അനുവദിക്കുക

setfacl -mu: lisa: r ഫയൽ

എല്ലാ ഗ്രൂപ്പുകളിൽ നിന്നും എല്ലാ പേരുള്ള ഉപയോക്താക്കൾക്കും റൈറ്റ് ആക്സസ് റദ്ദാക്കിക്കൊണ്ട് (ഫലപ്രദമായ അവകാശങ്ങൾ മാസ്ക് ഉപയോഗിക്കുന്നു)

setfacl -mm :: rx ഫയൽ

ഒരു ഫയലിന്റെ ACL ൽ നിന്നുള്ള പേരുള്ള ഒരു ഗ്രൂപ്പ് എൻട്രി നീക്കം ചെയ്യുന്നു

setfacl -xg: സ്റ്റാഫ് ഫയൽ

മറ്റൊരു ഫയലിന്റെ എസിഎൽ പകർത്തുക

getfacl file1 | setfacl --set-file = - file2

ACL ആക്സസ് സ്ഥിരസ്ഥിതി ACL- ലേക്ക് പകർത്തുന്നു

getfacl -a dir | setfacl -d -M-dir

പോസിക്സ് 1003.1 ഡി ഡി.എഫ്.എഫ് സ്റ്റാൻഡേർഡ് 17 വരെ പരിമിതപ്പെടുത്തുന്നു

പരിസ്ഥിതി വേരിയബിൾ POSIXLY_CORRECT നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ, setfacl ന്റെ സ്വതവേയുള്ള രീതി താഴെ പറയും പോലെ ആകുന്നു: എല്ലാ സ്റ്റാൻഡേർഡ് ഉപാധികളും അപ്രാപ്തമാക്കിയിരിയ്ക്കുന്നു. `സ്വതവേയുള്ള: '' പൂർവ്വപ്രത്യയം പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു. -x ഉം -X ഐച്ഛികങ്ങളും അനുമതി ഫീൽഡുകളും സ്വീകരിക്കുന്നു (അവ അവഗണിക്കൂ).

ഇതും കാണുക

umask (1),