Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

Kia ora katoa. He whakamaoritanga tenei o te tuhinga mai i te pukapuka RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 me EX300.

Pana: Te ti'aturi nei au ka whai hua te tuhinga ehara i te mea mo te hunga timatanga, engari ka awhina ano hoki i nga kaiwhakahaere mohio ki te whakarite i o raatau mohiotanga.

Na, kia haere tatou.

Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

Hei uru atu ki nga konae i Linux, ka whakamahia nga whakaaetanga. Ka tautapahia enei whakaaetanga ki nga ahanoa e toru: te kaipupuri konae, te rangatira o te roopu, me tetahi atu mea (ara, te katoa). Ma tenei tuhinga e ako koe me pehea te tono whakaaetanga.

Ka timata te tuhinga ki te tirohanga whanui o nga ariā taketake ka korero mo nga whakaaetanga Motuhake me nga Rarangi Mana Uru (ACL). Ko te mutunga o tenei tuhinga e kapi ana te whakatakoto whakaaetanga taunoa ma te umask, me te whakahaere i nga huanga kaiwhakamahi roa.

Whakahaere mana o te konae

I mua i te matapaki i nga whakaaetanga, me mohio koe ki te mahi a te rangatira o te konae me te whaiaronga. Ko te mana o nga konae me nga raarangi he mea nui ki te mahi me nga whakaaetanga. I tenei wahanga, ka ako tuatahi koe me pehea e kite ai koe i te rangatira. Na ka ako koe me pehea te whakarereke i te rangatira o te roopu me te kaiwhakamahi mo nga konae me nga raarangi.

Te whakaatu i te rangatira o tetahi konae, whaiaronga ranei

I roto i te Linux, ia kōnae me ia whaiaronga e rua nga kaipupuri: he kaiwhakamahi me tetahi rangatira roopu.

Ka tautuhia enei rangatira i te wa i hangaia ai te konae, te whaiaronga ranei. Ko te kaiwhakamahi nana i hanga te konae te rangatira o tenei konae, a ko te roopu tuatahi no taua kaiwhakamahi ano te rangatira o tenei konae. Hei whakatau mena kei a koe he mana uru ki tetahi konae, raarangi ranei, ka tirohia e te anga te mana pupuri.

Ka tupu tenei i roto i te raupapa e whai ake nei:

  1. Ka taki te anga ki te kite mena ko koe te rangatira o te konae e hiahia ana koe ki te uru atu. Mena ko koe tera rangatira, ka whakaaetia koe ka mutu te tirotiro a te anga.
  2. Mena ehara koe i te rangatira o te konae, ka tirohia e te anga mena he mema koe no te roopu e whai mana ana ki te konae. Mena he mema koe no tenei roopu, ka uru koe ki te konae me nga whakaaetanga kua whakaritea mo te roopu, ka mutu te tirotiro a te anga.
  3. Mena ehara koe i te kaiwhakamahi, he rangatira roopu ranei, ka whiwhi koe i etahi atu mana kaiwhakamahi.

Hei kite i nga taumahi rangatira o naianei ka taea e koe te whakamahi i te tono waiho. Ko tenei whakahau e whakaatu ana i te kaiwhakamahi me te rangatira o te roopu. Kei raro ka kite koe i nga tautuhinga rangatira mo nga raarangi i raro i te raarangi /home.

[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

Ma te whakahau ls ka taea e koe te whakaatu i te rangatira o nga konae ki roto i te raarangi kua tohua. I etahi wa ka whai hua pea ki te tiki rarangi o nga konae katoa kei runga i te punaha he kaiwhakamahi, he roopu ranei hei rangatira. Mo tenei ka taea e koe te whakamahi kitea. Tohenga kitea -kaiwhakamahi ka taea te whakamahi mo tenei kaupapa. Hei tauira, ko te whakahau e whai ake nei e whakaatu ana i nga konae katoa kei a linda te rangatira:

find / -user linda

Ka taea hoki e koe te whakamahi kitea ki te rapu i nga konae he roopu motuhake to ratou rangatira.

Hei tauira, ko te whakahau e whai ake nei e rapu ana i nga konae katoa no tetahi roopu kaiwhakamahi:

find / -group users

Te huringa o te rangatira

Hei tono i nga whakaaetanga e tika ana, ko te mea tuatahi hei whakaaro ko te mana rangatira. He whakahau mo tenei ka tohua. Ko te wetereo o tenei whakahau he ngawari ki te mohio:

chown кто что

Hei tauira, ka huri te whakahau e whai ake nei i te rangatira o te whaiaronga /home/account ki te kaiwhakamahi linda:

chown linda /home/account

rōpū ka tohua He maha nga whiringa, ko tetahi o enei e tino whai hua ana: -R. Ka taea e koe te whakaaro he aha te mahi na te mea kei te waatea tenei whiringa mo etahi atu whakahau. Ma tenei ka taea e koe te tautuhi i te rangatira, ka taea e koe te tautuhi i te rangatira o te raarangi o naianei me nga mea katoa kei raro. Ko te whakahau e whai ake nei ka huri i te rangatira o te whaiaronga / home me nga mea katoa i raro ki te linda kaiwhakamahi:

Inaianei he penei te ahua o nga rangatira:

[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

Me mahi tatou:

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

Inaianei ko te kaiwhakamahi lisa te rangatira o te raarangi kaute:

[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

Hurihia te rangatira o te roopu

E rua nga huarahi hei whakarereke i te mana roopu. Ka taea e koe tenei ma te whakamahi ka tohua, engari he whakahau motuhake e kiia ana chgrp, e mahi ana i tenei mahi. Ki te hiahia koe ki te whakamahi i te whakahau ka tohua, whakamahi . ranei : i mua i te ingoa o te roopu.

Ko te whakahau e whai ake nei ka huri i tetahi rangatira o te roopu /home/account ki te roopu kaute:

chown .account /home/account

ka taea e koe te whakamahi ka tohua ki te huri i te rangatira o te kaiwhakamahi me te roopu ranei i nga huarahi maha. Anei etahi tauira:

  • chown lisa myfile1 ka tautuhi i te kaiwhakamahi lisa hei rangatira mo te konae myfile1.
  • chown lisa.sales myfile ka tautuhi i te kaiwhakamahi lisa hei rangatira mo te konae myfile, ka whakatau hoki i te roopu hoko hei rangatira mo te konae ano.
  • chown lisa: hoko taku kōnae he rite tonu ki te kapa o mua.
  • chown .sales myfile Ka tautuhi i te roopu hoko hei rangatira mo takukōnae me te kore e huri i te rangatira o te kaiwhakamahi.
  • chown: hoko myfile he rite tonu ki te kapa o mua.

Ka taea e koe te whakamahi i te whakahau chgrpki te huri i te rangatira o te roopu. Whakaarohia te tauira e whai ake nei ka taea e koe te whakamahi chgrp Tautuhia te rangatira o te whaiaronga kaute ki te roopu hoko:

chgrp .sales /home/account

Ka rite ki ka tohua, ka taea e koe te whakamahi i te whiringa -R с chgrp, me te huri ano hoki i te rangatira o te roopu.

Te Maramatanga o te Kaipupuri Taunoa

Kua kite pea koe ka hangaia e te kaiwhakamahi he konae, ka tukuna te mana taunoa.
Ko te kaiwhakamahi e hanga ana i te konae ka noho aunoa hei rangatira mo taua konae, a ko te roopu tuatahi o taua kaiwhakamahi ka noho aunoa hei rangatira mo taua konae. Ko te tikanga tenei ko te roopu kua whakarārangihia ki te kōnae /etc/passwd hei roopu tuatahi mo te kaiwhakamahi. Heoi, ki te mea he mema te kaiwhakamahi o nga roopu maha, ka taea e ia te whakarereke i te roopu tuatahi whai hua.

Hei whakaatu i te roopu tuatahi whai hua o naianei, ka taea e te kaiwhakamahi te whakamahi i te whakahau rōpū:

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

Mena kei te hiahia te kaiwhakamahi o naianei a linda ki te whakarereke i te roopu tuatahi whai hua, ka whakamahia e ia te whakahau newgrpwhai muri ko te ingoa o te roopu e hiahia ana ia ki te whakatu hei roopu tuatahi whai hua hou. I muri i te whakamahi i te whakahau newgrp ka kaha te roopu tuatahi kia uru mai ra ano te kaiwhakamahi ki te whakahau putanga e kore ranei e puta ki waho o te punaha.

Anei me pehea te whakamahi a linda kaiwhakamahi i tenei whakahau, ko te roopu tuatahi ko te hoko:

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

Whai muri i te huri i te roopu tuatahi o naianei, ko nga konae hou katoa i hangaia e te kaiwhakamahi ka riro taua roopu hei rangatira roopu. Hei hoki ki te tautuhinga roopu tuatahi, whakamahia putanga.

Kia taea ai te whakamahi i te whakahau newgrp, me uru te kaiwhakamahi ki te roopu e hiahia ana ia ki te whakamahi hei tuatahi. I tua atu, ka taea te whakamahi i te kupuhipa roopu mo te roopu e whakamahi ana i te whakahau gpasswd. Mena ka whakamahia e te kaiwhakamahi te whakahau newgrpengari ehara i te mema o te roopu whaainga, ka akiaki te anga mo te kupuhipa roopu. Ina whakauru koe i te kupu huna a te roopu tika, ka whakatauhia he roopu tuatahi hou.

Whakahaere Tikanga Kaupapa

I hangaia te punaha whakaaetanga Linux i nga tau 1970. I te mea he iti nga hiahia rorohiko i aua tau, he iti noa te punaha whakaaetanga taketake. Ka whakamahia e tenei punaha whakaaetanga e toru nga whakaaetanga ka taea te tono ki nga konae me nga raarangi. I tenei wahanga, ka ako koe me pehea te whakamahi me te whakarereke i enei whakaaetanga.

Te mohio ki te panui, te tuhi, me te whakahaere i nga whakaaetanga

Ko nga whakaaetanga matua e toru ka taea e koe te panui, te tuhi, me te whakahaere i nga konae. He rereke te paanga o enei whakaaetanga ina hoatu ki nga konae, ki nga raarangi ranei. Ina hoatu ki tetahi konae, panui whakaaetanga ka whai mana koe ki te whakatuwhera i te konae hei panui. Na reira, ka taea e koe te panui i ona ihirangi, engari ko te tikanga ka taea e to rorohiko te whakatuwhera i te konae hei mahi i tetahi mea.

Ko te konae papatono me uru ki te whare pukapuka, hei tauira, me whai urunga panui ki taua whare pukapuka. Ko te tikanga ko te whakaaetanga panui te whakaaetanga taketake e hiahia ana koe ki te mahi me nga konae.

Ina hoatu ki tetahi whaiaronga, panui ka taea e koe te whakaatu i nga ihirangi o taua raarangi. Me mohio koe kaore tenei whakaaetanga e tuku kia panui koe i nga konae kei roto i te raarangi. Ko te punaha whakaaetanga Linux kaore i te mohio ki nga taonga tuku iho, ko te huarahi ki te panui i tetahi konae ko te whakamahi i nga whakaaetanga panui i runga i taua konae.

Ka taea pea e koe te whakaaro, tuhia te whakaaetanga, ka tukuna ki te konae, ka taea te tuhi ki te konae. I etahi atu kupu, ka taea e koe te whakarereke i nga ihirangi o nga konae kei roto. Heoi, kaore koe e whakaae ki te hanga, ki te whakakore ranei i nga konae hou, ki te whakarereke ranei i nga whakaaetanga konae. Ki te mahi i tenei, me tuku whakaaetanga tuhi ki te raarangi e hiahia ana koe ki te hanga i te konae. I roto i nga whaiaronga, ma tenei whakaaetanga ka taea e koe te hanga me te muku i nga raarangiroto hou.

Whakaaetia te mea e hiahia ana koe ki te whakahaere i te konae. E kore rawa e whakauruhia ma te taunoa, na te mea ka tino parea a Linux ki nga huaketo. Ko te tangata anake e uru ana ki te tuhi ki te whaiaronga ka taea te tono ki te whakahaere whakaaetanga.

Ko nga mea e whai ake nei ka whakarapopoto i te whakamahinga o nga whakaaetanga taketake:

Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

Ma te whakamahi i te chmod

Hei whakahaere motika, whakamahia te whakahau chmod... Te whakamahi chmod ka taea e koe te whakarite whakaaetanga mo te kaiwhakamahi, roopu, me etahi atu. Ka taea e koe te whakamahi i tenei whakahau i roto i nga tikanga e rua: aratau whanaunga me te aratau tino. I roto i te aratau tino, e toru nga mati ka whakamahia hei tautuhi i nga whakaaetanga taketake.

Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

Ina whakarite whakaaetanga, tatauhia te uara e hiahiatia ana. Mena kei te hiahia koe ki te whakarite panui, tuhi me te mahi mo te kaiwhakamahi, panui me te mahi mo te roopu, me te panui me te mahi mo etahi atu i roto i / somefile ka whakamahi koe i te whakahau e whai ake nei chmod:

chmod 755 /somefile

Ina whakamahi koe chmod Ma tenei ara, ka whakakapia nga whakaaetanga o naianei ki nga whakaaetanga kua whakaritea e koe.

Ki te hiahia koe ki te huri i nga whakaaetanga e pa ana ki nga whakaaetanga o naianei, ka taea e koe te whakamahi chmod i roto i te aratau whanaunga. Te whakamahi chmod i roto i te aratau whanaunga ka mahi koe me nga tohu e toru hei tohu i taau e hiahia ana:

  1. Tuatahi whakapūtā koe ko wai e hiahia ana koe ki te huri whakaaetanga. Hei mahi i tenei ka taea e koe te whiriwhiri i waenga i te kaiwhakamahi (u), roopu (g) me etahi atu (o).
  2. Ka whakamahi koe i te korero ki te taapiri, ki te tango ranei i nga whakaaetanga mai i te aratau o naianei, ki te tautuhi ranei.
  3. I te mutunga ka whakamahia e koe r, w и xhei whakapūtā ko ēhea whakaaetanga ka hiahia koe ki te tautuhi.

Ina huri i nga whakaaetanga i roto i te aratau whanaunga, ka taea e koe te peke i te waahanga "ki" ki te taapiri, ki te tango ranei i te whakaaetanga mo nga mea katoa. Hei tauira, ka taapirihia e tenei whakahau te whakamana whakaaetanga mo nga kaiwhakamahi katoa:

chmod +x somefile

A, no te mahi i roto i te aratau whanaunga, ka taea hoki e koe te whakamahi i nga whakahau uaua ake. Hei tauira, ka taapirihia e tenei whakahau te whakaaetanga tuhi ki tetahi roopu me te tango whakaaetanga panui mo etahi atu:

chmod g+w,o-r somefile

A, no te whakamahi chmod -R o+rx /raraunga ka whakatauhia e koe he whakaaetanga mo nga raarangi katoa, me nga konae kei roto i te whaiaronga /data. Hei tautuhi i te whakaaetanga ki runga i nga raarangi anake, kaua ki nga konae, whakamahia chmod -R o+ rX / raraunga.

Ko te pūmatua X ka whakarite kia kore nga konae e tukuna ki te whakahaere i te whakaaetanga engari mena kua tautuhia e te konae te whakaaetanga whakahaere ki etahi mea. Na tenei ka pai ake a X ki te whakahaere i nga whakaaetanga mahi; ka karo i te whakatakoto i tenei whakaaetanga ki nga konae kaore e hiahiatia.

Motika roa

I tua atu i nga whakaaetanga taketake ka panuihia e koe, kei a Linux ano he huinga whakaaetanga matatau. Ehara enei i nga whakaaetanga kua tautuhia e koe ma te taunoa, engari i etahi wa ka hoatu he taapiri whai hua. I tenei wahanga ka ako koe he aha aua mea me pehea te whakarite.

Te mohio ki te SUID, ki te GUID me te moka whakapiri moka whakaroa

E toru nga whakataunga matatau. Ko te mea tuatahi ko te Whakaaetanga Tautuhi Kaiwhakamahi ID (SUID). I etahi wa motuhake, ka hiahia pea koe ki te tono i tenei whakaaetanga ki nga konae kawe. Ma te taunoa, ko te kaiwhakamahi e whakahaere ana i te whakahaere ka whakahaere i taua konae me o raatau ake whakaaetanga.

Mo nga kaiwhakamahi auau, ko te tikanga he iti noa te whakamahinga o te papatono. Heoi, i etahi wa, me whai whakaaetanga motuhake te kaiwhakamahi ki te mahi i tetahi mahi motuhake.

Whakaarohia, hei tauira, he ahuatanga e hiahia ana te kaiwhakamahi ki te huri i tana kupuhipa. Hei mahi i tenei, me tuhi te kaiwhakamahi i tana kupuhipa hou ki te konae /etc/shadow. Heoi, kaore tenei konae e taea te tuhi e nga kaiwhakamahi kore-pakiaka:

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

Ko te whakaaetanga SUID he otinga mo tenei raru. I roto i te taputapu /usr/bin/passwd, ka tukuna tenei whakaaetanga ma te taunoa. Ko te tikanga ka hurihia te kupuhipa, ka whiwhi te kaiwhakamahi i nga mana pakiaka mo te wa poto, ka taea e ia te tuhi ki te konae /etc/shadow. Ka taea e koe te kite i te whakaaetanga SUID me waiho pehea s i roto i te waahi ka tumanako koe ka kite koe x mo nga whakaaetanga ritenga:

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

Ko te whakaaetanga SUID ka whai hua pea (i etahi wa ka whai hua), engari he kino ano pea. Ki te he te whakamahi, ka tukuna pea e koe nga whakaaetanga pakiaka. Na reira, ka tūtohu ahau ki te whakamahi anake me te tino tupato.

Ko te nuinga o nga kaiwhakahaere kare rawa e hiahia ki te whakamahi; ka kite noa koe i roto i etahi konae me tautuhi te punaha whakahaere ma te taunoa.

Ko te whakaaetanga motuhake tuarua ko te ID Rōpū (SGID). E rua nga paanga o tenei whakaaetanga. Ina hoatu ki tetahi konae ka taea te whakahaere, ka hoatu ki te kaiwhakamahi e whakahaere ana i te konae nga whakaaetanga a te rangatira roopu o taua konae. Na ka taea e SGID te mahi i te mea rite ki te SUID. Heoi, kare e whakamahia te SGID mo tenei kaupapa.

Pērā i te whakaaetanga SUID, ka tukuna te SGID ki etahi konae punaha hei tautuhinga taunoa.

Ina hoatu ki tetahi whaiaronga, ka whai hua te SGID na te mea ka taea e koe te whakamahi hei tautuhi i te rangatira o te roopu taunoa mo nga konae me nga raarangiroto i hangaia i taua raarangi. Ma te taunoa, ka hangaia e te kaiwhakamahi he konae, ka whakatauhia tana roopu tuatahi whai hua hei rangatira roopu mo taua konae.

Ehara tenei i te mea tino whai hua i nga wa katoa, ina koa ko nga kaiwhakamahi Red Hat/CentOS kei a raatau roopu tuatahi ki te roopu e rite ana te ingoa ki te kaiwhakamahi, a ko te kaiwhakamahi anake te mema. No reira, ma te taunoa, ko nga konae ka hangaia e te kaiwhakamahi ka tohatoha roopu.

Whakaarohia he ahuatanga e mahi ana nga kaiwhakamahi a linda me lori ki te mahi kaute, he mema o te roopu pūkete. Ma te taunoa, he mema enei kaiwhakamahi no tetahi roopu motuhake ko ratou anake te mema. Heoi, ko nga kaiwhakamahi e rua he mema o te roopu kaute, engari ano he tawhā roopu tuarua.

Ko te ahuatanga taunoa ko te wa ka hangaia e tetahi o enei kaiwhakamahi he konae, ko te roopu tuatahi te rangatira. Na reira, ma te taunoa, kaore e taea e linda te uru atu ki nga konae i hangaia e lori, me te rereke. Heoi, ki te hanga koe i tetahi raarangi roopu roopu (me kii / roopu / kaute) me te whakarite ka tukuna te whakaaetanga SGID ki taua raarangi ka whakatauhia te kaute roopu ki te Kaipupuri Rōpū mo taua raarangi, ko nga konae katoa i hangaia i roto i taua raarangi me ona waahanga katoa. subdirectories , whiwhi hoki i te kaute roopu hei rangatira roopu taunoa.

Mo konei, ko te whakaaetanga SGID he whakaaetanga tino whai hua ki te whakauru ki runga i nga raarangi roopu roopu.

Ka whakaatuhia te whakaaetanga SGID i te putanga waiho pehea s i te waahi ka kitea e koe te whakaaetanga mahi roopu:

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

Ko te tuatoru o nga whakaaetanga motuhake he moka piri. He pai tenei whakaaetanga mo te tiaki i nga konae mai i te mukunga ohorere i roto i te taiao e whai uru atu ai nga kaiwhakamahi maha ki te raarangi kotahi. Mena ka whakamahia te moka piri, ka taea e te kaiwhakamahi te muku i tetahi konae mena ko ia te kaipupuri o te konae, te whaiaronga ranei kei roto te konae. Mo konei, ko te whakaaetanga taunoa mo te whaiaronga /tmp ka whai hua ano mo nga raarangi roopu roopu.

Ki te kore te moka piri, mena ka taea e te kaiwhakamahi te hanga i nga konae ki roto i te raarangi, ka taea hoki te muku i nga konae mai i taua raarangi. I roto i te taiao roopu-a-iwi ka tino hoha tenei. Whakaarohia nga kaiwhakamahi a linda raua ko lori, kei a raua tokorua te tuhi whakaaetanga ki te raarangi /data/kaute me te whiwhi i enei whakaaetanga ma te whakauru ki te roopu kaute. Na reira, ka taea e linda te whakakore i nga konae i hangaia e lori, me te rereke.

Ina tono koe i te moka piri, ka taea e te kaiwhakamahi te muku i nga konae mena he pono tetahi o nga tikanga e whai ake nei:

  • Ko te kaiwhakamahi te rangatira o te konae;
  • Ko te kaiwhakamahi te rangatira o te whaiaronga kei reira te konae.

A, no te whakamahi waiho, ka kite koe i te ahua piri t i te waahi ka kite koe i te mahi whakaaetanga mo etahi atu:

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

Te tono motika whakaroa

Hei tono SUID, SGID me te moka piri ka taea hoki e koe te whakamahi chmod. Ko te uara tau a SUID he 4, he uara tau te SGID he 2, he uara tau 1 te moka whakapiripiri.

Mena kei te pirangi koe ki te tono i enei whakaaetanga me taapiri he tohenga tohu e wha ki chmod, ko te mati tuatahi e pa ana ki nga whakaaetanga motuhake. Ko te rarangi e whai ake nei, hei tauira, ka taapirihia te whakaaetanga SGID ki te raarangi me te tautuhi rwx mo te kaiwhakamahi me te rx mo te roopu me etahi atu:

chmod 2755 /somedir

He tino uaua tenei mena ka hiahia koe ki te kite i nga whakaaetanga o naianei kua whakaritea i mua i te mahi chmod i roto i te aratau tino. (Kei te tupono koe ki te tuhirua i nga whakaaetanga mena kare koe e mahi i tenei.) Na reira ka tūtohu ahau kia mahi i roto i te aratau whanaunga mena ka hiahia koe ki te tono i tetahi o nga whakaaetanga motuhake:

  1. Mo te whakamahi SUID chmod u+s.
  2. Mo te whakamahi SGID chmod g+s.
  3. Mo te whakamahi moka piri chmod +twhai muri ko te ingoa o te konae, o te whaiaronga ranei e hiahia ana koe ki te whakarite whakaaetanga.

Ka whakarāpopotohia e te ripanga nga mea katoa e tika ana kia mohio koe mo te whakahaere whakaaetanga motuhake.

Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

He tauira mo te mahi me nga mana motuhake

I tenei tauira, ka whakamahi koe i nga whakaaetanga motuhake kia ngawari ake ai nga mema o te roopu ki te tiri i nga konae kei roto i te raarangi roopu roopu. Ka tautapa koe i te moka ID o te ID roopu huinga tae atu ki te moka piri, ka kite ka oti te whakarite, ka taapirihia nga ahuatanga kia ngawari ake te mahi tahi a nga mema o te roopu.

  1. Whakatuwherahia he tauranga kei reira koe te kaiwhakamahi linda. Ka taea e koe te hanga i tetahi kaiwhakamahi me te whakahau Linda, tāpiri kupuhipa passwd Linda.
  2. Waihangahia he whaiaronga /raraunga i roto i te pakiaka me te /raraunga/hokonga-roto me te whakahau mkdir -p / raraunga / hoko. Whakamatea cd / raraunga / hokoki te haere ki te raarangi hoko. Whakamatea pa ki linda1 и pa ki linda2ki te hanga i nga konae putunga e rua na linda.
  3. Rere su-lisa ki te huri i te kaiwhakamahi o naianei ki te kaiwhakamahi lisa, he mema ano o te roopu hoko.
  4. Rere cd / raraunga / hoko mai i tenei whaiaronga rere waiho. Ka kite koe i nga konae e rua i hangaia e te kaiwhakamahi linda, no te roopu linda. Whakamatea rm -f linda*. Ka mukua nga konae e rua.
  5. Rere pa lisa1 и pa lisa2ki te hanga i nga konae e rua na te kaiwhakamahi lisa.
  6. Rere su— ki te whakanui ake i o mana ki te pakiaka.
  7. Rere chmod g+s,o+t /raraunga/hokoki te tautuhi i te moka tautuhi roopu (GUID) tae atu ki te moka piri ki te raarangi roopu roopu.
  8. Rere su-linda. Na ka mahi pa ki linda3 и pa ki linda4. Me kite koe inaianei ko nga konae e rua i hanga e koe na te roopu hoko, ko ia te rangatira o te raarangi /data/hoko.
  9. Rere rm -rf lisa*. Ko te bit sticky te aukati i te mukunga o enei konae hei linda kaiwhakamahi na te mea ehara koe i te rangatira o enei konae. Kia mahara mena ko te kaiwhakamahi linda te rangatira o te raarangi /data/hoko, ka taea e ia te muku i enei konae!

Whakahaerenga ACL (setfacl, getfacl) i Linux

Ahakoa ko nga whakaaetanga matatau kua korerohia i runga ake nei ka taapiri atu i nga mahi whaihua ki te whakahaere a Linux i nga whakaaetanga, kaore koe e whakaae ki te tuku whakaaetanga ki nga kaiwhakamahi neke atu i te kotahi roopu ranei i runga i te konae kotahi.

Ko nga rarangi mana uru e tuku ana i tenei mahi. Ka tuku hoki i nga kaiwhakahaere ki te tautuhi i nga whakaaetanga taunoa i roto i nga tikanga uaua ka rereke nga whakaaetanga i waenga i nga raarangi.

Te mohio ki nga ACL

Ahakoa ka taapirihia e te punaha iti ACL nga mahi nui ki to tuumau, kotahi ano te raru: kaore nga taputapu katoa e tautoko ana. Na reira, ka ngaro pea koe i nga tautuhinga ACL i te wa e kape ana, e neke ana ranei i nga konae, a ka kore pea e taea e te rorohiko te whakahoki nga tautuhinga ACL.

Kaore te taputapu tar e tautoko i nga ACL. Kia kore ai e ngaro nga tautuhinga ACL i te wa e hanga ana he taapiri, whakamahia whetu hei utu tara. whetu ka mahi me nga tawhā rite ki te ta; ka taapiri noa i te tautoko mo nga tautuhinga ACL.

Ka taea hoki e koe te whakahoki i te ACL ma te whakamahi getfacl, ka taea te whakahoki mai ma te whakamahi i te whakahau setfacl. Hei waihanga i te taapiri, whakamahia getfacl -R / whaiaronga > file.acls. Hei whakaora i nga tautuhinga mai i te konae taapiri, whakamahia setfacl --restore=file.acl.

Ko te kore tautoko mo etahi taputapu kare he raru. He maha nga wa ka whakamahia nga ACL ki nga raarangi hei ine hanganga, kaua ki nga konae takitahi.
Na reira, karekau he maha o ratou, engari he iti noa, ka whakamahia ki nga waahi maamaa i roto i te punaha konae. No reira, he ngawari noa ki te whakahoki mai i nga ACL taketake i mahi tahi koe, ahakoa kaore e tautokohia e to rorohiko.

Te whakarite i te punaha konae mo nga ACL

I mua i to tiimata ki te mahi me nga ACL, ka hiahia pea koe ki te whakarite i to punaha konae hei tautoko i nga ACL. Na te mea me whakaroahia nga metadata punaha konae, kaore he tautoko taunoa mo nga ACL i runga i te punaha konae. Mena ka whiwhi koe i te karere "kaore i tautokona" i te wa e whirihora ana i nga ACL mo te punaha konae, kaore pea to punaha konae e tautoko i nga ACL.

Hei whakatika i tenei ka hiahia koe ki te taapiri i te whiringa Maunga acl i roto i te kōnae /etc/fstab kia mau ai te punaha konae me te tautoko ACL ma te taunoa.

Te huri me te tiro i nga tautuhinga ACL ma te whakamahi i te setfacl me te getfacl

Hei tautuhi i te ACL ka hiahia koe ki te whakahau setfacl. Hei kite i nga tautuhinga ACL o naianei e hiahia ana koe getfacl. Kapa waiho kaore e whakaatu ana i nga ACL o naianei; ka whakaatu noa he + i muri i te rarangi whakaaetanga, e tohu ana ka pa ano nga ACL ki te konae.

I mua i te whirihora i nga ACL, he pai tonu te whakaatu i nga tautuhinga ACL o naianei ma te whakamahi getfacl. Kei raro te tauira ka taea e koe te kite i nga whakaaetanga o naianei e whakaatuhia ana waiho, me te whakaatu ano hoki me getfacl. Mena ka ata titiro koe, ka kite koe he rite tonu nga korero e whakaatuhia ana.

[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

Ko te hua o te whakahaere i te whakahau getfacl Kei raro ka kite koe ka whakaatuhia nga whakaaetanga mo nga mea rereke e toru: te kaiwhakamahi, te roopu me etahi atu. Inaianei me taapiri he ACL hei tuku panui me te whakahaere whakaaetanga ki te roopu hoko. Ko te whakahau mo tenei setfacl -mg: hoko: rx / dir. I runga i tenei kapa -m e tohu ana me huri nga tautuhinga ACL o naianei. I muri i tera g:hoko:rx ka korero ki te whakahau ki te whakarite panui me te mahi ACL (rx) mo te roopu (g) hoko. Kei raro ka kite koe i te ahua o te whakahau, me te putanga o te whakahau getfacl i muri i te whakarereketanga o nga tautuhinga ACL o naianei.

[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

Inaianei kua mohio koe ki te whakatakoto i te roopu ACL, he ngawari ki te mohio ki nga ACL mo nga kaiwhakamahi me etahi atu kaiwhakamahi. Hei tauira, ko te whakahau setfacl -mu: linda: rwx / raraunga Ka tuku whakaaetanga ki te kaiwhakamahi linda i roto i te whaiaronga /data me te kore e waiho ko ia te rangatira, te whakarereke ranei i te taumahi a te rangatira o naianei.

rōpū setfacl he maha nga ahuatanga me nga whiringa. Ko tetahi waahanga he mea tino nui, ko te tawhā -R. Mēnā ka whakamahia, ko te kōwhiringa ka hanga i te tautuhinga ACL mo nga konae me nga raarangiroto katoa kei roto i te raarangi i tautuhia e koe te ACL. E taunaki ana kia whakamahi tonu i tenei whiringa ka huri ana i nga ACL mo nga raarangi raarangi.

Te mahi me nga ACL Taunoa

Ko tetahi o nga painga o te whakamahi i nga ACL ka taea e koe te tuku whakaaetanga ki nga kaiwhakamahi maha, ki nga roopu ranei i roto i te raarangi. Ko tetahi atu painga ka taea e koe te tuku tuku iho i a koe e mahi ana me te ACL taunoa.

Ma te tautuhi i te ACL taunoa, ka whakatauhia e koe nga whakaaetanga ka whakatauhia ki nga mea hou katoa i hangaia i roto i te raarangi. Kia maumahara kaore te ACL taunoa e whakarereke i nga whakaaetanga o nga konae me nga raarangi iti. Hei huri i a raatau, me taapiri ano he ACL auau!

He mea nui tenei kia mohio. Ki te hiahia koe ki te whakamahi i te ACL ki te whirihora i nga kaiwhakamahi maha, i nga roopu ranei kia uru atu ki te raarangi kotahi, me whakarite e koe te ACL kia rua. Te whakamahi tuatahi setfacl -R -mki te huri i te ACL mo nga konae o naianei. Na ka whakamahi setfacl -md:ki te tiaki i nga mea hou katoa ka mahia ano.

Hei tautuhi i te ACL taunoa me taapiri noa koe i te whiringa d i muri i te kōwhiringa -m (he mea nui te ota!). Na whakamahia setfacl -md:g:hoko:rx /dataMena kei te pirangi koe ki nga hoko roopu ki te panui me te mahi i nga mea katoa ka mahia i roto i te raarangi /data.

Ina whakamahi ana i nga ACL taunoa, ka whai hua pea te whakarite ACL mo etahi atu. I te nuinga o te wa kaore tenei i te tino mohio na te mea ka taea e koe te whakarereke i nga whakaaetanga mo etahi atu e whakamahi ana chmod. Heoi, he aha e kore e taea e koe chmod, he tohu i nga motika me tuku ki etahi atu kaiwhakamahi mo ia konae hou ka hangaia. Mena kei te pirangi koe ki te aukati i etahi atu kia kore e whiwhi whakaaetanga mo nga mea katoa i hangaia i roto i /data, hei tauira, whakamahia setfacl -md:o::- /raraunga.

Ko nga ACL me nga whakaaetanga auau kaore i te pai te whakakotahi. Ka puta ake he raru mena ka tono koe i te ACL taunoa ki tetahi raarangi whai muri i te taapiri i nga mea ki taua raarangi, katahi ka ngana ki te huri i nga whakaaetanga noa. Ko nga huringa e pa ana ki nga whakaaetanga auau ka kore e tino kitea i roto i te tirohanga ACL. Hei karo i nga raruraru, tuatahi tautuhia nga whakaaetanga noa, katahi ka tautuhi i nga ACL taunoa (a muri iho, kaua e huri ano).

He tauira mo te whakahaere motika whanui ma te whakamahi i nga ACL

I tenei tauira, ka mahi tonu koe me nga raarangi /data/kaute me te /raraunga/hoko i hanga e koe i mua. I nga tauira o mua, i whakarite koe he whakaaetanga to te roopu hoko ki te /raraunga/hoko me te roopu kaute he whakaaetanga ki te /raraunga/kaute.

Tuatahi, kia mohio kua panuihia e te roopu kaute nga whakaaetanga i runga i te raarangi / raraunga/hoko, kua panuihia e te roopu hoko nga whakaaetanga ki te raarangi / raraunga/kaute.

Ka tautuhia e koe nga ACL taunoa hei whakarite kia tika nga konae hou katoa ki nga mea hou katoa.

  1. Whakatuwheratia he tauranga.
  2. Rere setfacl -mg:account:rx /data/sales и setfacl -mg:hoko:rx /data/account.
  3. Rere getfaclkia mohio kua whakaritea nga whakaaetanga kia rite ki taau e hiahia ana.
  4. Rere setfacl -md:g:pūkete:rwx,g:hoko:rx /raraunga/hokohei tautuhi i te ACL taunoa mo te raarangi hoko.
  5. Tāpirihia he ACL taunoa mo te whaiaronga / raraunga/pūkete e whakamahi ana setfacl -md:g:hoko:rwx,g:pūkete:rx /raraunga/pūkete.
  6. Manatokohia kei te whai mana o tautuhinga ACL ma te taapiri i tetahi konae hou ki /data/hoko. Whakamatea pa / raraunga / hoko / konae hou ka mahia getfacl /data/sales/newfile ki te tirotiro i nga whakaaetanga o naianei.

Te tautuhi i nga whakaaetanga taunoa ma te whakamahi umask

I runga ake i a koe i ako me pehea te mahi me nga ACL taunoa. Ki te kore koe e whakamahi i te ACL, he whiringa anga hei whakatau i nga whakaaetanga taunoa ka whiwhi koe: umask (whakamuri kanohi). I tenei waahanga, ka ako koe me pehea te whakarereke i nga whakaaetanga taunoa ma te whakamahi umask.

Kua kite pea koe i te wa e hanga ana koe i tetahi konae hou, kua whakaritea etahi whakaaetanga taunoa. Ko enei whakaaetanga ka whakatauhia e te tautuhinga umask. Ko tenei tautuhinga anga ka pa ki nga kaiwhakamahi katoa i te takiuru. I roto i te tawhā umask ka whakamahia he uara tau ka tangohia mai i te nui o nga whakaaetanga ka taea te tautuhi aunoa mo te konae; Ko te 666 te tautuhinga teitei mo nga konae, mo nga raarangi ko te 777.

Heoi ano, ka pa etahi tuunga ki tenei ture. Ka kitea e koe he tirohanga katoa o nga tautuhinga umask i te ripanga i raro nei.

Mai i nga tau i whakamahia i roto umask, pera me nga tohenga tau ki te whakahau chmod, ko te mati tuatahi e pa ana ki nga whakaaetanga a te kaiwhakamahi, ko te mati tuarua e pa ana ki nga whakaaetanga a te roopu, ko te whakamutunga e pa ana ki nga whakaaetanga taunoa kua whakaritea mo etahi atu. Te tikanga umask te taunoa 022 homai 644 mo nga kōnae hou katoa me te 755 mo nga whaiaronga hou katoa i hanga i runga i to tūmau.

Katoa te tirohanga o nga uara tau katoa umask me o ratou hua i te ripanga i raro nei.

Whakaaetanga i Linux (chown, chmod, SUID, GUID, moka piri, ACL, umask)

He huarahi ngawari ki te kite i te mahi o te tautuhinga umask e whai ake nei: timata me nga whakaaetanga konae taunoa kua tautuhia ki te 666 ka tango i te umask kia whiwhi whakaaetanga whai hua. Me pena ano mo te whaiaronga me ona whakaaetanga taunoa o 777.

E rua nga huarahi hei whakarereke i te tautuhinga umask: mo nga kaiwhakamahi katoa me nga kaiwhakamahi takitahi. Mena kei te pirangi koe ki te whakarite umask mo nga kaiwhakamahi katoa, me whakarite kia whakautehia te tautuhinga umask i te wa e whakahaere ana i nga konae taiao anga, kua tohua ki /etc/profile. Ko te huarahi tika ko te hanga tuhinga anga e kiia nei ko umask.sh i roto i te whaiaronga /etc/profile.d me te tohu i te umask e hiahia ana koe ki te whakamahi i taua tuhinga anga. Mena ka hurihia te umask i roto i tenei konae, ka tukuna ki nga kaiwhakamahi katoa i muri i te takiuru ki te tūmau.

He rereke ki te whakatakoto umask i roto i te /etc/profile me nga konae e pa ana, ka pa ana ki nga kaiwhakamahi katoa e takiuru ana, ko te whakarereke i nga tautuhinga umask i roto i te konae e kiia nei ko .profile, ka hangaia i roto i te raarangi kaainga o ia kaiwhakamahi.

Ko nga tautuhinga i tukuna ki tenei konae ka pa ki te kaiwhakamahi takitahi; no reira, he tikanga pai tenei mena ka hiahia koe ki etahi atu korero. He pai ki ahau tenei ahuatanga ki te huri i te umask taunoa o te kaiwhakamahi pakiaka ki te 027, engari ko nga kaiwhakamahi noa e mahi ana me te umask taunoa o 022.

Te mahi me nga huanga kaiwhakamahi roa

Koinei te waahanga whakamutunga mo nga whakaaetanga Linux.

I te wa e mahi ana me nga whakaaetanga, he hononga tonu kei waenga i tetahi kaiwhakamahi, ahanoa roopu ranei me nga whakaaetanga kei runga i te konae, i te raarangi ranei o aua mea kaiwhakamahi, roopu roopu ranei. Ko tetahi atu tikanga mo te tiaki i nga konae kei runga i te tūmau Linux ko te mahi me nga huanga.
Ka mahi nga huanga ahakoa te kaiwhakamahi e uru ana ki te konae.

Pērā i ngā ACL, me whakahohe ngā huanga kōnae. maunga.

He whiringa tenei kaiwhakamahi_xattr. Mena ka whiwhi koe i te karere "kaore i te tautokona" i a koe e mahi ana me nga huanga kaiwhakamahi roa, me whakarite te maunga i roto i te kōnae /etc/fstab.

He maha nga huanga kua tuhia. Kei te waatea etahi huanga engari kaore ano kia whakatinanahia. Kaua e whakamahia; e kore ratou e kawe mai ki a koe.

Kei raro nei nga huanga tino whaihua ka taea e koe te tono:

A Ma tenei huanga ka kore e huri te wa uru o te konae.
Ko te tikanga, i nga wa katoa ka whakatuwherahia he konae, me tuhi te wa i uru atu ai te konae ki nga metadata o te konae. Ka pa kino tenei ki te mahi; no reira, mo nga konae ka uru i nga wa katoa, ko te huanga A Ka taea te whakamahi ki te whakakore i tenei waahanga.

a Ma tenei huanga ka taea e koe te taapiri, engari kaua e muku, he konae.

c Mēnā kei te whakamahi koe i tētahi pūnaha kōnae e tautoko ana i te kōpeketanga taumata rōrahi, mā tēnei huanga kōnae ka kōpeke te kōnae i te wa tuatahi ka whakahohehia te pūkaha kōpeke.

D Ko tenei huanga ka whakarite kia tuhia nga huringa ki nga konae ki te kōpae i te wa tonu, kaua ki te keteroki tuatahi. He huanga whai hua tenei mo nga konae raraunga nui hei whakarite kia kore e ngaro i waenga i te keteroki konae me te puku pakeke.

d Ma tenei huanga ka kore e tiakina te konae ki nga taapiri kei te whakamahia te taputapu putunga.

I Ka taea e tenei huanga te taupū mo te whaiaronga e taea ai. Ma tenei ka tere ake te uru ki te konae mo nga punaha konae taketake penei i te Ext3, kaore e whakamahi ana i te papaaarangi B-rakau mo te uru tere ki te konae.

i Ma tenei huanga ka kore e huri te konae. Na reira, kaore e taea te whakarereke i te konae, he pai mo nga konae e hiahia ana ki te whakamarumaru atu.

j Ko tenei huanga ka whakarite i runga i te punaha konae ext3, ka tuhi tuatahi te konae ki te hautaka, katahi ki nga paraka raraunga kei runga i te kōpae mārō.

s Tuhia nga poraka i tiakina ai te konae mo te 0 s i muri i te mukunga o te konae. Ma tenei ka kore e taea te whakahoki mai i te konae ina kua mukua.

u Ko tenei huanga ka rongoa i nga korero mo te whakakorenga. Ma tenei ka taea e koe te hanga taputapu e mahi ana me enei korero hei whakaora i nga konae kua mukua.

Mena kei te hiahia koe ki te tono huanga ka taea e koe te whakamahi i te whakahau korerorero. Hei tauira, whakamahia chattr +s somefileki te hoatu huanga ki etahi kōnae. Me tango tetahi huanga? Na ka whakamahi chattr -s somefile, a ka mukua. Kia kite i nga huanga katoa e whakamahia ana i tenei wa, whakamahia te tono lsattr.

Whakarāpopoto

I roto i tenei tuhinga, i ako koe me pehea te mahi me nga whakaaetanga. Ka panui koe mo nga whakaaetanga taketake e toru, nga whakaaetanga matatau, me te whakamahi i nga ACL i runga i te punaha konae. I ako ano koe me pehea te whakamahi i te tawhā umask hei tono whakaaetanga taunoa. I te mutunga o tenei tuhinga, i ako koe me pehea te whakamahi i nga huanga kua toroa-kaiwhakamahi ki te tono i tetahi paparanga taapiri o te haumarutanga punaha konae.

Mena i pai ki a koe tenei whakamaoritanga, tuhia mai ki roto i nga korero. Ka nui ake te hihiri ki te mahi whakamaoritanga whai hua.

I whakatikahia e au etahi hapa me nga hapa wetereo i roto i te tuhinga. Whakaitihia etahi kowae rahi kia iti ake kia ngawari ake te panui.

Engari "Ko te tangata anake e whai mana whakahaere ana ki te whaiaronga ka taea te tono whakaaetanga." kua whakatikahia ki "Ko te tangata anake e uru ana ki te tuhi ki te raarangi ka taea te tono whakaaetanga.", ka tika ake.

Nga mihi mo nga korero berez.

Kua whakakapia:
Mena ehara koe i te rangatira o te kaiwhakamahi, ka tirohia e te anga mena he mema koe o te roopu, ka kiia ko te roopu o te konae.

I runga i te:
Mena ehara koe i te rangatira o te konae, ka tirohia e te anga mena he mema koe no te roopu e whai mana ana ki te konae. Mena he mema koe no tenei roopu, ka uru koe ki te konae me nga whakaaetanga kua whakaritea mo te roopu, ka mutu te tirotiro a te anga.

Mauruuru koe mo to korero CryptoPirate

Source: will.com

Tāpiri i te kōrero