Linux కమాండ్ setfacl ని నేర్చుకోండి

Setfacl యుటిలిటీ సెట్స్ యాక్సెస్ కంట్రోల్ లిస్ట్స్ (ACLs) ఫైల్స్ మరియు డైరెక్టరీలు. కమాండ్ లైన్ లో , ఆదేశాల క్రమాన్ని అనుసరిస్తుంది ఫైల్స్ క్రమాన్ని (దీని తరువాత మరొక ఆదేశాల ఆదేశాలను, ...).

Options -m, and -x కమాండ్ లైన్ లో ACL ను ఆశించటం. బహుళ ACL ఎంట్రీలు కామా అక్షరాలతో (`, ') వేరు చేయబడతాయి. ఎంపికలు -M, మరియు -X ఒక ఫైల్ నుండి లేదా ప్రామాణిక ఇన్పుట్ నుండి ACL ను చదువుతాయి. ACL ఎంట్రీ ఫార్మాట్ విభాగం ACL ENTRIES లో వివరించబడింది.

--set మరియు --set-file options ఫైల్ లేదా డైరెక్టరీ యొక్క ACL సెట్. మునుపటి ACL స్థానంలో ఉంది. ఈ ఆపరేషన్ కోసం ACL ఎంట్రీలు అనుమతులను కలిగి ఉండాలి.

-m (--modify) మరియు -M (--modify-file) ఐచ్ఛికాలు ఫైలు లేదా డైరెక్టరీ యొక్క ACL ను సవరించును . ఈ ఆపరేషన్ కోసం ACL ఎంట్రీలు అనుమతులను కలిగి ఉండాలి.

-x (--remove) మరియు -X (--remove-file) ఎంపికలు ACL ఎన్రిజెస్ ను తీసివేస్తాయి. POSIXLY_CORRECT నిర్వచించబడకపోతే, perms ఫీల్డ్ లేకుండా ACL ఎంట్రీలు మాత్రమే పారామితులుగా ఆమోదించబడతాయి.

-M, మరియు -X ఎంపికలను ఉపయోగించి ఫైళ్ళను చదివినప్పుడు, setfacl అవుట్పుట్ getfacl ను ఉత్పత్తి చేస్తుంది. రేఖకు ఒక ACL ఎంట్రీ వద్ద ఉంది. ఒక పౌండ్ గుర్తు తరువాత (`# '), రేఖ యొక్క ముగింపు వరకు ప్రతిదీ ఒక వ్యాఖ్యగా పరిగణించబడుతుంది.

ACL లకు మద్దతివ్వని ఫైల్ సిస్టమ్పై setfacl ఉపయోగించబడితే, setfacl ఫైల్ మోడ్ అనుమతి బిట్లలో పనిచేస్తుంది. ACL పూర్తిగా అనుమతి బిట్స్లో సరిపోకపోతే, ACL ను సాధ్యమైనంతవరకు ప్రతిబింబించేలా ఫైల్ మోడ్ అనుమతి బిట్లను సవరిస్తుంది, ఒక లోపం సందేశాన్ని ప్రామాణిక లోపంకి వ్రాస్తుంది మరియు 0 కంటే ఎక్కువ నిష్క్రమణ స్థితిని అందిస్తుంది.

సంక్షిప్తముగా

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] ఫైల్ ...

setfacl --restore = ఫైలు

అనుమతులు

CAP_FOWNER యొక్క ఫైల్ యజమాని మరియు ప్రక్రియలు ఫైల్ యొక్క ACL లను సవరించడానికి హక్కును మంజూరు చేస్తారు. ఇది ఫైల్ రీతిని ప్రాప్తి చేయడానికి అవసరమైన అనుమతులకి అనురూపంగా ఉంటుంది. (ప్రస్తుత Linux వ్యవస్థల్లో, CAP_FOWNER సామర్థ్యానికి రూట్ మాత్రమే యూజర్.)

OPTIONS

-b, --remove-all

అన్ని పొడిగించిన ACL ఎంట్రీలను తొలగించండి. యజమాని, సమూహం మరియు ఇతరుల ఆధార ACL ఎంట్రీలు అలాగే ఉంచబడతాయి.

-k, --remove-default

Default ACL ను తొలగించండి. ఎటువంటి డిఫాల్ట్ ACL ఉంటే, హెచ్చరికలు జారీ చేయబడవు.

-n, --no- ముసుగు

సమర్థవంతమైన హక్కుల ముసుగును తిరిగి లెక్కించవద్దు. Setfacl యొక్క అప్రమేయ ప్రవర్తన ACL మాస్క్ ఎంట్రీని తిరిగి లెక్కించుట, ఒక ముసుగు ఎంట్రీ స్పష్టంగా ఇవ్వబడకపోతే. మాస్క్ ఎంట్రీని యాజమాన్య సమూహం యొక్క అన్ని అనుమతుల యూనియన్కు మరియు అన్ని పేరున్న వినియోగదారు మరియు సమూహ ఎంట్రీలకు సెట్ చేస్తుంది. (ఇవి ఖచ్చితంగా మాస్క్ ఎంట్రీ ద్వారా ప్రభావితమైన ఎంట్రీలు).

--mask

ఒక ACL మాస్క్ ఎంట్రీ స్పష్టంగా ఇచ్చినప్పటికీ, సమర్థవంతమైన హక్కుల ముసుగును తిరిగి లెక్కించు. ( -n ఎంపికను చూడండి.)

-d, - డిఫాల్ట్

అన్ని కార్యకలాపాలు డిఫాల్ట్ ACL కు వర్తిస్తాయి. ఇన్పుట్ సెట్లో రెగ్యులర్ ACL ఎంట్రీలు డిఫాల్ట్ ACL ఎంట్రీలకు ప్రచారం చేయబడ్డాయి. ఇన్పుట్ సెట్లో డిఫాల్ట్ ACL ఎంట్రీలు విస్మరించబడతాయి. (అది జరిగితే హెచ్చరిక జారీ చేయబడుతుంది).

--restore = ఫైలు

`Getfacl -R 'లేదా ఇలాంటి రూపొందించినవారు అనుమతి బ్యాకప్ను పునరుద్ధరించండి. ఈ మెకానిజం ఉపయోగించి పూర్తి డైరెక్టరీ సబ్ట్రీ యొక్క అన్ని అనుమతులు పునరుద్ధరించబడతాయి. ఇన్పుట్ యజమాని వ్యాఖ్యలు లేదా గుంపు వ్యాఖ్యలను కలిగి ఉంటే, మరియు setfacl రూట్ చేత నడుపబడితే, యజమాని మరియు అన్ని ఫైళ్ళ యొక్క యాజమాన్య సమూహం అలాగే పునరుద్ధరించబడతాయి. ఈ ఎంపికను `- టెస్ట్ 'మినహా ఇతర ఎంపికలతో మిళితం చేయలేము.

--test

టెస్ట్ మోడ్. ఏ ఫైళ్ళ ACL లను మార్చాలనేదాని ఫలితంగా, ఫలితంగా ACL లు ఇవ్వబడ్డాయి.

-R, - రిసెర్సివ్

పునరావృతంగా అన్ని ఫైళ్ళు మరియు డైరెక్టరీలకు ఆపరేషన్లను వర్తింపజేయండి. ఈ ఐచ్ఛికం `- రిసరర్ 'తో మిళితం కాదు.

-L, - లాజికల్

తార్కిక నడక, సింబాలిక్ లింకులు అనుసరించండి. అప్రమేయ ప్రవర్తన సింబాలిక్ లింక్ వాదనలు అనుసరించడం, సబ్ డైరెక్టరీలలో ఎదుర్కొన్న సింబాలిక్ లింకులను దాటవేయడం. ఈ ఐచ్ఛికం `- రిసరర్ 'తో మిళితం కాదు.

-P, - భౌతిక

భౌతిక నడక, అన్ని సంకేత లింకులు దాటవేయి. ఇది సింబాలిక్ లింక్ వాదాలను కూడా వదులు చేస్తుంది. ఈ ఐచ్ఛికం `- రిసరర్ 'తో మిళితం కాదు.

--version

Setfacl మరియు నిష్క్రమణ సంస్కరణను ముద్రించండి.

--సహాయం

కమాండ్ లైన్ ఎంపికలను వివరిస్తూ ప్రింట్ సహాయం.

కమాండ్ లైన్ ఎంపికల ముగింపు. అన్ని మిగిలిన పారామితులు డాష్తో మొదలుపెట్టినప్పటికీ, ఫైల్ పేర్లకు అన్వయించబడతాయి.

ఫైల్ పేరు పరామితి ఒకే డాష్ అయితే, ప్రామాణిక ఇన్పుట్ నుండి ఫైళ్ల జాబితాను setfacl చదువుతుంది.

ACL ఎంట్రీలు

Setfacl యుటిలిటీ కింది ACL ఎంట్రీ ఫార్మాట్స్ (స్పష్టత కోసం చేర్చబడ్డ ఖాళీలను) ను గుర్తిస్తుంది:

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

పేరున్న యూజర్ యొక్క అనుమతులు. UID ఖాళీగా ఉంటే ఫైల్ యజమాని యొక్క అనుమతులు.

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

పేరు గల సమూహం యొక్క అనుమతులు. యాజమాన్య సమూహం యొక్క అనుమతులు ఖాళీగా ఉంటే.

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

ప్రభావవంతమైన హక్కుల ముసుగు

[d [efault]:] o [ther] [:] [: perms ]

ఇతరుల అనుమతులు.

డీలిమిటర్ అక్షరాలు మరియు నాన్-డీలిమిటర్ అక్షరాల మధ్య తెల్లని ఖాళీలు విస్మరించబడతాయి.

అనుమతులు సహా సరైన ACL ఎంట్రీలు సవరించడానికి మరియు సెట్ కార్యకలాపాలు ఉపయోగిస్తారు. (options -m , -M , --set మరియు --set-file ). ఎంట్రీలు తొలగించటానికి perms ఫీల్డ్ లేకుండా ఎంట్రీలు ఉపయోగించబడతాయి (ఐచ్ఛికాలు -x మరియు -X ).

Uid మరియు gid కొరకు మీరు ఒక పేరు లేదా సంఖ్యను నిర్దేశించవచ్చు.

Perms ఫీల్డ్ అనుమతులను సూచించే అక్షరాల కలయిక: ఫైల్ (డైరెక్టరీ) లేదా ఇప్పటికే కొంతమంది (X) కోసం అనుమతిని అమలుచేసినట్లయితే చదవడానికి (r) , వ్రాయడం (w) , అమలు (x) , అమలు చేయండి. ప్రత్యామ్నాయంగా, perms ఫీల్డ్ ఒక అష్టల్ అంకె కావచ్చు (0-7).

స్వయంచాలకంగా సృష్టించిన ఎంట్రీలు

ప్రారంభంలో, ఫైల్లు మరియు డైరెక్టరీలు యజమాని, సమూహం మరియు ఇతరుల కోసం మాత్రమే మూడు బేస్ ACL ఎంట్రీలను కలిగి ఉంటాయి. ACL చెల్లుబాటు అయ్యే క్రమంలో సంతృప్తి చెందవలసిన కొన్ని నియమాలు ఉన్నాయి:

*

మూడు బేస్ ఎంట్రీలు తొలగించబడవు. ఈ బేస్ ఎంట్రీ రకాలు ప్రతి ఒక్కటి సరిగ్గా ఒక ప్రవేశం ఉండాలి.

*

ఒక ఎసిఎల్ యూజర్ ఎంట్రీలు లేదా సమూహం వస్తువుల పేరును కలిగి ఉన్నప్పుడల్లా ఇది ప్రభావవంతమైన హక్కుల ముసుగుని కలిగి ఉండాలి.

*

ఒక ACL ఏ డిఫాల్ట్ ACL ఎంట్రీలను కలిగి ఉన్నప్పుడల్లా, మూడు డిఫాల్ట్ ACL బేస్ ఎంట్రీలు (డిఫాల్ట్ యజమాని, డిఫాల్ట్ సమూహం మరియు డిఫాల్ట్ ఇతరులు) కూడా ఉండాలి.

*

డిఫాల్ట్ ACL యూజర్ ఎంట్రీలు లేదా సమూహం వస్తువులను పేర్కొన్నప్పుడు, ఇది డిఫాల్ట్ సమర్థవంతమైన హక్కుల ముసుగుని కూడా కలిగి ఉండాలి.

వినియోగదారు ఈ నియమాలను నిర్ధారించడానికి సహాయం చేసేందుకు, క్రింది నియమాల క్రింద ఉన్న నమోదుల నుండి setfacl ఎంట్రీలను సృష్టిస్తుంది:

*

ఒక ACL వినియోగదారు పేరు లేదా పేరు నమోదు చేయబడినది, మరియు ముసుగు ఎంట్రీ లేనట్లయితే, గుంపు ఎంట్రీ వంటి అదే అనుమతులను కలిగి ఉన్న మాస్క్ ఎంట్రీ సృష్టించబడుతుంది. -n ఎంపిక ఇవ్వబడకపోతే, మాస్క్ ఎంట్రీ ద్వారా ప్రభావితమైన అన్ని అనుమతుల యొక్క యూనియన్ను చేర్చడానికి మాస్క్ ఎంట్రీ యొక్క అనుమతులు మరింత సర్దుబాటు చేయబడతాయి. ( -n ఎంపికను చూడండి).

*

ఒక డిఫాల్ట్ ACL ఎంట్రీ సృష్టించబడి, డిఫాల్ట్ ACL ఏ యజమానిని కలిగి ఉండదు, సమూహం లేదా ఇతరుల ఎంట్రీని కలిగి ఉంటుంది, ACL యజమాని యొక్క కాపీ, సమూహాన్ని సొంతం చేసుకోవడం లేదా ఇతరులు ఎంట్రీ డిఫాల్ట్ ACL కు జోడిస్తారు.

*

ఒక డిఫాల్ట్ ACL యూజర్ ఎంట్రీలు అనే పేరుతో లేదా గుంపు ఎంట్రీలను కలిగి ఉన్నట్లయితే, మరియు మాస్క్ ఎంట్రీ ఉండదు, అప్రమేయ డిఫాల్ట్ ACL యొక్క సమూహ ప్రవేశంలో అదే అనుమతులను కలిగి ఉన్న మాస్క్ ఎంట్రీ జోడించబడింది. -n ఐచ్ఛికం ఇవ్వబడకపోతే, మాస్క్ ఎంట్రీ ద్వారా ప్రభావితం చేయబడిన అన్ని అనుమతుల యొక్క యూనియన్లో ముసుగు ఎంట్రీ యొక్క అనుమతులు మరింత సర్దుబాటు చేయబడతాయి. ( -n ఎంపికను చూడండి).

ఉదాహరణలు

అదనపు యూజర్ రీడ్ ప్రాప్తిని ఇవ్వడం

setfacl -mu: lisa: r ఫైలు

అన్ని గ్రూపులు మరియు అన్ని పేరు గల వినియోగదారుల నుండి వ్రాసే యాక్సెస్ను ఉపసంహరించుకోవడం (ప్రభావవంతమైన హక్కుల ముసుగును ఉపయోగించడం)

setfacl -mm :: rx ఫైల్

ఫైల్ యొక్క ACL నుండి పేరు గల సమూహ నమోదుని తీసివేయడం

setfacl -xg: సిబ్బంది ఫైలు

మరొక ఫైల్ యొక్క ACL ను కాపీ చేస్తోంది

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),