Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Halo sadayana. Ieu tarjamahan tina artikel tina buku RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 sareng EX300.

Teken: Abdi ngarepkeun tulisan éta bakal mangpaat henteu ngan ukur pikeun pamula, tapi ogé bakal ngabantosan pangurus anu langkung berpengalaman pikeun nyernakeun pangaweruhna.

Ku kituna hayu urang angkat.

Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Pikeun ngaksés file dina Linux, idin dianggo. Idin ieu ditugaskeun ka tilu objék: nu boga file, nu boga grup, jeung objék séjén (nyaéta, dulur sejenna). Dina artikel ieu, anjeun bakal diajar kumaha nerapkeun idin.

Artikel ieu dimimitian ku tinjauan konsép dasar, dituturkeun ku sawala ngeunaan idin husus sarta Daptar Aksés Control (ACLs). Dina ahir artikel ieu, urang nutupan setelan idin standar via umask, kitu ogé ngatur atribut pamaké nambahan.

Manajemén kapamilikan file

Sateuacan ngabahas idin, anjeun kedah sadar kana peran pamilik file sareng diréktori. Kapamilikan file sareng diréktori penting pisan pikeun ngurus idin. Dina bagian ieu, anjeun bakal mimiti diajar kumaha anjeun tiasa ningali nu boga. Anjeun teras bakal diajar kumaha cara ngarobah pamilik grup sareng pangguna pikeun file sareng diréktori.

Mintonkeun nu boga file atawa diréktori

Dina Linux, unggal file sareng unggal diréktori gaduh dua pamilik: pangguna sareng pamilik grup.

Pamilik ieu diatur nalika file atanapi diréktori dijieun. Pamaké anu nyiptakeun file janten nu gaduh file éta, sareng grup primér anu dianggo ku pangguna anu sami ogé janten pamilik file éta. Pikeun nangtukeun lamun anjeun, salaku pamaké, boga idin pikeun ngakses file atawa diréktori, cangkang mariksa kapamilikan.

Ieu lumangsung dina urutan handap:

  1. Cangkang mariksa pikeun ningali naha anjeun anu gaduh file anu anjeun hoyong aksés. Mun anjeun nu boga, anjeun meunang idin jeung cangkang eureun mariksa.
  2. Upami anjeun sanés anu gaduh file, cangkang bakal pariksa naha anjeun anggota grup anu ngagaduhan idin kana file. Upami anjeun anggota grup ieu, anjeun bakal ngaksés file kalayan idin anu disetél ku grup, sareng cangkang bakal eureun mariksa.
  3. Upami anjeun sanés pangguna atanapi anu gaduh grup, anjeun dipasihan hak pangguna anu sanés (Lain).

Pikeun ningali tugas anu gaduh ayeuna, anjeun tiasa nganggo paréntah ls-l. Paréntah ieu nunjukkeun pangguna sareng anu gaduh grup. Di handap anjeun tiasa ningali setélan pamilik pikeun diréktori dina diréktori / 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

Kalayan paréntah ls anjeun tiasa ningalikeun nu gaduh file dina diréktori anu dipasihkeun. Kadang-kadang tiasa mangpaat pikeun kéngingkeun daptar sadaya file dina sistem anu gaduh pangguna atanapi grup anu dipasihkeun salaku pamilik. Pikeun ieu anjeun tiasa nganggo manggih. Arguméntasi manggihan-pamaké bisa dipaké pikeun tujuan ieu. Salaku conto, paréntah di handap ieu daptar sadaya file anu dipiboga ku pangguna linda:

find / -user linda

Anjeun ogé tiasa nganggo manggih pikeun milarian file anu gaduh grup anu tangtu salaku anu gaduhna.

Salaku conto, paréntah di handap ieu milarian sadaya file anu kagolong kana grup pamaké:

find / -group users

Pamilik robah

Pikeun nerapkeun idin anu saluyu, hal kahiji anu kedah dipertimbangkeun nyaéta kapamilikan. Aya paréntah pikeun ieu kalangkang. Sintaksis paréntah ieu gampang kaharti:

chown кто что

Contona, paréntah di handap ieu ngarobah nu boga /home/account diréktori ka pamaké linda:

chown linda /home/account

regu kalangkang boga sababaraha pilihan, salah sahiji nu utamana mangpaat: -R. Anjeun tiasa nebak naon anu dilakukeun sabab pilihan ieu sayogi pikeun seueur paréntah sanésna ogé. Ieu ngidinan Anjeun pikeun recursively nyetel nu boga, nu ngidinan Anjeun pikeun nyetel nu boga diréktori ayeuna jeung sagalana di handap. Paréntah di handap ieu ngarobih kapamilikan / diréktori bumi sareng sadayana di handapna ka pangguna linda:

Ayeuna nu boga kasampak kawas kieu:

[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

Hayu urang ngalakukeun:

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

Ayeuna pangguna lisa parantos janten pamilik diréktori akun:

[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

Ganti nu boga grup

Aya dua cara pikeun ngarobah kapamilikan grup. Anjeun tiasa ngalakukeun ieu nganggo kalangkang, Tapi aya paréntah husus ngaranna chgrpnu ngalakukeun pakasaban. Upami anjeun hoyong nganggo paréntah kalangkang, ngagunakeun . atawa : hareupeun ngaran grup.

Paréntah di handap ieu ngarobih saha waé anu gaduh grup /home/account ka grup akun:

chown .account /home/account

anjeun tiasa nganggo kalangkang pikeun ngarobah nu boga pamaké jeung/atawa grup ku sababaraha cara. Ieu sababaraha conto:

  • chown lisa myfile1 susunan pamaké lisa salaku nu boga myfile1.
  • chown lisa.sales myfile susunan pamaké lisa salaku nu boga file myfile, sarta ogé susunan grup jualan salaku nu boga file sarua.
  • chown lisa:penjualan myfile sarua jeung paréntah saméméhna.
  • chown .sales myfile susunan grup jualan salaku nu boga myfile tanpa ngarobah nu boga pamaké.
  • chown: penjualan myfile sarua jeung paréntah saméméhna.

Anjeun tiasa make paréntah chgrppikeun ngaganti nu boga grup. Pertimbangkeun conto di handap ieu, dimana anjeun tiasa nganggo chgrp setel nu boga diréktori akun ka grup jualan:

chgrp .sales /home/account

Sapertos sareng kalangkang, anjeun tiasa nganggo pilihan -R с chgrp, kitu ogé recursively ngarobah nu boga grup.

Ngartos Pamilik Default

Anjeun panginten perhatikeun yén nalika pangguna nyiptakeun file, kapamilikan standar diterapkeun.
Pamaké anu nyiptakeun file sacara otomatis janten nu gaduh file éta, sareng grup utami pangguna éta otomatis janten pamilik éta file. Ieu biasana grup anu didaptarkeun dina /etc/passwd file salaku grup primér pamaké. Sanajan kitu, lamun pamaké mangrupa anggota leuwih ti hiji grup, pamaké bisa ngarobah grup primér éféktif.

Pikeun nunjukkeun grup primér anu efektif ayeuna, pangguna tiasa nganggo paréntah grup:

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

Upami pangguna linda ayeuna hoyong ngarobih grup primér anu efektif, anjeunna bakal nganggo paréntah newgrpdituturkeun ku ngaran grup anjeunna hayang diatur salaku grup primér éféktif anyar. Sanggeus ngagunakeun paréntah newgrp grup primér bakal aktip dugi pamaké ngasupkeun paréntah Kaluar atanapi henteu log out.

Di handap ieu nunjukkeun kumaha pangguna linda nganggo paréntah ieu, kalayan penjualan salaku grup primér:

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

Sanggeus ngarobah grup primér éféktif, sadaya file anyar dijieun ku pamaké bakal boga grup éta salaku nu boga grup. Pikeun balikkeun ka setelan grup primér aslina, make Kaluar.

Pikeun bisa ngagunakeun paréntah newgrp, pamaké kudu jadi anggota grup maranéhna rék dipaké salaku grup primér. Salaku tambahan, kecap akses grup tiasa dianggo pikeun grup nganggo paréntah gpasswd. Lamun pamaké ngagunakeun paréntah newgrptapi lain anggota grup sasaran, cangkang naroskeun kecap akses grup. Sanggeus anjeun ngasupkeun sandi grup bener, grup primér éféktif anyar bakal diadegkeun.

Manajemén hak dasar

Sistem idin Linux diciptakeun dina taun 1970-an. Kusabab kabutuhan komputasi diwatesan dina taun-taun éta, sistem idin dasarna rada terbatas. Sistem idin ieu nganggo tilu idin anu tiasa diterapkeun kana file sareng diréktori. Dina bagian ieu, anjeun bakal diajar kumaha ngagunakeun sareng ngarobih idin ieu.

Ngartos Maca, Tulis, sareng Ngaéksekusi Idin

Tilu idin dasar ngamungkinkeun anjeun maca, nyerat, sareng ngaéksekusi file. Pangaruh idin ieu béda nalika dilarapkeun kana file atanapi diréktori. Pikeun file, idin maca masihan anjeun hak pikeun muka file pikeun dibaca. Ku alatan éta, anjeun tiasa maca eusina, tapi éta hartosna komputer anjeun tiasa muka file pikeun ngalakukeun hiji hal sareng éta.

File program anu peryogi aksés ka perpustakaan kedah, contona, gaduh aksés maca kana perpustakaan éta. Ieu nuturkeun yén idin maca mangrupikeun idin anu paling dasar anu anjeun peryogikeun pikeun damel sareng file.

Nalika dilarapkeun kana diréktori, bacaan ngamungkinkeun anjeun pikeun ningalikeun eusi diréktori éta. Anjeun kedah sadar yén idin ieu henteu ngamungkinkeun anjeun maca file dina diréktori. Sistem idin Linux henteu terang warisan, sareng hiji-hijina jalan pikeun maca file nyaéta ngagunakeun idin baca dina file éta.

Anjeun meureun bisa nebak, nulis idin, lamun dilarapkeun ka file, ngamungkinkeun nulis kana file. Kalayan kecap sanésna, éta ngamungkinkeun anjeun ngarobih eusi file anu tos aya. Nanging, éta henteu ngamungkinkeun anjeun nyiptakeun atanapi ngahapus file énggal atanapi ngarobih idin file. Jang ngalampahkeun ieu, anjeun kedah masihan idin nyerat kana diréktori dimana anjeun badé nyiptakeun file. Dina diréktori, idin ieu ogé ngamungkinkeun anjeun nyiptakeun sareng ngahapus subdirektori énggal.

Ngaéksekusi idin nyaéta naon anu anjeun peryogikeun pikeun ngaéksekusi file. Éta moal pernah dipasang sacara standar, anu ngajadikeun Linux ampir kebal ka virus. Ngan jalma anu gaduh idin nulis dina diréktori tiasa nerapkeun idin ngaéksekusi.

Di handap ieu nyimpulkeun panggunaan idin dasar:

Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Ngagunakeun chmod

Paréntah dipaké pikeun ngatur idin. chmod... Ngagunakeun chmod Anjeun tiasa nyetel idin pikeun pamaké (pamaké), grup (grup) jeung nu lianna (lain). Anjeun tiasa nganggo paréntah ieu dina dua mode: mode rélatif sareng mode absolut. Dina mode absolut, tilu digit dipaké pikeun nyetél idin dasar.

Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Nalika netepkeun idin, ngitung nilai anu anjeun peryogikeun. Upami anjeun hoyong nyetél maca / nyerat / ngaéksekusi pikeun pangguna, baca / laksanakeun pikeun grup, sareng baca / laksana pikeun anu sanés dina / somefile teras anjeun nganggo paréntah di handap ieu chmod:

chmod 755 /somefile

Nalika anjeun nganggo chmod Ku cara ieu, sadaya idin ayeuna diganti ku idin anu anjeun setel.

Upami anjeun hoyong ngarobih idin relatif ka idin ayeuna, anjeun tiasa nganggo chmod dina mode rélatif. Ngagunakeun chmod dina mode rélatif anjeun damel sareng tilu indikator pikeun nunjukkeun naon anu anjeun hoyong laksanakeun:

  1. Mimiti anjeun nangtukeun saha anu anjeun hoyong robih idin. Jang ngalampahkeun ieu, anjeun tiasa milih antara pangguna (u), golongan (g) jeung sajabana (o).
  2. Anjeun teras nganggo pernyataan pikeun nambihan atanapi mupus idin ti modeu ayeuna, atanapi nyetél éta leres pisan.
  3. Dina tungtungna anjeun nganggo r, w и xpikeun nangtukeun idin mana nu Anjeun hoyong setel.

Nalika ngarobah idin dina mode relatif, Anjeun bisa ngaliwatan bagian "ka" pikeun nambahkeun atawa mupus idin pikeun sakabéh objék. Salaku conto, paréntah ieu nambihan ijin ngaéksekusi pikeun sadaya pangguna:

chmod +x somefile

Nalika damel dina modeu rélatif, anjeun ogé tiasa nganggo paréntah anu langkung kompleks. Contona, paréntah ieu nambihan idin nulis ka grup sareng ngahapus idin maca pikeun batur:

chmod g+w,o-r somefile

Ngagunakeun chmod -R o + rx / data Anjeun nyetel idin laksana pikeun sakabéh diréktori ogé file dina diréktori / data. Pikeun nyetel idin ngaéksekusi ngan ukur pikeun diréktori sanés pikeun file, paké chmod -R o+ rX /data.

Huruf ageung X mastikeun yén file teu meunang ngaéksekusi idin iwal file parantos nyetél ijin laksana pikeun sababaraha objék. Hal ieu ngajadikeun X hiji cara smarter nungkulan ngaéksekusi idin; ieu bakal nyingkahan netepkeun idin ieu dina file anu henteu diperyogikeun.

Hak diperpanjang

Salian idin dasar anu anjeun baca, Linux ogé ngagaduhan sakumpulan idin canggih. Ieu sanés idin anu anjeun setel sacara standar, tapi sakapeung aranjeunna masihan tambahan anu mangpaat. Dina bagian ieu, anjeun bakal diajar naon aranjeunna sareng kumaha nyetélana.

Ngartos SUID, GUID, sareng Sticky Bit Extended Idin

Aya tilu idin canggih. Anu mimiti nyaéta idin pikeun nyetél identifier pangguna (SUID). Dina sababaraha kasus khusus, anjeun tiasa nerapkeun idin ieu kana file anu tiasa dieksekusi. Sacara standar, pamaké anu ngajalankeun hiji executable ngajalankeun éta file kalawan idin sorangan.

Pikeun pangguna biasa, ieu biasana hartosna panggunaan program éta terbatas. Nanging, dina sababaraha kasus, pangguna peryogi idin khusus, ngan ukur ngalaksanakeun tugas khusus.

Pertimbangkeun, contona, kaayaan dimana pangguna kedah ngarobih kecap konci na. Jang ngalampahkeun ieu, pamaké kudu nulis sandi anyar maranéhanana dina /etc/shadow file. Sanajan kitu, file ieu teu bisa ditulis ku pamaké non-root:

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

Idin SUID nawiskeun solusi pikeun masalah ieu. Utilitas /usr/bin/passwd nganggo idin ieu sacara standar. Ieu ngandung harti yén nalika ngarobah sandi, pamaké samentara jadi root, nu ngidinan anjeunna nulis ka file /etc/shadow. Anjeun tiasa ningali idin SUID kalawan ls-l kumaha s dina posisi dimana anjeun biasana bakal nyangka ningali x pikeun idin khusus:

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

Idin SUID sigana mangpaat (sareng dina sababaraha kasus éta), tapi dina waktos anu sami berpotensi bahaya. Upami teu dilarapkeun leres, anjeun tiasa ngahaja masihan idin root. Ku alatan éta, kuring nyarankeun ngagunakeun éta ngan kalayan perawatan utmost.

Seuseueurna pangurus moal pernah kedah nganggo éta; Anjeun ngan bakal ningali dina sababaraha file dimana sistem operasi kedah nyetél sacara standar.

Idin husus kadua nyaéta group identifier (SGID). Idin ieu gaduh dua pangaruh. Nalika dilarapkeun kana file anu tiasa dieksekusi, éta masihan pangguna anu ngaéksekusi file éta idin ti anu gaduh grup file. Janten SGID tiasa ngalakukeun langkung atanapi kirang sami sareng SUID. Nanging, SGID sacara praktis henteu dianggo pikeun tujuan ieu.

Sapertos idin SUID, SGID diterapkeun kana sababaraha file sistem salaku setélan standar.

Nalika dilarapkeun kana diréktori, SGID tiasa mangpaat sabab anjeun tiasa nganggo éta pikeun nyetél pamilik grup standar pikeun file sareng subdirektori anu diciptakeun dina diréktori éta. Sacara standar, nalika pamaké nyieun file, grup primér éféktif maranéhanana disetel salaku nu boga grup pikeun file éta.

Ieu teu salawasna pisan mangpaat, utamana saprak pamaké Red Hat / CentOS boga grup primér maranéhanana disetel ka grup nu ngaranna sarua salaku pamaké, sarta nu pamaké mangrupa hiji-hijina anggota. Janten, sacara standar, file anu didamel ku pangguna bakal dibagikeun sacara ageung.

Bayangkeun kaayaan dimana pangguna linda sareng lori damel di akuntansi sareng janten anggota grup rekening. Sacara standar, pangguna ieu mangrupikeun anggota grup pribadi anu aranjeunna hiji-hijina anggota. Sanajan kitu, duanana pamaké mangrupa anggota grup akun, tapi ogé salaku parameter grup sekundér.

Kaayaan standar nyaéta nalika salah sahiji pangguna ieu nyiptakeun file, grup primér janten anu gaduh. Ku alatan éta, sacara standar, linda teu bisa ngakses file dijieun ku lori, sarta sabalikna. Nanging, upami anjeun nyiptakeun diréktori grup anu dibagi (sebutkeun /groups/account) sareng mastikeun yén idin SGID diterapkeun kana diréktori éta sareng yén akun grup disetel salaku pamilik grup pikeun diréktori éta, sadaya file anu didamel dina diréktori éta sareng sadaya. tina subdirektori na, ogé kéngingkeun akun grup salaku pamilik grup sacara standar.

Ku sabab kitu, idin SGID mangrupakeun idin pohara kapaké pikeun disetél dina diréktori grup umum.

Idin SGID ditémbongkeun dina kaluaran ls-l kumaha s dina posisi dimana anjeun biasana bakal mendakan idin pikeun ngaéksekusi grup:

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

Katilu tina idin husus nyaéta bit caket. Idin ieu mangpaat pikeun ngajagi file tina ngahapus teu kahaja dina lingkungan dimana sababaraha pangguna gaduh aksés nyerat kana diréktori anu sami. Upami bit caket dianggo, pangguna ngan ukur tiasa ngahapus file upami aranjeunna pamilik file atanapi diréktori anu ngandung file. Ku sabab kitu, éta dipaké salaku idin standar pikeun diréktori / tmp sarta bisa mangpaat pikeun diréktori grup umum ogé.

Tanpa bit caket, upami pangguna tiasa nyiptakeun file dina diréktori, aranjeunna ogé tiasa ngahapus file tina diréktori éta. Dina lingkungan grup umum, ieu tiasa ngaganggu. Bayangkeun pamaké linda sareng lori, anu duanana gaduh idin nyerat kana diréktori / data / akun sareng kéngingkeun ijin éta ku janten anggota grup akun. Ku alatan éta, linda tiasa ngahapus file anu diciptakeun ku lori sareng sabalikna.

Nalika anjeun nerapkeun bit caket, pangguna ngan ukur tiasa ngahapus file upami salah sahiji kaayaan ieu leres:

  • Pamaké nyaéta nu boga file;
  • Pamaké nyaéta nu gaduh diréktori dimana filena aya.

Ngagunakeun ls-l, Anjeun tiasa ningali bit caket salaku t dina posisi dimana anjeun biasana bakal ningali idin palaksanaan pikeun batur:

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

Nerapkeun hak diperpanjang

Pikeun nerapkeun SUID, SGID sareng bit caket anjeun ogé tiasa dianggo chmod. SUID ngabogaan nilai numerik 4, SGID ngabogaan nilai numerik 2, sarta sticky bit ngabogaan nilai numerik 1.

Upami anjeun hoyong nerapkeun idin ieu, anjeun kedah nambihan argumen opat angka chmod, anu digit kahiji nujul kana idin husus. Baris di handap, contona, bakal nambahan idin SGID kana diréktori tur nyetel rwx pikeun pamaké sarta rx pikeun grup jeung sajabana:

chmod 2755 /somedir

Ieu rada teu praktis upami anjeun kedah ningali idin ayeuna anu disetél sateuacan damel chmod dina modeu mutlak. (Anjeun ngajalankeun résiko nimpa idin upami henteu.) Janten kuring nyarankeun ngajalankeun dina modeu relatif upami anjeun kedah nerapkeun salah sahiji idin khusus:

  1. Pikeun pamakéan SUID chmod u+s.
  2. Pikeun pamakéan SGID chmod g+s.
  3. Pikeun pamakéan bit caket chmod + t, dituturkeun ku nami file atawa diréktori nu Anjeun hoyong nyetel idin.

tabél summarizes sagalana nu peryogi kauninga ngeunaan ngatur idin husus.

Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Conto gawé kalawan hak husus

Dina conto ieu, anjeun nganggo idin khusus pikeun ngagampangkeun anggota grup pikeun ngabagi file dina diréktori grup anu dibagikeun. Anjeun napelkeun bit ID ka ID group set ogé bit caket, tur anjeun tingali yen aranjeunna geus disetel, fitur ditambahkeun pikeun nyieun leuwih gampang pikeun anggota grup gawé bareng.

  1. Buka terminal dimana anjeun pamaké linda. Anjeun tiasa nyiptakeun pangguna nganggo paréntah pamaké tambahkeun linda, tambahkeun kecap akses paswd linda.
  2. Damel diréktori / data dina akar sareng subdirektori / data / penjualan kalayan paréntah mkdir -p / data / jualan. Lengkep cd / data / jualanpikeun muka diréktori jualan. Lengkep keuna linda1 и keuna linda2pikeun nyieun dua file kosong milik linda.
  3. Laksanakeun su-lisa pikeun ngalihkeun pangguna ayeuna ka pangguna lisa, anu ogé anggota grup penjualan.
  4. Laksanakeun cd / data / jualan sareng ti éta diréktori laksanakeun ls-l. Anjeun bakal ningali dua file anu diciptakeun ku pangguna linda sareng milik grup linda. Lengkep rm -f linda*. Ieu bakal ngahapus duanana file.
  5. Laksanakeun keuna lisa1 и keuna lisa2pikeun nyieun dua file anu dipiboga ku pamaké lisa.
  6. Laksanakeun su- pikeun elevate hak husus Anjeun ka root.
  7. Laksanakeun chmod g+s,o+t /data/salespikeun nyetel bit identifier grup (GUID) ogé bit caket dina diréktori grup dibagikeun.
  8. Laksanakeun su-linda. Lajeng ngalakukeun keuna linda3 и keuna linda4. Ayeuna anjeun kedah ningali yén dua file anu anjeun damel dipiboga ku grup penjualan, anu mangrupikeun pamilik grup / data / diréktori penjualan.
  9. Laksanakeun rm -rf lisa*. Bit caket nyegah file ieu dihapus atas nama pamaké linda, sabab anjeun lain nu boga file ieu. Catet yén upami pangguna linda mangrupikeun anu gaduh diréktori / data / penjualan, aranjeunna ogé tiasa ngahapus file ieu!

Manajemén ACL (setfacl, getfacl) dina Linux

Sanaos idin anu dipanjangkeun anu dibahas di luhur nambihan fungsionalitas anu mangpaat pikeun cara Linux ngatur idin, éta henteu ngamungkinkeun anjeun masihan idin ka langkung ti hiji pangguna atanapi grup dina file anu sami.

Daptar kontrol aksés nawiskeun fitur ieu. Salaku tambahan, aranjeunna ngamungkinkeun pangurus pikeun nyetél idin standar dina cara anu kompleks, dimana idin anu diatur tiasa bénten-béda ti diréktori ka diréktori.

Ngartos ACLs

Sanajan subsistem ACL nambihan fungsionalitas hébat kana server Anjeun, eta boga hiji disadvantage: teu kabeh Utiliti ngarojong eta. Ku alatan éta, Anjeun bisa leungit setelan ACL Anjeun mun anjeun nyalin atawa mindahkeun file, jeung software cadangan Anjeun bisa gagal pikeun nyadangkeun setelan ACL Anjeun.

Utilitas tar henteu ngadukung ACL. Pikeun mastikeun setelan ACL teu leungit mun anjeun nyieun cadangan, make bentang tinimbang tar. bentang jalan kalawan pilihan anu sarua sakumaha tar; eta ngan nambahan rojongan pikeun setelan ACL.

Anjeun oge bisa nyadangkeun ACLs kalawan getfacl, anu tiasa dibalikeun nganggo paréntah setfacl. Pikeun nyieun cadangan, make getfacl -R / diréktori> file.acls. Pikeun mulangkeun setelan tina payel cadangan, paké setfacl --restore = file.acl.

Kurangna dukungan ku sababaraha alat henteu janten masalah. ACLs mindeng dilarapkeun ka directories salaku ukuran struktural tinimbang kana file individu.
Ku alatan éta, moal aya loba di antarana, tapi ngan sababaraha, dilarapkeun dina tempat pinter dina sistem file. Ku alatan éta, malikkeun ACLs aslina anjeun digawé kalayan relatif gampang, sanajan software cadangan Anjeun teu ngarojong aranjeunna.

Nyiapkeun sistem file pikeun ACLs

Sateuacan anjeun ngamimitian damel sareng ACL, anjeun panginten kedah nyiapkeun sistem file anjeun pikeun ngadukung ACL. Kusabab metadata sistem file perlu diperpanjang, teu salawasna rojongan standar pikeun ACLs dina sistem file. Upami anjeun nampi pesen "operasi henteu didukung" nalika nyetél ACL pikeun sistem file, sistem file anjeun tiasa henteu ngadukung ACL.

Pikeun ngalereskeun ieu anjeun kedah nambihan pilihan acl pasang di /etc/fstab supados filesystem dipasang kalayan dukungan ACL sacara standar.

Ngarobah sareng ningali setélan ACL nganggo setfacl sareng getfacl

Pikeun nyetél ACL anjeun peryogi paréntah setfacl. Pikeun ningali setélan ACL ayeuna, anjeun peryogi getfacl. Tim ls-l teu nembongkeun sagala ACLs aya; eta ngan nembongkeun hiji + sanggeus daptar idin, nu nunjukkeun yén ACLs dilarapkeun ka file ogé.

Sateuacan nyetél ACLs, éta salawasna mangrupakeun ide nu sae pikeun nembongkeun setelan ACL ayeuna kalawan getfacl. Dina conto di handap, anjeun tiasa ningali idin ayeuna, sakumaha ditémbongkeun kalawan ls-l, sarta ogé ditémbongkeun kalawan getfacl. Lamun neuteup cukup raket, anjeun bakal nempo yén informasi ditémbongkeun téh persis sarua.

[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

Salaku hasil executing paréntah getfacl di handap anjeun tiasa ningali yén idin dipidangkeun pikeun tilu objék anu béda: pangguna, grup sareng anu sanésna. Ayeuna hayu urang tambahkeun ACL pikeun masihan maca sareng ngaéksekusi idin ka grup penjualan ogé. paréntah pikeun ieu setfacl -mg: jualan: rx / dir. Dina tim ieu -m nunjukkeun yén setélan ACL ayeuna kudu dirobah. Saatos éta g:jualan:rx ngabejaan paréntah pikeun ngeset read-execute ACL (rx) pikeun grup (g) jualan. Di handap ieu anjeun tiasa ningali kumaha paréntahna, ogé kaluaran paréntah getfacl saatos ngarobih setélan ACL ayeuna.

[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

Ayeuna anjeun ngartos kumaha carana nyetél grup ACL, éta gampang ngartos ACLs pikeun pamaké sarta pamaké séjén. Contona, paréntah setfacl -mu: linda: rwx / data méré idin ka pamaké linda dina / diréktori data tanpa nyieun nu boga atawa ngarobah tugas ti nu boga ayeuna.

regu setfacl gaduh seueur fitur sareng pilihan. Hiji pilihan hususna penting, parameter -R. Upami dianggo, pilihan éta ngajantenkeun ACL kanggo sadaya file sareng subdirektori anu ayeuna aya dina diréktori dimana anjeun nyetél ACL. Dianjurkeun yén anjeun salawasna make pilihan ieu lamun ngarobah ACLs pikeun directories aya.

Gawe sareng ACLs Default

Salah sahiji mangpaat ngagunakeun ACL nyaéta anjeun tiasa masihan idin ka sababaraha pangguna atanapi grup dina diréktori. Kauntungan sanésna nyaéta anjeun tiasa ngaktipkeun warisan ku cara damel sareng ACL standar.

Ku netepkeun standar ACL, Anjeun nangtukeun idin nu bakal disetel ka sadaya item anyar dijieun dina diréktori. Sadar yén ACL standar henteu ngarobih idin kana file sareng subdirektori anu tos aya. Pikeun ngarobih aranjeunna, anjeun kedah nambihan ACL normal ogé!

Ieu penting uninga. Upami anjeun hoyong nganggo ACL pikeun ngonpigurasikeun sababaraha pangguna atanapi grup pikeun ngakses diréktori anu sami, anjeun kedah nyetél ACL dua kali. pamakéan munggaran setfacl -R -mpikeun ngarobah ACL pikeun file ayeuna. Lajeng nganggo setfacl-md:pikeun ngurus sakabeh elemen anyar nu ogé bakal dijieun.

Pikeun nyetél standar ACL anjeun ngan ukur kedah nambihan pilihan d sanggeus pilihan -m (penting pesenan!). Jadi ngagunakeun setfacl -md:g:jualan:rx /dataupami anjeun hoyong penjualan grup maca sareng ngaéksekusi naon waé anu kantos didamel dina diréktori / data.

Nalika nganggo ACL standar, éta ogé tiasa mangpaat pikeun nyetél ACL pikeun anu sanés. Ieu biasana teu asup akal sabab anjeun ogé tiasa ngarobih idin pikeun anu dianggo ku batur chmod. Nanging, naon anu anjeun teu tiasa laksanakeun chmod, nyaéta pikeun nangtukeun hak anu kedah dipasihkeun ka pangguna sanés pikeun unggal file énggal anu kantos didamel. Upami anjeun hoyong nyegah batur meunang idin naon waé anu didamel dina / data contona nganggo setfacl -md:o::- /data.

ACLs sarta idin normal teu salawasna ogé terpadu. Masalah tiasa timbul upami anjeun nerapkeun ACL standar kana diréktori, teras barang-barang nambihkeun kana diréktori éta, teras cobian ngarobih idin normal. Parobahan nu dilarapkeun ka idin normal moal ogé reflected dina tinjauan ACL. Pikeun ngahindarkeun masalah, setel idin normal heula, teras setel ACL standar (sareng cobian henteu ngarobih deui saatos éta).

Conto Manajemén Hak Elevated Ngagunakeun ACLs

Dina conto ieu, anjeun bakal neruskeun kalawan / data / akun jeung / data / diréktori jualan anjeun dijieun saméméhna. Dina conto sateuacana, anjeun mastikeun yén grup penjualan ngagaduhan idin dina /data/sales sareng grup akun gaduh idin dina /data/account.

Kahiji, pastikeun grup akun meunang idin maca dina / data / diréktori jualan jeung grup jualan meunang idin maca dina / data / diréktori akun.

Anjeun teras nyetél ACL standar pikeun mastikeun yén sadaya file énggal gaduh idin anu leres pikeun sadaya item énggal.

  1. Buka terminal.
  2. Laksanakeun setfacl -mg:account:rx /data/sales и setfacl -mg: sales: rx /data/account.
  3. Laksanakeun getfaclpikeun mastikeun idin diatur sakumaha dipikahoyongna.
  4. Laksanakeun setfacl -md:g:account:rwx,g:sales:rx /data/salespikeun nyetel ACL standar pikeun diréktori jualan.
  5. Tambahkeun ACL standar pikeun diréktori / data / akun maké setfacl -md:g:sales:rwx,g:account:rx /data/account.
  6. Pariksa yén setélan ACL aya dina pangaruh ku nambahkeun file anyar / data / jualan. Lengkep touch /data/sales/newfile sareng ngaéksekusi getfacl /data/sales/newfile pikeun mariksa idin ayeuna.

Nyetél idin standar sareng umask

Di luhur, anjeun diajar kumaha dianggo sareng ACL standar. Upami anjeun henteu nganggo ACL, aya pilihan cangkang anu nangtukeun idin standar anu anjeun pikahoyong: umask (topeng sabalikna). Dina bagian ieu, anjeun bakal diajar kumaha carana ngarobah idin standar kalawan umask.

Anjeun panginten perhatikeun yén nalika anjeun nyiptakeun file énggal, sababaraha idin standar diatur. Idin ieu ditangtukeun ku setelan umask. Setelan cangkang ieu manglaku ka sadaya pangguna dina logon. Dina parameter umask nilai numerik dipaké, nu dikurangan ti idin maksimum nu bisa otomatis diatur pikeun file; Setélan maksimum pikeun file nyaéta 666 sareng pikeun diréktori nyaéta 777.

Sanajan kitu, sababaraha iwal dilarapkeun ka aturan ieu. Anjeun tiasa mendakan gambaran lengkep ngeunaan setélan umask dina tabél di handap.

Tina angka dipaké dina umask, Saperti dina kasus argumen numerik pikeun paréntah chmod, angka kahiji nujul kana idin pamaké, angka kadua nujul kana idin grup, jeung nu panungtungan nujul kana idin standar disetel ka batur. Hartina umask standar 022 méré 644 pikeun sakabéh file anyar jeung 755 pikeun sakabéh directories anyar dijieun dina server Anjeun.

Tinjauan lengkep sadaya nilai numerik umask jeung hasil maranéhanana dina tabel di handap.

Idin dina Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Cara anu gampang pikeun ningali kumaha setelan umask jalanna nyaéta kieu: mimitian ku idin standar file disetel ka 666 sareng ngirangan umask pikeun kéngingkeun idin anu efektif. Lakukeun sami pikeun diréktori sareng idin standarna 777.

Aya dua cara pikeun ngarobah setelan umask: pikeun sakabéh pamaké sarta pikeun pamaké individu. Upami anjeun hoyong nyetél umask pikeun sadaya pangguna, anjeun kedah mastikeun yén setélan umask dipertimbangkeun nalika ngamimitian file lingkungan cangkang, sakumaha anu dijelaskeun dina /etc/profile. Pendekatan anu bener nyaéta nyiptakeun skrip cangkang anu disebut umask.sh dina diréktori /etc/profile.d sareng nangtukeun umask anu anjeun hoyong dianggo dina éta naskah cangkang. Upami umask dirobih dina file ieu, éta dilarapkeun ka sadaya pangguna saatos log in kana server.

Alternatif pikeun nyetel umask via / jsb / profil jeung file patali, dimana eta manglaku ka sadaya pamaké log in, nyaéta ngarobah setelan umask dina file disebut .profil nu dijieun dina diréktori imah unggal pamaké.

Setélan nu diterapkeun dina file ieu ngan dilarapkeun ka pamaké individu; ku kituna ieu métode alus lamun perlu leuwih jéntré. Kuring pribadi resep fitur ieu pikeun ngarobah umask standar pikeun pamaké root ka 027 bari pamaké normal ngajalankeun kalawan umask standar tina 022.

Gawe sareng atribut pamaké nambahan

Ieu mangrupikeun bagian ahir ngeunaan idin Linux.

Nalika damel sareng idin, sok aya hubungan antara pangguna atanapi obyék grup sareng idin anu dipiboga ku obyék atanapi grup dina file atanapi diréktori. Métode alternatif pikeun ngajagi file dina server Linux nyaéta nganggo atribut.
Atribut ngalakukeun padamelan na henteu paduli pangguna anu ngaksés file.

Sapertos sareng ACL, atribut file kedah kalebet pilihan gunung.

Ieu pilihan pamaké_xattr. Upami anjeun nampi pesen "operasi henteu didukung" nalika damel sareng atribut pangguna anu diperpanjang, pastikeun pikeun nyetél parameter gunung dina /etc/fstab.

Loba atribut anu documented. Sababaraha atribut sayogi tapi henteu acan dilaksanakeun. Ulah make aranjeunna; aranjeunna moal mawa anjeun nanaon.

Di handap ieu mangrupikeun atribut anu paling kapaké anu anjeun tiasa nerapkeun:

A Atribut ieu mastikeun yén waktos aksés file file henteu robih.
Biasana, unggal waktos file dibuka, waktos aksés file kedah dirékam dina metadata file. Ieu négatip mangaruhan kinerja; jadi pikeun file anu rutin diakses, atribut A bisa dipaké pikeun nganonaktipkeun fitur ieu.

a Atribut ieu ngamungkinkeun anjeun pikeun nambihan tapi henteu ngahapus file.

c Upami anjeun nganggo sistem file anu ngadukung komprési tingkat volume, atribut file ieu ngajamin yén file dikomprés pertama kali mékanisme komprési diaktipkeun.

D Atribut ieu mastikeun yén parobihan kana file ditulis langsung kana disk tinimbang di-cache heula. Ieu mangrupikeun atribut anu mangpaat dina file database penting pikeun mastikeun aranjeunna henteu leungit antara cache file sareng hard drive.

d Atribut ieu mastikeun yén file moal disimpen dina cadangan dimana utilitas dump dianggo.

I atribut ieu ngamungkinkeun indexing pikeun diréktori nu eta diaktipkeun. Ieu nyayogikeun aksés file anu langkung gancang pikeun sistem file primitif sapertos Ext3 anu henteu nganggo pangkalan data B-tangkal pikeun aksés file anu gancang.

i atribut ieu ngajadikeun file immutable. Ku alatan éta, teu aya parobahan anu tiasa dilakukeun kana file, anu mangpaat pikeun file anu peryogi panyalindungan tambahan.

j Atribut ieu mastikeun yén, dina sistem file ext3, file munggaran ditulis kana jurnal teras ka blok data dina hard disk.

s Nimpa blok dimana file disimpen ka 0s saatos ngahapus file. Ieu ensures yén file teu bisa dibalikkeun sakali eta geus dihapus.

u Atribut ieu nyimpen inpormasi ngeunaan ngahapus. Ieu ngamungkinkeun anjeun pikeun ngembangkeun utilitas anu tiasa dianggo sareng inpormasi ieu pikeun nyalametkeun file anu dihapus.

Upami anjeun hoyong nerapkeun atribut, anjeun tiasa nganggo paréntah galecok. Contona, ngagunakeun chattr +s sababaraha filepikeun nerapkeun atribut kana sababaraha file. Kudu ngahapus atribut? Lajeng nganggo chattr -s somefilesarta eta bakal dipiceun. Pikeun kéngingkeun tinjauan sadaya atribut anu ayeuna diterapkeun, paké paréntahna lsattr.

singgetan

Dina artikel ieu, anjeun diajar kumaha carana dianggo kalayan idin. Anjeun maca ngeunaan tilu idin dasar, idin maju, sareng cara nerapkeun ACL dina sistem file. Anjeun ogé diajar kumaha ngagunakeun pilihan umask pikeun nerapkeun idin standar. Dina ahir tulisan ieu, anjeun diajar kumaha ngagunakeun atribut anu diperpanjang ku pangguna pikeun nerapkeun lapisan tambahan kaamanan sistem file.

Upami anjeun resep kana tarjamahan ieu, mangga nyerat perkawis éta dina koméntar. Bakal aya deui motivasi pikeun ngadamel tarjamahan anu mangpaat.

Ngalereskeun sababaraha typos sareng kasalahan gramatikal dina tulisan. Ngurangan sababaraha paragraf anu ageung janten anu langkung alit supados langkung gampang dibaca.

Gantina "Ngan jalma anu gaduh hak administratif kana diréktori tiasa nerapkeun idin ngaéksekusi." dibereskeun kana "Ngan jalma anu gaduh idin nyerat dina diréktori tiasa nerapkeun idin ngaéksekusi.", anu bakal langkung leres.

Hatur nuhun kana komentar bérés.

Digantikeun:
Upami anjeun sanés pamilik pangguna, cangkang bakal mariksa naha anjeun anggota grup, ogé katelah grup file.

Dina:
Upami anjeun sanés anu gaduh file, cangkang bakal pariksa naha anjeun anggota grup anu ngagaduhan idin kana file. Upami anjeun anggota grup ieu, anjeun bakal ngaksés file kalayan idin anu disetél ku grup, sareng cangkang bakal eureun mariksa.

Hatur nuhun kana komentar anjeun CryptoPirate

sumber: www.habr.com

Tambahkeun komentar