Permisos de Linux per a Administradors i Desenvolupadors de Sistemes

Permisos de Linux per a Administradors i Desenvolupadors de Sistemes

Permisos de Linux per a Administradors i Desenvolupadors de Sistemes

El tema dels permisos en Linux i el seu correcte ús mitjançant la comanda «chmod» és una cosa molt comunament exposat i discutit en les Comunitats de SL pels Usuaris avançats, Tècnics i Administradors de servidors i Sistemes. Per exemple al nostre Blog disposem de 2 publicacions molt bones a l'respecte, que són: Permisos i drets en Linux (01/12) y Permisos bàsics en GNU / Linux amb chmod (08/16).

Però, moltes vegades els Desenvolupadors de SW que són els que creen les Aplicacions i Sistemes, la majoria d'ells Sistemes i pàgines web, a l'desenvolupar-los no solen considerar quins són els correctes permisos a implementar-se sobre els mateixos, Deixant la tasca gairebé sempre de la banda dels administradors de servidors i Sistemes. En aquesta publicació tractarem de donar una petita orientació a l'respecte per als mateixos.

Permisos de Linux per devops / BDA: Introducció

Introducció

La comanda «Chmod»És molt útil i important per a un ús avançat dels sistemes operatius basats en Linux. No obstant això, com a tal «chmod» no és un paquet independent, sinó que ve integrat dins el paquet «coreutils«. El paquet «coreutils» és un paquet que proveeix a el Sistema Operatiu de moltes eines bàsiques per a la gestió de fitxers, d'intèrprets d'ordres, i de procés de textos. I en general, el mateix ja ve instal·lat per defecte en la majoria de les Distros Linux.

Específicament, aquest paquet conté, a més de la comanda «chmod», les següents comandes: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du trobo env expand expr factor false flock fmt fold groups head hostid id install join link ln LOGNAME ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc numfmt od paste pathchk Pinky pr printenv printf PTX pwd readlink realpath rm rmdir runcon xa * 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.

En resum, la comanda «chmod» permet la tan important tasca de l'administració dels permisos sobre arxius i carpetes a tots els usuaris gestionats pel Sistema Operatiu. Això a causa que Linux com a Sistema Operatiu és multi-usuari, i per tant, necessita proveir a l'entorn de treball d'un sistema de permisos per controlar el conjunt d'operacions autoritzades sobre els arxius i directoris, el que inclou tots els recursos de sistema i els dispositius.

Contingut

Permisos de Linux per SW / BD: continguts 1

Ús per Desenvolupadors de SW

Un Administrador de Servidors i Sistemes (sysadmin) a l'hora de decidir quins permisos ha d'atorgar a un Usuari de X nivell o perfil sobre X arxiu o carpeta, necessita saber exactament quin tipus d'operacions o processos necessiten aquests realitzar sobre els mateixos. En el cas d'un Servidor Web es poden classificar els Usuaris en 2 tipus:

  1. Usuaris Administradors: Que posseeixen un compte d'usuari al servidor per a iniciar sessió, posseeixen privilegis específics, i que en general duen a terme certs canvis (copiar / esborrar / modificar) en el Sistema o Lloc web instal·lat via SSH o SFTP, per exemple.
  2. Usuaris No Administradors: Que no posseeixen un compte d'usuari al servidor, ja que només són visitants del Lloc i Sistema web. I per tant, no tenen autorització per accedir als arxius i carpetes directament, sinó que interactuen amb ells, mitjançant la interfície web del Lloc o Sistema Web instal·lat.

No obstant això, quan un sysadmin no rep la suficient o l'adequada informació, documentació, o suport per part dels Desenvolupadors de SW sobre les capacitats, funcionalitats o l'estructura d'arxius dels Llocs i Sistemes Web a instal·lar acaba per executar la màxima fiable, que en aquest cas sol ser:

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

I moltes vegades remata amb:

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

Permisos de Linux per SW / BD: continguts 2

Notes

Aquesta sol ser una mala pràctica, però que sol evita d'arrel qualsevol problema de permisología i de mala execució dels Llocs i Sistemes Web instal·lats. Una mala pràctica, ja que quan la comanda chmod 777 és executat d'aquesta manera sobre la carpeta i arxius d'un lloc web o Sistema web, no té cap seguretat en absolut sobre ell.

Fent possible que qualsevol usuari del Lloc o Sistema Web en línia pugui canviar o eliminar qualsevol arxiu dins de l'estructura d'arxius del Lloc o Sistema web dins el Servidor Web o més enllà, sense més obstacles. Ja que s'ha de recordar que és el Servidor Web el qual actua en nom dels usuari visitants, i que el mateix és capaç de canviar els mateixos arxius que s'estan executant.

I en el cas que l'usuari sigui un atacant, i aconsegueixi alguna vulnerabilitat en el Lloc o Sistema web, podria fàcilment explotar el mateix per a desfigurar-lo, deshabilitar, O pitjor encara inserir codi maliciós per a executar atacs de phishing, o robar informació de servidor sense que ningú pugui saber-ho fàcilment.

Permisos de Linux per SW / BD: continguts 3

Recomanacions

Per evitar aquest tipus de mesures, ja sigui el sysadmin o el Desenvolupador de SW, han de procurar que les carpetes i els arxius dels diversos Sistemes o pàgines web portin els correctes i necessaris permisos i usuaris per evitar futurs problemes de seguretat i privacitat.

A nivell de permisos es poden realitzar les següents 3 ordres de comandes per restaurar a la normalitat els permisos i els usuaris d'un Sistema o lloc Web instal·lat, És a dir, establir com a valor 755 a tots els directoris i 644 als arxius.

Recordant sempre executar les mateixes dins de la carpeta d'el Sistema o lloc Web, Ja que si s'executen les mateixes en una carpeta (directori) superior, com per exemple, l'arrel de servidor, la ordres de comandament modificaran recursivament tots els permisos de l'Servidor, deixant-ho molt probablement inoperatiu.

Permisos de Linux per SW / BD: continguts 4

Permisos aplicats a Carpetes (Directoris)

exemples

Permisos dels directoris i arxius

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

y

chmod 777 -R .

o

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

En cas d'estar fora de la carpeta (directori) de l'Sistema o Lloc Web.

Usuaris de el Sistema o lloc Web

chown www-data:www-data -R .

o

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

En cas d'estar fora de la carpeta (directori) de l'Sistema o Lloc Web. I l'usuari www-data només és usat com a exemple, ja que és el més usat o adequat pel que fa a l'ús de Apache2 es refereix.

Permisos de Linux per SW / BD: continguts 5

Permisos aplicats a arxius (Fitxers)

Un cop realitzats els canvis de permisos, es pot procedir a modificar els permisos dels directoris i arxius que desitgem que tinguin permisos diferents de manera manual. I en cas de ser necessari canviar també els usuaris propietaris dels necessaris. Per això, arribat a aquest punt tant els sysadmin com els Desenvolupadors de SW han d'acordar quals han de ser els necessaris permisos per a cada carpeta i arxiu de l'estructura de l'Sistema o Lloc Web.

Permisos de Linux per SW / BD: Conclusió

Conclusió

L'administració dels permisos sobre els arxius i carpetes dels Sistemes Operatius Linux o tipus UNIX, és una de les grans avantatges i beneficis dels mateixos, Ja que permeten un millor, precís i segur control dels diferents nivells d'accés, edició i execució sobre els arxius i carpetes.

I molt més, quan es tracta a nivell de servidors web, és a dir, on estan allotjats els Sistemes o pàgines web interns i externs d'una organització, ja que és de major prioritat el conèixer quins permisos s'han d'assignar a cada directori o arxiu, per aconseguir el millor balanç entre privacitat, seguretat i funcionalitat.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Polg28 va dir

    Bon dia, com estan?
    Estic incursions en linux, tinc una aplicació que es poden importar arxius des d'ella, l'usuari puja un .zip que conté una carpeta amb arxius xml, després de descomprimir els arxius s'insereixen a la base de dades. En windows no tinc problemes, a el passar l'aplicació a linux em estarien faltant alguns permisos, en principi per provar tot eh realitzat el que bé comenten en aquest article i no s'ha de fer jaja (però que canviés un cop pugui validar totes les funcionalitats) .
    El cas és que s'arriben a descomprimir els arxius però veig que, es descarreguen només amb permisos de lectura i escriptura per a propietari, lectura per grup propietari i sense permisos per a altres. Quan el propietari dels arxius són de l'usuari que utilitza l'aplicació. Entenc que a el no tenir els permisos d'execució no aquesta pot seguir el flux normal de l'procés i procedir a inserir els xml a la base. Al que ve el meu dubte, ¿com puc donar permisos a arxius que encara no tinc en el sistema? A la carpeta que es descarreguen (tmp) té tots els permisos, se'ls apliqui de forma re-cursiva però cada vegada que es descarreguen arxius dins d'aquesta carpeta només tenen els permisos esmentats. Existeix algun manera que els arxius que apareguin en aquesta carpeta puguin quedar amb permisos d'execució també?
    Espero haver estat clar, des de ja moltes gràcies i excel·lent bloc

  2.   Linux Post Install va dir

    Assumeixo que la carpeta / tmp o ... / tmp té 755 de permisos però tot i així quan l'usuari propietari de l'aplicació dels diposita els deixa amb altres permisos. Jo no sóc desenvolupador però assumeixo que en el llenguatge de l'aplicació o una altra es podria indicar-li a la mateixa una rutina que executi l'ordre de comandament (bash) dels permisos necessaris (chmod) i el propietari dels arxius (chown). De resta, podries executar un script cada minut que executi les mateixes.