Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Kumusta tanan. Kini usa ka hubad sa usa ka artikulo gikan sa libro nga RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 ug EX300.

Iduso: Nanghinaut ko nga ang artikulo mahimong mapuslanon dili lamang alang sa mga nagsugod, apan makatabang usab sa mas eksperyensiyadong mga tigdumala sa pagpahapsay sa ilang kahibalo.

Mao na ningpadayon ta.

Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Aron ma-access ang mga file sa Linux, gigamit ang mga pagtugot. Kini nga mga permiso gi-assign sa tulo ka mga butang: ang tag-iya sa file, ang tag-iya sa grupo, ug laing butang (nga mao, ang tanan). Niini nga artikulo, mahibal-an nimo kung giunsa ang paggamit sa mga pagtugot.

Kini nga artikulo nagsugod sa usa ka kinatibuk-ang ideya sa mga batakang konsepto, gisundan sa usa ka diskusyon sa Espesyal nga mga permiso ug Access Control Lists (ACLs). Sa katapusan niining artikuloha, among gisakup ang pagtakda sa mga default nga permiso pinaagi sa umask, ingon man ang pagdumala sa gipalapdan nga mga hiyas sa tiggamit.

Pagdumala sa pagpanag-iya sa file

Sa dili pa maghisgot sa mga permiso, kinahanglang mahibalo ka sa papel sa tag-iya sa file ug direktoryo. Ang pagpanag-iya sa mga file ug mga direktoryo hinungdanon sa pag-atubang sa mga pagtugot. Niini nga seksyon, mahibal-an nimo una kung giunsa nimo makita ang tag-iya. Makakat-on ka dayon kung giunsa pagbag-o ang tag-iya sa grupo ug tiggamit alang sa mga file ug direktoryo.

Pagpakita sa tag-iya sa usa ka file o direktoryo

Sa Linux, ang matag file ug matag direktoryo adunay duha ka tag-iya: usa ka user ug tag-iya sa grupo.

Kini nga mga tag-iya gitakda kung ang usa ka file o direktoryo gihimo. Ang user nga nagmugna sa file mahimong tag-iya sa file, ug ang nag-unang grupo nga sakop sa parehas nga user mahimo usab nga tag-iya sa file. Aron mahibal-an kung ikaw, isip usa ka tiggamit, adunay pagtugot sa pag-access sa usa ka file o direktoryo, ang shell nagsusi sa pagpanag-iya.

Kini mahitabo sa mosunod nga han-ay:

  1. Ang kabhang nagsusi aron makita kung ikaw ang tag-iya sa file nga gusto nimong ma-access. Kung ikaw ang tag-iya, makakuha ka mga pagtugot ug ang kabhang mohunong sa pagsusi.
  2. Kung dili ikaw ang tag-iya sa file, susihon sa shell kung miyembro ka sa usa ka grupo nga adunay pagtugot sa file. Kung miyembro ka niini nga grupo, ma-access nimo ang file nga adunay mga pagtugot nga gitakda sa grupo, ug ang kabhang mohunong sa pagsusi.
  3. Kung dili ka usa ka tiggamit o tag-iya sa usa ka grupo, gihatagan ka sa mga katungod sa ubang mga tiggamit (Uban pa).

Aron makita ang kasamtangan nga mga assignment sa tag-iya, mahimo nimong gamiton ang command ls -l. Kini nga sugo nagpakita sa tiggamit ug tag-iya sa grupo. Sa ubos makita nimo ang mga setting sa tag-iya alang sa mga direktoryo sa / home directory.

[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

Paggamit sa mando ls mahimo nimong ipakita ang tag-iya sa mga file sa gihatag nga direktoryo. Usahay mahimong mapuslanon ang pagkuha sa usa ka lista sa tanan nga mga file sa sistema nga adunay gihatag nga tiggamit o grupo ingon tag-iya. Alang niini mahimo nimong gamiton sa pagpangita sa. Pangatarungan pagpangita-gamit mahimong gamiton alang niini nga katuyoan. Pananglitan, ang mosunod nga sugo naglista sa tanang mga file nga gipanag-iya sa user nga si linda:

find / -user linda

Mahimo usab nimo gamiton sa pagpangita sa sa pagpangita sa mga file nga adunay usa ka grupo nga ilang tag-iya.

Pananglitan, ang mosunod nga sugo nangita sa tanang mga file nga iya sa grupo tiggamit:

find / -group users

Pagbag-o sa pagpanag-iya

Aron magamit ang angay nga mga pagtugot, ang una nga butang nga ikonsiderar mao ang pagpanag-iya. Adunay usa ka sugo alang niini chown. Ang syntax niini nga sugo sayon ​​sabton:

chown ΠΊΡ‚ΠΎ Ρ‡Ρ‚ΠΎ

Pananglitan, ang mosunod nga sugo nag-usab sa tag-iya sa /home/account directory ngadto sa user linda:

chown linda /home/account

team chown adunay daghang mga kapilian, usa niini labi ka mapuslanon: -R. Mahimo nimong tag-an kung unsa ang gibuhat niini tungod kay kini nga kapilian magamit usab alang sa daghang uban pang mga mando. Kini nagtugot kanimo sa recursively set sa tag-iya, nga nagtugot kanimo sa pag-set sa tag-iya sa kasamtangan nga direktoryo ug ang tanan sa ubos. Ang mosunod nga sugo nagbag-o sa pagpanag-iya sa / home directory ug ang tanan nga anaa sa ubos niini ngadto sa linda user:

Karon ang mga tag-iya tan-awon sama niini:

[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

Buhaton nato:

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

Karon ang user nga si lisa nahimong tag-iya sa direktoryo sa account:

[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

Usba ang tag-iya sa usa ka grupo

Adunay duha ka paagi aron mabag-o ang pagpanag-iya sa usa ka grupo. Mahimo nimo kini gamit ang chown, apan adunay espesyal nga sugo nga ginganlan chgrpnga nagabuhat sa trabaho. Kung gusto nimo gamiton ang command chown, gamita . o : atubangan sa ngalan sa grupo.

Ang mosunod nga sugo nag-usab sa bisan kinsa nga tag-iya sa /home/account group ngadto sa account group:

chown .account /home/account

mahimo nimo gamiton chown aron usbon ang tag-iya sa usa ka user ug/o grupo sa daghang paagi. Ania ang pipila ka mga pananglitan:

  • chown lisa myfile1 nagtakda sa user nga si lisa isip tag-iya sa myfile1.
  • chown lisa.sales myfile nagbutang sa user nga si lisa isip tag-iya sa myfile file, ug nagtakda usab sa sales group isip tag-iya sa samang file.
  • chown lisa:sales myfile pareho sa nauna nga sugo.
  • chown .sales myfile nagtakda sa grupo sa pagpamaligya ingon nga tag-iya sa myfile nga wala usba ang tag-iya sa tiggamit.
  • chown :sales myfile pareho sa nauna nga sugo.

Mahimo nimong gamiton ang mando chgrparon usbon ang tag-iya sa grupo. Tagda ang mosunod nga pananglitan, diin imong magamit chgrp ibutang ang tag-iya sa direktoryo sa account ngadto sa grupo sa pagbaligya:

chgrp .sales /home/account

Ingon sa chown, mahimo nimong gamiton ang kapilian -R с chgrp, ingon man usab sa recursively pag-usab sa tag-iya sa grupo.

Pagsabot sa Default nga Tag-iya

Mahimo nimong namatikdan nga kung ang usa ka tiggamit naghimo usa ka file, ang default nga pagpanag-iya gipadapat.
Ang user nga naghimo sa file awtomatik nga mahimong tag-iya sa maong file, ug ang nag-unang grupo sa maong user awtomatik nga mahimong tag-iya sa maong file. Kasagaran kini ang grupo nga gilista sa /etc/passwd file isip panguna nga grupo sa tiggamit. Bisan pa, kung ang tiggamit usa ka miyembro sa labaw sa usa ka grupo, mahimo’g usbon sa tiggamit ang epektibo nga panguna nga grupo.

Aron ipakita ang kasamtangan nga epektibo nga nag-unang grupo, ang user mahimong mogamit sa sugo mga grupo:

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

Kung gusto sa kasamtangang linda user nga usbon ang epektibo nga primary group, gamiton niya ang command newgrpgisundan sa ngalan sa grupo nga gusto niyang itakda isip bag-ong epektibong pangunang grupo. Human sa paggamit sa sugo newgrp ang nag-unang grupo mahimong aktibo hangtud nga ang user mosulod sa usa ka sugo Paggawas o dili mag log out.

Ang mosunud nagpakita kung giunsa gigamit sa user nga si linda kini nga mando, nga ang pagpamaligya ingon panguna nga grupo:

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

Human mabag-o ang epektibo nga panguna nga grupo, ang tanan nga bag-ong mga file nga gihimo sa tiggamit adunay kana nga grupo ingon ang tag-iya sa grupo. Aron mobalik sa orihinal nga setting sa panguna nga grupo, gamita Paggawas.

Aron makahimo sa paggamit sa sugo newgrp, ang user kinahanglang miyembro sa grupo nga gusto nilang gamiton isip nag-unang grupo. Dugang pa, ang usa ka password sa grupo mahimong magamit alang sa usa ka grupo gamit ang mando gpasswd. Kung gigamit sa user ang command newgrpapan dili miyembro sa target nga grupo, ang kabhang nag-aghat alang sa password sa grupo. Human nimo masulod ang hustong password sa grupo, usa ka bag-ong epektibong pangunang grupo ang matukod.

Pagdumala sa sukaranang katungod

Ang sistema sa pagtugot sa Linux naimbento sa 1970s. Tungod kay ang mga panginahanglan sa pag-compute limitado niadtong mga tuiga, ang batakang sistema sa pagtugot limitado kaayo. Kini nga sistema sa pagtugot naggamit sa tulo ka mga pagtugot nga mahimong magamit sa mga file ug direktoryo. Niini nga seksyon, mahibal-an nimo kung giunsa paggamit ug pagbag-o kini nga mga pagtugot.

Pagsabot sa Pagbasa, Pagsulat, ug Pagpatuman sa mga Permiso

Tulo ka sukaranan nga pagtugot nagtugot kanimo sa pagbasa, pagsulat, ug pag-execute sa mga file. Ang epekto niini nga mga permiso managlahi kung ipadapat sa mga file o direktoryo. Alang sa usa ka file, ang pagtugot sa pagbasa naghatag kanimo katungod sa pag-abli sa file para sa pagbasa. Busa, mahimo nimong mabasa ang sulud niini, apan nagpasabut kana nga mahimo’g ablihan sa imong kompyuter ang file aron mahimo ang usa ka butang niini.

Ang usa ka file sa programa nga nagkinahanglan og access sa usa ka librarya kinahanglan, pananglitan, adunay read access sa maong librarya. Gisundan niini nga ang pagtugot sa pagbasa mao ang labing sukaranan nga pagtugot nga kinahanglan nimo aron magtrabaho sa mga file.

Kung gipadapat sa usa ka direktoryo, ang pagbasa nagtugot kanimo sa pagpakita sa mga sulud sa kana nga direktoryo. Kinahanglan nga imong mahibal-an nga kini nga pagtugot wala magtugot kanimo sa pagbasa sa mga file sa direktoryo. Ang sistema sa pagtugot sa Linux wala mahibal-an ang kabilin, ug ang bugtong paagi sa pagbasa sa usa ka file mao ang paggamit sa mga pagtugot sa pagbasa sa kana nga file.

Sama sa imong matag-an, pagsulat og pagtugot, kung i-apply sa usa ka file, gitugotan ang pagsulat sa file. Sa laing pagkasulti, kini nagtugot kanimo sa pag-usab sa mga sulod sa kasamtangan nga mga file. Bisan pa, wala kini magtugot kanimo sa paghimo o pagtangtang sa mga bag-ong file o pagbag-o sa mga pagtugot sa file. Aron mahimo kini, kinahanglan nimo nga hatagan ang pagtugot sa pagsulat sa direktoryo diin gusto nimo buhaton ang file. Sa mga direktoryo, kini nga pagtugot nagtugot usab kanimo sa paghimo ug pagtangtang sa bag-ong mga subdirektoryo.

Ipatuman ang permiso mao ang imong gikinahanglan aron ma-execute ang file. Dili gayud kini ma-install pinaagi sa default, nga naghimo sa Linux nga halos hingpit nga immune sa mga virus. Usa ra ka tawo nga adunay pagtugot sa pagsulat sa direktoryo ang mahimong magamit ang pagtugot sa pagpatuman.

Ang mosunod nagtingob sa paggamit sa mga batakang permiso:

Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Paggamit sa chmod

Ang sugo gigamit sa pagdumala sa mga permiso. chmod... Paggamit chmod mahimo nimong itakda ang mga permiso para sa user (user), mga grupo (grupo) ug uban pa (uban pa). Mahimo nimong gamiton kini nga sugo sa duha ka mode: relative mode ug absolute mode. Sa absolute mode, tulo ka digit ang gigamit sa pagtakda sa mga batakang permiso.

Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Kung magbutang mga permiso, kuwentaha ang kantidad nga imong gikinahanglan. Kung gusto nimo nga itakda ang pagbasa / pagsulat / pag-execute para sa user, basaha / ipatuman para sa grupo, ug basaha / ipatuman ang uban sa / somefile unya imong gamiton ang mosunod nga sugo chmod:

chmod 755 /somefile

Sa imong paggamit chmod niining paagiha, ang tanang permiso karon gipulihan sa permiso nga imong gitakda.

Kung gusto nimo usbon ang mga permiso kalabot sa mga permiso karon, mahimo nimong gamiton chmod sa relatibong mode. Paggamit chmod sa relatibong mode nagtrabaho ka nga adunay tulo nga mga timailhan aron ipakita kung unsa ang gusto nimong buhaton:

  1. Una imong ipiho kung kinsa ang gusto nimong usbon ang mga pagtugot. Aron mahimo kini, mahimo kang mopili tali sa user (u), grupo (g) ug uban pa (o).
  2. Dayon mogamit ka og pahayag aron idugang o tangtangon ang mga permiso gikan sa kasamtangang mode, o itakda kini sa hingpit.
  3. Sa katapusan imong gamiton r, w ΠΈ xaron matino kung unsang mga permiso ang gusto nimong itakda.

Kung nag-ilis sa mga permiso sa relatibong mode, mahimo nimong laktawan ang "sa" nga bahin aron idugang o tangtangon ang pagtugot alang sa tanan nga mga butang. Pananglitan, kini nga mando nagdugang pagtugot sa pagpatuman alang sa tanan nga tiggamit:

chmod +x somefile

Kung nagtrabaho sa relatibong mode, mahimo usab nimo gamiton ang labi ka komplikado nga mga mando. Pananglitan, kini nga mando nagdugang pagtugot sa pagsulat sa usa ka grupo ug gitangtang ang pagtugot sa pagbasa alang sa uban:

chmod g+w,o-r somefile

Sa paggamit chmod -R o+rx /data imong gitakda ang execute permiso para sa tanang mga direktoryo ingon man mga file sa / data directory. Aron itakda ang pagtugot sa pagpatuman lamang alang sa mga direktoryo ug dili alang sa mga file, gamita chmod -R o+ rX /data.

Ang uppercase nga X nagsiguro nga ang mga file dili makakuha og permiso sa pagpatuman gawas kung ang file nakabutang na og permiso sa pagpatuman sa pipila ka mga butang. Kini naghimo sa X nga mas maalamon nga paagi sa pag-atubang sa pagpatuman sa mga permiso; kini maglikay sa pagbutang niini nga pagtugot sa mga file diin kini wala gikinahanglan.

Gipalapad nga mga katungod

Dugang pa sa mga batakang permiso nga bag-o pa nimong nabasa, ang Linux aduna usab usa ka set sa mga advanced nga permiso. Dili kini ang mga pagtugot nga imong gitakda sa default, apan usahay naghatag kini usa ka mapuslanon nga pagdugang. Niini nga seksyon, mahibal-an nimo kung unsa sila ug kung giunsa kini pag-set up.

Pagsabot sa SUID, GUID, ug Sticky Bit Extended Permissions

Adunay tulo ka mga advanced nga pagtugot. Ang una niini mao ang pagtugot sa pagtakda og user identifier (SUID). Sa pipila ka mga espesyal nga kaso, mahimo nimong magamit kini nga pagtugot sa mga ma-executable nga file. Sa default, ang usa ka user nga nagpadagan sa usa ka executable nagpadagan sa file nga adunay kaugalingon nga pagtugot.

Para sa ordinaryo nga mga tiggamit, kini kasagaran nagpasabot nga ang paggamit sa programa limitado. Bisan pa, sa pipila ka mga kaso, ang tiggamit nanginahanglan espesyal nga pagtugot, aron mahimo ra ang usa ka piho nga buluhaton.

Tagda, pananglitan, ang usa ka sitwasyon diin ang usa ka user kinahanglan nga mag-ilis sa ilang password. Aron mahimo kini, kinahanglan nga isulat sa user ang ilang bag-ong password sa /etc/shadow file. Bisan pa, kini nga payl dili masulat sa mga dili gamut nga tiggamit:

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

Ang pagtugot sa SUID nagtanyag usa ka solusyon sa kini nga problema. Ang /usr/bin/passwd utility naggamit niini nga permiso pinaagi sa default. Kini nagpasabot nga sa pag-usab sa password, ang user temporaryo nga mahimong gamut, nga nagtugot kaniya sa pagsulat sa /etc/shadow file. Makita nimo ang pagtugot sa SUID nga adunay ls -l sa unsa nga paagi s sa usa ka posisyon diin kasagaran imong gipaabut nga makita x para sa custom nga permiso:

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

Ang pagtugot sa SUID mahimong tan-awon nga mapuslanon (ug sa pipila ka mga kaso kini), apan sa samang higayon kini mahimong peligroso. Kung dili magamit sa husto, mahimo nimo nga wala tuyoa nga mahatagan ang mga pagtugot sa gamut. Busa, girekomenda ko ang paggamit niini sa labing kaayo nga pag-atiman.

Kadaghanan sa mga administrador dili na kinahanglan nga mogamit niini; makita ra nimo kini sa pipila ka mga file diin kinahanglan nga itakda kini sa operating system nga default.

Ang ikaduha nga espesyal nga pagtugot mao ang grupo identifier (SGID). Kini nga pagtugot adunay duha ka epekto. Kung gipadapat sa usa ka executable file, kini naghatag sa user nga nagpatuman sa file sa mga pagtugot sa tag-iya sa grupo sa file. Mao nga ang SGID makahimo sa labaw o dili kaayo parehas nga butang sama sa SUID. Bisan pa, ang SGID halos wala gigamit alang niini nga katuyoan.

Sama sa pagtugot sa SUID, ang SGID gipadapat sa pipila ka mga file sa sistema ingon usa ka default setting.

Kung i-apply sa usa ka direktoryo, ang SGID mahimong mapuslanon tungod kay magamit nimo kini aron itakda ang default nga tag-iya sa grupo alang sa mga file ug subdirectory nga gihimo sa kana nga direktoryo. Pinaagi sa default, kung ang usa ka tiggamit maghimo usa ka file, ang ilang epektibo nga panguna nga grupo gitakda isip tag-iya sa grupo alang sa kana nga file.

Dili kini kanunay nga mapuslanon, labi na tungod kay ang mga tiggamit sa Red Hat/CentOS adunay ilang panguna nga grupo nga gitakda sa usa ka grupo nga adunay parehas nga ngalan sa tiggamit, ug diin ang tiggamit mao ra ang miyembro. Sa ingon, pinaagi sa default, ang mga file nga gihimo sa user ipaambit sa kadaghanan.

Hunahunaa ang usa ka sitwasyon diin ang mga tiggamit nga si linda ug lori nagtrabaho sa accounting ug mga miyembro sa usa ka grupo asoy. Sa kasagaran, kini nga mga tiggamit mga miyembro sa usa ka pribado nga grupo diin sila ra ang miyembro. Bisan pa, ang duha nga tiggamit mga miyembro sa grupo sa account, apan ingon usab usa ka parameter sa sekondarya nga grupo.

Ang default nga sitwasyon mao nga kung ang bisan kinsa niini nga mga tiggamit maghimo usa ka file, ang panguna nga grupo mahimong tag-iya. Busa, sa default, dili ma-access ni linda ang mga file nga gihimo ni lori, ug vice versa. Bisan pa, kung maghimo ka usa ka gipaambit nga direktoryo sa grupo (ingon / grupo / account) ug siguruha nga ang pagtugot sa SGID magamit sa kana nga direktoryo ug nga ang account sa grupo gitakda isip tag-iya sa grupo alang sa kana nga direktoryo, ang tanan nga mga file nga gihimo sa kana nga direktoryo ug tanan. sa mga subdirectory niini , kuhaa usab ang grupo nga account isip tag-iya sa grupo pinaagi sa default.

Tungod niini nga hinungdan, ang pagtugot sa SGID usa ka mapuslanon kaayo nga pagtugot nga ibutang sa mga direktoryo sa publiko nga grupo.

Gipakita ang pagtugot sa SGID sa output ls -l sa unsa nga paagi s sa posisyon diin kasagaran ka makakitag permiso sa pag-execute sa usa ka grupo:

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

Ang ikatulo sa mga espesyal nga pagtugot mao ang sticky bit. Kini nga pagtugot mapuslanon alang sa pagpanalipod sa mga file gikan sa aksidenteng pagtangtang sa usa ka palibot diin daghang mga tiggamit adunay access sa pagsulat sa parehas nga direktoryo. Kung gigamit ang usa ka sticky bit, ang usa ka tiggamit mahimo ra nga magtangtang sa usa ka file kung sila ang tag-iya sa tiggamit sa file o direktoryo nga adunay sulud nga file. Tungod niini, gigamit kini isip default nga permiso para sa /tmp nga direktoryo ug mahimong mapuslanon usab sa mga direktoryo sa publikong grupo.

Kung wala ang sticky bit, kung ang user makahimo og mga file sa usa ka direktoryo, mahimo usab nila nga matanggal ang mga file gikan sa kana nga direktoryo. Sa usa ka palibot sa publiko nga grupo, kini mahimong makalagot. Hunahunaa ang mga tiggamit nga si linda ug lori, nga parehong adunay pagtugot sa pagsulat sa direktoryo sa /data/account ug makuha ang mga pagtugot pinaagi sa pagkamiyembro sa grupo sa account. Busa, si linda maka-delete sa mga file nga gihimo ni lori ug vice versa.

Kung imong i-apply ang sticky bit, mahimo ra nga matanggal sa user ang mga file kung tinuod ang usa sa mga mosunod nga kondisyon:

  • Ang user mao ang tag-iya sa file;
  • Ang user mao ang tag-iya sa direktoryo diin nahimutang ang file.

Sa paggamit ls -l, makita nimo ang sticky bit as t sa posisyon diin kasagaran nimo makita ang pagtugot sa pagpatay alang sa uban:

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

Pag-aplikar sa gipalapad nga mga katungod

Aron magamit ang SUID, SGID ug sticky bit mahimo usab nimo gamiton chmod. Ang SUID adunay numeric value nga 4, SGID adunay numeric value nga 2, ug sticky bit adunay numeric value nga 1.

Kung gusto nimo i-apply kini nga mga pagtugot, kinahanglan nimo nga idugang ang upat ka digit nga argumento sa chmod, kansang unang digit nagtumong sa espesyal nga mga permiso. Ang mosunod nga linya, pananglitan, makadugang sa pagtugot sa SGID sa direktoryo ug magtakda sa rwx alang sa user ug rx alang sa grupo ug uban pa:

chmod 2755 /somedir

Dili kini praktikal kung kinahanglan nimo nga makita ang karon nga mga pagtugot nga gitakda sa wala pa magtrabaho chmod sa hingpit nga paagi. (Namiligro ka sa pag-overwrit sa mga permiso kung dili.) Mao nga girekomenda ko ang pagdagan sa relatibong mode kung kinahanglan nimo nga i-apply ang bisan unsang espesyal nga pagtugot:

  1. Alang sa paggamit sa SUID chmod u+s.
  2. Alang sa paggamit sa SGID chmod g+s.
  3. Alang sa sticky bit nga paggamit chmod +t, gisundan sa ngalan sa file o direktoryo nga gusto nimong itakda ang mga permiso.

Ang lamesa nagsumaryo sa tanan nga kinahanglan nimong mahibal-an bahin sa pagdumala sa mga espesyal nga pagtugot.

Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Pananglitan sa pagtrabaho uban sa espesyal nga mga katungod

Sa kini nga pananglitan, mogamit ka mga espesyal nga pagtugot aron mas dali alang sa mga miyembro sa grupo ang pagpaambit sa mga file sa gipaambit nga direktoryo sa grupo. Imong i-assign ang ID bit ngadto sa set group ID ingon man ang sticky bit, ug imong makita nga sa higayon nga kini mabutang, ang mga feature idugang aron mas sayon ​​​​alang sa mga miyembro sa grupo nga magtinabangay.

  1. Ablihi ang usa ka terminal diin ikaw ang linda user. Makahimo ka og user gamit ang command Linda, idugang ang password passwd Linda.
  2. Paghimo sa / data directory sa gamut ug sa / data / sales subdirectory uban sa sugo mkdir -p /data/sales. Kompleto cd /data/salesaron moadto sa direktoryo sa pagbaligya. Kompleto hikap linda1 ΠΈ hikap linda2sa paghimo og duha ka walay sulod nga mga file nga gipanag-iya ni linda.
  3. Pagpatuman su-lisa sa pagbalhin sa kasamtangan nga user ngadto sa user lisa, kinsa mao usab ang usa ka sakop sa sales grupo.
  4. Pagpatuman cd /data/sales ug gikan sa kana nga direktoryo ipatuman ls -l. Makita nimo ang duha ka mga file nga gibuhat sa linda user ug nahisakop sa linda group. Kompleto rm -f linda*. Kini magtangtang sa duha ka mga file.
  5. Pagpatuman hikap lisa1 ΠΈ hikap lisa2sa paghimo sa duha ka mga file nga gipanag-iya sa user lisa.
  6. Pagpatuman su- sa pagpataas sa imong mga pribilehiyo sa gamut.
  7. Pagpatuman chmod g+s,o+t /data/salesaron itakda ang group identifier (GUID) bit ingon man ang sticky bit sa shared group directory.
  8. Pagpatuman su-linda. Unya buhata hikap linda3 ΠΈ hikap linda4. Kinahanglan nimong makita karon nga ang duha ka mga file nga imong gibuhat gipanag-iya sa grupo sa pagbaligya, nga mao ang tag-iya sa grupo sa /data/sales directory.
  9. Pagpatuman rm -rf lisa*. Ang sticky bit nagpugong niini nga mga file nga matangtang alang sa linda user, tungod kay dili ikaw ang tag-iya niini nga mga file. Timan-i nga kung ang linda user mao ang tag-iya sa direktoryo sa /data/sales, mahimo gihapon nilang tangtangon kini nga mga file!

Pagdumala sa ACL (setfacl, getfacl) sa Linux

Bisan kung ang gipalapdan nga mga pagtugot nga gihisgutan sa ibabaw nagdugang mapuslanon nga gamit sa paagi sa pagdumala sa Linux sa mga pagtugot, wala kini magtugot kanimo sa paghatag mga pagtugot sa labaw sa usa ka tiggamit o grupo sa parehas nga file.

Ang mga lista sa kontrol sa pag-access nagtanyag niini nga bahin. Dugang pa, gitugotan nila ang mga tagdumala sa pagtakda sa mga default nga pagtugot sa usa ka komplikado nga paagi, diin ang gitakda nga mga pagtugot mahimong magkalainlain gikan sa direktoryo hangtod sa direktoryo.

Pagsabut sa mga ACL

Bisan kung ang subsystem sa ACL nagdugang daghang gamit sa imong server, kini adunay usa ka disbentaha: dili tanan nga mga utility nagsuporta niini. Busa, mahimong mawala nimo ang imong mga setting sa ACL kung imong kopyahon o ibalhin ang mga file, ug ang imong backup nga software mahimong mapakyas sa pag-back up sa imong mga setting sa ACL.

Ang tar utility wala nagsuporta sa mga ACL. Aron masiguro nga ang mga setting sa ACL dili mawala kung maghimo ka usa ka backup, gamita nga bitoon imbes nga alkitran. nga bitoon nagtrabaho sa parehas nga kapilian sama sa alkitran; nagdugang lang kini og suporta alang sa mga setting sa ACL.

Mahimo usab nimo i-back up ang mga ACL sa getfacl, nga mahimong ibalik gamit ang setfacl command. Aron makahimo og backup, gamita getfacl -R /directory> file.acls. Aron ibalik ang mga setting gikan sa backup file, gamita setfacl --restore=file.acl.

Ang kakulang sa suporta sa pipila ka mga himan dili usa ka problema. Ang mga ACL kanunay nga gigamit sa mga direktoryo ingon usa ka sukod sa istruktura kaysa sa indibidwal nga mga file.
Busa, wala'y daghan kanila, apan pipila lamang, nga gipadapat sa mga smart nga lugar sa file system. Busa, ang pagpahiuli sa orihinal nga mga ACL nga imong gitrabahoan medyo sayon, bisan kung ang imong backup nga software dili mosuporta niini.

Pag-andam sa file system alang sa mga ACL

Sa dili ka pa magsugod sa pagtrabaho uban sa mga ACL, kinahanglan nimo nga andamon ang imong file system aron suportahan ang mga ACL. Tungod kay ang metadata sa file system kinahanglan nga palapdan, dili kanunay adunay default nga suporta alang sa mga ACL sa file system. Kung makadawat ka og mensahe nga "dili suportado ang operasyon" sa dihang mag-set up sa mga ACL para sa file system, ang imong file system mahimong dili mosuporta sa mga ACL.

Aron ayuhon kini kinahanglan nimo nga idugang ang kapilian acl mount sa /etc/fstab aron ang filesystem ma-mount nga adunay suporta sa ACL nga default.

Pag-usab ug pagtan-aw sa mga setting sa ACL gamit ang setfacl ug getfacl

Aron mabutang ang usa ka ACL kinahanglan nimo ang mando setfacl. Aron makita ang kasamtangan nga mga setting sa ACL, kinahanglan nimo getfacl. Team ls -l wala magpakita sa bisan unsang kasamtangan nga mga ACL; nagpakita lang kini ug + human sa listahan sa permiso, nga nagpaila nga ang mga ACL magamit usab sa file.

Sa dili pa i-set up ang mga ACL, kanunay nga maayong ideya nga ipakita ang kasamtangan nga mga setting sa ACL getfacl. Sa panig-ingnan sa ubos, imong makita ang kasamtangan nga mga permiso, sama sa gipakita sa ls -l, ug ingon usab sa gipakita sa getfacl. Kung imong tan-awon pag-ayo, imong makita nga ang impormasyon nga gipakita parehas ra.

[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

Ingon usa ka sangputanan sa pagpatuman sa mando getfacl sa ubos imong makita nga ang mga permiso gipakita alang sa tulo ka lain-laing mga butang: user, grupo ug uban pa. Karon magdugang ta ug ACL aron mahatagan ug pagtugot sa pagbasa ug pagpatuman usab sa grupo sa pagbaligya. sugo alang niini setfacl -mg:sales:rx /dir. Niini nga team -m nagpakita nga ang kasamtangan nga mga setting sa ACL kinahanglan nga usbon. Human niadto g:pagbaligya:rx nagsulti sa sugo nga itakda ang read-execute ACL (rx) alang sa grupo (g) pagbaligya. Sa ubos makita nimo kung unsa ang hitsura sa command, ingon man ang output sa getfacl command pagkahuman sa pagbag-o sa kasamtangan nga mga setting sa ACL.

[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

Karon nga nakasabut na ka kung giunsa ang pag-set up sa usa ka grupo nga ACL, dali ra sabton ang mga ACL alang sa mga tiggamit ug uban pang mga tiggamit. Pananglitan, ang sugo setfacl -mu: linda: rwx / data naghatag ug permiso sa linda user sa /data directory nga walay gihimong tag-iya o giusab ang assignment sa kasamtangang tag-iya.

team setfacl adunay daghang mga bahin ug kapilian. Ang usa ka kapilian labi ka hinungdanon, ang parameter -R. Kung gigamit, ang kapilian maghimo sa ACL set alang sa tanan nga mga file ug subdirectory nga anaa karon sa direktoryo diin imong gibutang ang ACL. Girekomenda nga gamiton nimo kanunay kini nga kapilian kung mag-ilis sa mga ACL alang sa mga naa na nga direktoryo.

Pagtrabaho uban sa mga Default nga ACL

Usa sa mga benepisyo sa paggamit sa mga ACL mao nga makahatag ka ug mga permiso sa daghang tiggamit o grupo sa usa ka direktoryo. Ang laing kaayohan mao nga mahimo nimo ang pagpanunod pinaagi sa pagtrabaho sa mga default nga ACL.

Pinaagi sa pagbutang sa default nga ACL, imong mahibal-an ang mga pagtugot nga itakda alang sa tanan nga bag-ong mga butang nga gihimo sa direktoryo. Hibaloi nga ang default ACL wala mag-usab sa mga permiso sa kasamtangan nga mga file ug mga subdirectory. Aron mabag-o kini, kinahanglan ka usab magdugang usa ka normal nga ACL!

Importante kini nga masayran. Kung gusto nimo nga mogamit usa ka ACL aron ma-configure ang daghang mga tiggamit o grupo aron ma-access ang parehas nga direktoryo, kinahanglan nimo nga itakda ang ACL kaduha. Unang paggamit setfacl -R -maron usbon ang mga ACL alang sa kasamtangang mga file. Dayon gamita setfacl-md:sa pag-atiman sa tanan nga mga bag-ong elemento nga pagabuhaton usab.

Aron mabutang ang default nga ACL kinahanglan nimo nga idugang ang kapilian d pagkahuman sa kapilian -m (Ang order importante!). Busa gamita setfacl -md:g:sales:rx /datakung gusto nimo ang pagbaligya sa grupo nga basahon ug ipatuman ang bisan unsa nga nahimo sa direktoryo sa / data.

Kung gamiton ang mga default nga ACL, mahimo usab nga mapuslanon ang pagtakda sa mga ACL alang sa uban. Kini kasagaran dili kaayo makatarunganon tungod kay mahimo usab nimo nga usbon ang mga pagtugot alang sa uban nga naggamit chmod. Bisan pa, kung unsa ang dili nimo mahimo chmod, mao ang pagtino sa mga katungod nga kinahanglan ihatag sa ubang mga tiggamit alang sa matag bag-ong file nga nahimo sukad. Kung gusto nimo mapugngan ang uban nga makakuha og bisan unsang pagtugot sa bisan unsang butang nga gihimo sa / data pananglitan paggamit setfacl -md:o::- /data.

Ang mga ACL ug normal nga mga permiso dili kanunay maayo nga gisagol. Mahimong motumaw ang mga problema kon mag-aplay ka og default nga ACL sa usa ka direktoryo, unya ang mga butang idugang sa kana nga direktoryo, ug dayon sulayi nga usbon ang normal nga mga permiso. Ang mga pagbag-o nga magamit sa normal nga mga pagtugot dili maayo nga makita sa kinatibuk-ang pagtan-aw sa ACL. Aron malikayan ang mga problema, ibutang una ang mga normal nga permiso, dayon itakda ang mga default nga ACL (ug sulayi nga dili na usbon kini pag-usab pagkahuman niana).

Panig-ingnan sa Pagdumala sa Gipataas nga Katungod Gamit ang mga ACL

Niini nga pananglitan, magpadayon ka sa /data/account ug /data/sales nga mga direktoryo nga imong gihimo sa sayo pa. Sa miaging mga pananglitan, imong gipaneguro nga ang grupo sa pagbaligya adunay mga pagtugot sa /data/sales ug ang grupo sa account adunay mga pagtugot sa /data/account.

Una, siguroha nga ang grupo sa account makakuha og mga permiso sa pagbasa sa direktoryo sa /data/sales ug ang grupo sa pagbaligya makakuha og mga permiso sa pagbasa sa direktoryo sa /data/account.

Imong gitakda ang mga default nga ACL aron masiguro nga ang tanan nga bag-ong mga file adunay husto nga pagtugot nga gitakda alang sa tanan nga bag-ong mga butang.

  1. Ablihi ang usa ka terminal.
  2. Pagpatuman setfacl -mg:account:rx /data/sales ΠΈ setfacl -mg:sales:rx /data/account.
  3. Pagpatuman getfaclaron masiguro nga ang mga pagtugot gipahimutang sa paagi nga imong gusto.
  4. Pagpatuman setfacl -md:g:account:rwx,g:sales:rx /data/salesaron itakda ang default nga ACL alang sa direktoryo sa pagpamaligya.
  5. Pagdugang ug default nga ACL para sa /data/account directory gamit setfacl -md:g:sales:rwx,g:account:rx /data/account.
  6. Tinoa nga ang mga setting sa ACL anaa sa epekto pinaagi sa pagdugang og bag-ong file sa /data/sales. Kompleto paghikap /data/sales/newfile ug ipatuman getfacl /data/sales/newfile aron masusi ang kasamtangang permiso.

Pag-set sa default nga permiso gamit ang umask

Sa ibabaw, nahibal-an nimo kung giunsa ang pagtrabaho sa mga default nga ACL. Kung wala ka mogamit usa ka ACL, adunay kapilian sa kabhang nga nagtino sa mga default nga pagtugot nga imong makuha: umask (balikbalik nga maskara). Niini nga seksyon, mahibal-an nimo kung giunsa ang pagbag-o sa mga default nga pagtugot sa umask.

Mahimo nimong namatikdan nga kung maghimo ka usa ka bag-ong file, ang pipila ka mga default nga pagtugot gitakda. Kini nga mga pagtugot gitino pinaagi sa setting umask. Kini nga setting sa shell magamit sa tanan nga tiggamit sa pag-logon. Sa parameter umask gigamit ang usa ka numeric nga kantidad, nga gikuha gikan sa labing kadaghan nga pagtugot nga mahimong awtomatiko nga itakda alang sa file; ang pinakataas nga setting alang sa mga file mao ang 666 ug alang sa mga direktoryo mao ang 777.

Bisan pa, ang pipila nga mga eksepsiyon magamit sa kini nga lagda. Makita nimo ang usa ka kompleto nga pagtan-aw sa mga setting umask sa lamesa sa ubos.

Sa mga numero nga gigamit sa umask, sama sa kaso sa numeric nga mga argumento alang sa sugo chmod, ang unang digit nagtumong sa mga permiso sa user, ang ikaduhang digit nagtumong sa mga permiso sa grupo, ug ang kataposan nagtumong sa default nga permiso nga gitakda para sa uban. Kahulogan umask ang default nga 022 naghatag ug 644 para sa tanang bag-ong mga file ug 755 para sa tanang bag-ong mga direktoryo nga gihimo sa imong server.

Kompleto nga overview sa tanang numerical values umask ug ang ilang mga resulta sa lamesa sa ubos.

Mga permiso sa Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Usa ka sayon ​​nga paagi sa pagtan-aw kon sa unsang paagi ang umask setting naglihok mao ang mosunod: magsugod uban sa file sa default permiso gibutang sa 666 ug kuhaa ang umask sa pagkuha sa epektibo nga mga permiso. Buhata ang parehas alang sa direktoryo ug ang mga default nga pagtugot sa 777.

Adunay duha ka paagi aron mabag-o ang setting sa umask: para sa tanan nga tiggamit ug alang sa indibidwal nga tiggamit. Kung gusto nimong itakda ang umask para sa tanan nga tiggamit, kinahanglan nimo nga sigurohon nga ang setting sa umask gikonsiderar sa pagsugod sa mga file sa palibot sa shell, ingon nga gitakda sa /etc/profile. Ang saktong pamaagi mao ang paghimo ug shell script nga gitawag og umask.sh sa /etc/profile.d directory ug ipiho ang umask nga gusto nimong gamiton sa shell script. Kung ang umask giusab sa kini nga file, kini magamit sa tanan nga mga tiggamit pagkahuman sa pag-log in sa server.

Usa ka alternatibo sa pagpahimutang sa umask pinaagi sa /etc/profile ug mga may kalabutan nga mga file, diin kini magamit sa tanang tiggamit nga nag-log in, mao ang pag-ilis sa umask settings sa usa ka file nga gitawag og .profile nga gimugna sa home directory sa matag user.

Ang mga setting nga gipadapat sa kini nga file magamit lamang sa indibidwal nga tiggamit; busa kini usa ka maayong pamaagi kung kinahanglan nimo ang dugang nga detalye. Ako personal nga ganahan niini nga bahin nga usbon ang default umask para sa root user ngadto sa 027 samtang ang mga normal nga tiggamit nagdagan gamit ang default umask nga 022.

Pagtrabaho uban ang gipalapdan nga mga hiyas sa tiggamit

Kini ang katapusang seksyon sa mga pagtugot sa Linux.

Kung nagtrabaho uban ang mga pagtugot, kanunay adunay relasyon tali sa usa ka user o grupo nga butang ug ang mga pagtugot nga naa sa user o grupo nga mga butang sa usa ka file o direktoryo. Usa ka alternatibong paagi aron mapanalipdan ang mga file sa usa ka server sa Linux mao ang pagtrabaho sa mga kinaiya.
Ang mga hiyas naghimo sa ilang trabaho bisan unsa pa ang user nga nag-access sa file.

Sama sa mga ACL, ang mga hiyas sa file kinahanglan nga maglakip sa kapilian bukid.

Kini usa ka kapilian user_xattr. Kung nakakuha ka usa ka mensahe nga "wala gisuportahan ang operasyon" kung nagtrabaho kauban ang mga gipadako nga mga hiyas sa tiggamit, siguruha nga itakda ang parameter bukid sa /etc/fstab.

Daghang mga hiyas ang gidokumento. Ang ubang mga hiyas anaa na apan wala pa mapatuman. Ayaw kini gamita; dili sila magdala kanimo bisan unsa.

Sa ubos mao ang labing mapuslanon nga mga hiyas nga imong magamit:

A Kini nga hiyas nagsiguro nga ang oras sa pag-access sa file sa file dili mausab.
Kasagaran, matag higayon nga maablihan ang usa ka file, ang oras sa pag-access sa file kinahanglan nga irekord sa metadata sa file. Kini negatibo makaapekto sa performance; busa alang sa mga file nga kanunay nga gi-access, ang attribute A mahimong gamiton sa pag-disable niini nga feature.

a Kini nga hiyas nagtugot kanimo sa pagdugang apan dili pagtangtang sa usa ka file.

c Kung naggamit ka ug file system nga nagsuporta sa volume-level compression, kini nga file attribute nagsiguro nga ang file ma-compress sa unang higayon nga ang compression mechanism ma-enable.

D Kini nga hiyas nagsiguro nga ang mga pagbag-o sa mga file gisulat dayon sa disk imbes nga gi-cache una. Kini usa ka mapuslanon nga hiyas sa importante nga mga file sa database aron masiguro nga dili sila mawala tali sa file cache ug sa hard drive.

d Kini nga hiyas nagsiguro nga ang file dili ma-save sa mga backup diin gigamit ang dump utility.

I Kini nga hiyas makapahimo sa pag-indeks alang sa direktoryo diin kini gipalihok. Naghatag kini og mas paspas nga pag-access sa file alang sa mga primitive filesystem sama sa Ext3 nga wala mogamit sa database sa B-tree alang sa paspas nga pag-access sa file.

i Kini nga hiyas naghimo sa file nga dili mausab. Busa, walay mga kausaban nga mahimo sa file, nga mapuslanon alang sa mga file nga nagkinahanglan og dugang nga proteksyon.

j Kini nga hiyas nagsiguro nga, sa usa ka ext3 file system, ang file una nga gisulat sa journal ug dayon sa data block sa hard disk.

s I-overwrite ang mga bloke diin ang file gitipigan sa 0s pagkahuman sa pagtangtang sa file. Kini nagsiguro nga ang file dili na mapasig-uli kung kini natangtang na.

u Kini nga hiyas nagtipig impormasyon bahin sa pagtangtang. Gitugotan ka niini nga makahimo og usa ka utility nga magamit sa kini nga kasayuran aron maluwas ang mga natangtang nga mga file.

Kung gusto nimo gamiton ang mga hiyas, mahimo nimong gamiton ang mando chatter. Pananglitan, gamita chattr +s usa ka filearon magamit ang mga hiyas sa usa ka file. Kinahanglan nga tangtangon ang usa ka hiyas? Dayon gamita chattr -s usa ka fileug kini pagakuhaon. Aron makakuha usa ka kinatibuk-an nga pagtan-aw sa tanan nga mga hiyas nga gigamit karon, gamita ang mando lsattr.

Sumaryo

Niini nga artikulo, nahibal-an nimo kung giunsa ang pagtrabaho nga adunay mga pagtugot. Imong mabasa ang mahitungod sa tulo ka batakang permiso, advanced permissions, ug unsaon paggamit sa ACLs sa file system. Nahibal-an usab nimo kung giunsa paggamit ang opsyon sa umask aron magamit ang mga default nga pagtugot. Sa katapusan sa kini nga artikulo, nahibal-an nimo kung giunsa ang paggamit sa gipadako nga mga hiyas sa gumagamit aron magamit ang dugang nga layer sa seguridad sa file system.

Kung gusto nimo kini nga paghubad, palihug isulat ang bahin niini sa mga komento. Adunay dugang nga kadasig sa paghimo og mapuslanon nga mga paghubad.

Gitul-id ang pipila ka mga typo ug mga sayop sa gramatika sa artikulo. Gipamub-an ang pipila ka dagkong mga parapo ngadto sa mas gagmay para sa mas maayong pagkabasa.

Imbis nga "Ang usa ra nga adunay mga katungod sa administratibo sa direktoryo ang mahimong magamit ang pagtugot sa pagpatuman." gitakda sa "Ang usa ra nga adunay pagtugot sa pagsulat sa direktoryo ang mahimong mag-aplay sa pagtugot sa pagpatuman.", nga mas husto.

Salamat sa mga komento berez.

Gipulihan:
Kung dili ikaw ang tag-iya sa user, susihon sa shell kung miyembro ka sa usa ka grupo, nailhan usab nga grupo sa file.

Sa:
Kung dili ikaw ang tag-iya sa file, susihon sa shell kung miyembro ka sa usa ka grupo nga adunay pagtugot sa file. Kung miyembro ka niini nga grupo, ma-access nimo ang file nga adunay mga pagtugot nga gitakda sa grupo, ug ang kabhang mohunong sa pagsusi.

Salamat sa imong komento CryptoPirate

Source: www.habr.com

Idugang sa usa ka comment