Linukso-Permesoj por Sistemaj Administrantoj kaj Programistoj

Linukso-Permesoj por Sistemaj Administrantoj kaj Programistoj

Linukso-Permesoj por Sistemaj Administrantoj kaj Programistoj

La temo de permesoj en Linukso kaj ĝia ĝusta uzo per la komando "chmod" estas io tre ofte elmontrita kaj diskutita en la SL-Komunumoj. de Altnivelaj Uzantoj, Teknikistoj kaj Administrantoj de Serviloj kaj Sistemoj. Ekzemple, en nia Blogo ni havas 2 tre bonajn publikaĵojn pri ĝi, kiuj estas: Permesoj kaj Rajtoj en Linukso (01/12) y Bazaj permesoj en GNU / Linukso kun chmod (08/16).

Sed multfoje Programistoj de SW kiuj estas tiuj, kiuj kreas la Aplikojn kaj Sistemojn, plejparte Sistemojn kaj Retejojn, Kiam ili disvolvas ilin, ili kutime ne konsideras, kiuj estas la ĝustaj permesoj efektivigotaj sur ili, lasante la taskon preskaŭ ĉiam flanke de la Servilo kaj Sistemaj Administrantoj. En ĉi tiu eldonaĵo ni provos iomete orientiĝi pri ĝi por ili.

Linukso-Permesoj por DevOps / BDA: Enkonduko

Enkonduko

La komando "chmod»Estas tre utila kaj grava por progresinta uzo de Linukso-bazitaj Operaciumoj. Tamen, ĉar tia "chmod" ne estas memstara pakaĵo, sed estas integrita al la pakaĵo "korutiloj«. La pako "coreutils" estas pako, kiu provizas la Operaciumon per multaj bazaj iloj por dosieradministrado, komandinterpretiloj kaj tekstoprilaborado. Kaj ĝenerale, ĝi jam estas instalita defaŭlte en plej multaj Linuksaj Distroj.

Specife, ĉi tiu pako enhavas, krom la komando "chmod", la jenajn komandojn: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nicec noh numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred sleep sort split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink users vdir wc who whoami yes.

Resume, la komando «chmod» permesas la tre gravan taskon administri la permesojn pri dosieroj kaj dosierujoj al ĉiuj uzantoj administrataj de la Operaciumo. Ĉi tio estas ĉar Linukso kiel Operaciumo estas multuzanta, kaj tial ĝi bezonas provizi al la labormedio permesan sistemon por kontroli la aron de rajtigitaj operacioj en dosieroj kaj adresaroj, kiu inkluzivas ĉiujn sistemajn rimedojn la aparatoj.

Enhavo

Linukso-Permesoj por SW / BD: Enhavo 1

Uzu por programistoj de SW

Administranto de Servilo kaj Sistemoj (Sysadmin) decidante kiajn permesojn doni al Uzanto de X-nivelo aŭ profilo en X-dosiero aŭ dosierujo, bezonas scii ĝuste kian specon de operacioj aŭ procezoj ili devas plenumi sur ili. Kaze de retservilo, uzantoj povas esti klasifikitaj en 2 specojn:

  1. Administrantoj: Kiuj havas uzantan konton en la servilo por ensaluti, havas specifajn privilegiojn kaj kiuj ĝenerale faras iujn ŝanĝojn (kopii / forigi / modifi) en la Sistemo aŭ Retejo instalita per SSH aŭ SFTP, ekzemple.
  2. Neadministrantaj Uzantoj: Ke ili ne havas uzantan konton en la servilo, ĉar ili estas nur vizitantoj al la retejo kaj retsistemo. Kaj tial ili ne havas permesojn aliri dosierojn kaj dosierujojn rekte, sed prefere interagi kun ili, per la interreta interfaco de la retejo aŭ instalita Retsistemo.

Tamen, kiam Sysadmin ne ricevas sufiĉe aŭ adekvate informoj, dokumentado aŭ subteno de SW-programistoj pri la kapabloj, funkciecoj aŭ dosierstrukturo de la instalotaj retejoj kaj sistemoj finas plenumi la fidindan maksimumon, kiu ĉi-kaze kutime estas:

chmod 777 -R /var/www/sistema-web

Kaj multfoje ĝi finiĝas per:

chown root:root -R /var/www/sistema-web

Linukso-Permesoj por SW / BD: Enhavo 2

Averto

Ĉi tio kutime estas malbona praktiko, sed ĝi kutime evitas ĉian problemon pri permeso kaj malbona ekzekuto de la instalitaj retejoj kaj sistemoj. Malbona praktiko, ĉar kiam la ordono chmod 777 estas tiamaniere plenumita en la dosierujo kaj dosieroj de retejo aŭ reteja sistemo, tute ne estas sekureco pri ĝi.

Ebligante al iu ajn uzanto de la Retejo aŭ Reta Sistemo interrete ŝanĝi aŭ forigi iun ajn dosieron ene de la dosierstrukturo de la Retejo aŭ Reteja Sistemo ene de la Retservilo aŭ preter, sen gravaj malhelpoj. Ĉar oni devas memori, ke estas la Retservilo, kiu agas nome de la vizitantaj uzantoj, kaj ke ĝi kapablas ŝanĝi la samajn dosierojn ekzekutitajn.

Kaj se la uzanto estas atakanto, kaj ricevas iun vundeblecon en la Retejo aŭ Reteja Sistemo, li povus facile ekspluati ĝin por malbeligi ĝin, malebligi ĝin, aŭ pli malbone, enmetu malican kodon por fari phishing-atakojn aŭ ŝteli informojn de la servilo sen iu facile scii.

Linukso-Permesoj por SW / BD: Enhavo 3

Rekomendoj

Por eviti ĉi tiajn rimedojn Sysadmin aŭ SW Developer devas certigi, ke la dosierujoj kaj dosieroj de la diversaj sistemoj aŭ retejoj havas la ĝustajn kaj necesajn permesojn kaj uzantojn. por eviti estontajn sekurecajn kaj privatajn problemojn.

Je la nivelo de permeso, la jenaj 3 komandoj povas plenumi por normaligi la permesojn kaj uzantojn de instalita Sistemo aŭ Retejo.Tio estas agordi la valoron 755 al ĉiuj dosierujoj kaj 644 al dosieroj.

Ĉiam memorante plenumi ilin ene de la dosierujo Sistemo aŭ Retejo, ĉar se ili estas plenumitaj en pli alta dosierujo (dosierujo), kiel ekzemple la radiko de la servilo, la komandaj komandoj rekursive modifos ĉiujn permesojn de la Servilo, lasante ĝin plej probable senfunkcia.

Linukso-Permesoj por SW / BD: Enhavo 4

Permesoj aplikitaj al dosierujoj (adresaroj)

Ekzemploj

Permesoj pri dosierujoj kaj dosieroj

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

Kaze de esti ekster la dosierujo (dosierujo) de la Sistemo aŭ Retejo.

Uzantoj de Sistemo aŭ Retejo

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

Kaze de esti ekster la dosierujo (dosierujo) de la Sistemo aŭ Retejo. Kaj la uzanto www-data estas uzata nur kiel ekzemplo, ĉar ĝi estas la plej uzata aŭ taŭga koncerne la uzon de Apache2.

Linukso-Permesoj por SW / BD: Enhavo 5

Permesoj aplikitaj al Dosieroj (Dosieroj)

Post kiam la permesaj ŝanĝoj estas faritaj, ni povas daŭrigi modifi la permesojn de la dosierujoj kaj dosieroj, kiujn ni volas havi malsamajn permesojn permane.. Kaj se necesas ankaŭ ŝanĝi la posedantajn uzantojn de la necesaj. Sekve, ĉe ĉi tiu punkto, ambaŭ Sysadmin kaj la SW-Programistoj devas konsenti pri tio, kio devas esti la necesaj permesoj por ĉiu dosierujo kaj dosiero en la sistemo aŭ reteja strukturo.

Linukso-Permesoj por SW / BD: Konkludo

konkludo

La administrado de permesoj pri la dosieroj kaj dosierujoj de Linukso aŭ UNIX-operaciumoj estas unu el la grandaj avantaĝoj kaj avantaĝoj de la sama, ĉar ili permesas pli bonan, precizan kaj sekuran kontrolon de la malsamaj niveloj de aliro, eldono kaj ekzekuto en la dosieroj kaj dosierujoj.

Kaj multe pli, kiam temas pri la nivelo de Retserviloj, tio estas, kie la Sistemoj aŭ internaj kaj eksteraj Retejoj de Organizo estas gastigitaj, ĉar estas pli alta prioritato scii, kiajn permesojn oni atribuu al ĉiu dosierujo aŭ dosiero, por atingi la plej bonan ekvilibron inter privateco, sekureco kaj funkcieco.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

2 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   Polg28 diris

    Bonan matenon. Kiel vi fartas?
    Mi okupiĝas pri linukso, mi havas aplikaĵon, kiu povas importi dosierojn de ĝi, la uzanto alŝutas .zip enhavantan dosierujon kun XML-dosieroj, post malzipado de la dosieroj, kiujn ili enmetas en la datumbazon. En Windows mi ne havas problemojn, kiam mi transdonas la aplikaĵon al linux, mankus al mi iuj permesoj, principe por testi ĉion, kion mi bone faris, kion ili diras en ĉi tiu artikolo kaj ĝi ne devas esti farita haha ​​(sed mi ŝanĝos post kiam mi povos validigi ĉiujn funkciojn) .
    Fakte la dosieroj estas malkunpremitaj, sed mi vidas, ke ili estas elŝutitaj nur kun legaj kaj skribaj rajtoj por la posedanto, legataj por la posedanta grupo kaj sen permesoj por aliaj. Kiam la dosieroj estas posedataj de la uzanto, kiu uzas la aplikaĵon. Mi komprenas, ke ne havante la ekzekutajn permesojn, ĝi ne povas sekvi la normalan fluon de la procezo kaj enigi la XML en la datumbazon. Al kio venas mia demando, kiel mi povas doni permesojn al dosieroj, kiujn mi ankoraŭ ne havas en la sistemo? En la elŝutita dosierujo (tmp) ĝi havas ĉiujn permesojn, ili estas aplikataj laŭ kursiva maniero, sed ĉiufoje, kiam dosieroj estas elŝutitaj en tiu dosierujo, ili nur havas la menciitajn permesojn. Ĉu ekzistas ia maniero, ke la dosieroj, kiuj aperas en tiu dosierujo, ankaŭ povas esti plenumitaj kun ekzekutaj permesoj?
    Mi esperas, ke mi estis klara, dankegon anticipe kaj bonega blogo

  2.   Linuksa Afiŝinstalo diris

    Mi supozas, ke la dosierujo / tmp aŭ ... / tmp havas 755 permesojn, sed malgraŭ tio, kiam la uzanto, kiu posedas la programon, deponas ilin, li lasas ilin kun aliaj permesoj. Mi ne estas programisto, sed mi supozas, ke en la lingvo de la programo aŭ alia povus indiki al ĝi rutinon, kiu plenumas la komandan komandon (bash) de la necesaj permesoj (chmod) kaj la posedanton de la dosieroj (chown). Alie, vi povus ruli skripton ĉiun minuton, kiam ĝi ruliĝas.