Linux разрешения за системни администратори и разработчици

Linux разрешения за системни администратори и разработчици

Linux разрешения за системни администратори и разработчици

Въпросът за разрешенията в Linux и правилното му използване чрез командата "chmod" е нещо много често излагано и обсъждано в SL общностите. от напреднали потребители, техници и администратори на сървъри и системи. Например в нашия блог имаме 2 много добри публикации за него, които са: Разрешения и права в Linux (01/12) y Основни разрешения в GNU / Linux с chmod (08/16).

Но много пъти SW разработчици кои са тези, които създават приложенията и системите, повечето от тях системи и уебсайтове, когато ги разработват, те обикновено не обмислят кои са правилните разрешения, които да бъдат приложени върху тях, оставяйки задачата почти винаги на страната на сървъра и системните администратори. В тази публикация ще се опитаме да дадем малко насоки в това отношение за тях.

Разрешения за Linux за DevOps / BDA: Въведение

Въвеждане

Командата "коригира»Е много полезен и важен за усъвършенствано използване на Linux-базирани операционни системи. Въпреки това, като такъв "chmod" не е самостоятелен пакет, а е интегриран в пакета "Coreutils«. Пакетът "coreutils" е пакет, който предоставя на Операционната система много основни инструменти за управление на файлове, интерпретатори на команди и текстообработка. И като цяло, той вече е инсталиран по подразбиране в повечето Linux Distros.

По-конкретно, този пакет съдържа, в допълнение към командата "chmod", следните команди: арка base64 basename котка chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env разширяване expr фактор false flock fmt fold групи глава hostid id install присъединяване връзка ln logname ls md5sum mkdir mkfifo mknod mktemp mv nicem mh nicem mh nicem mv nicem mh nicem mh nicem od paste pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred сортиране split split stty sum sync tac tail tail test timeout touch tr true truncate tsort tty uname unpand uniq unlink users vdir wc whoami who yes yes.

В обобщение, командата «chmod» позволява много важната задача за управление на разрешенията за файлове и папки на всички потребители, управлявани от операционната система. Това е така, защото Linux като операционна система е многопотребителска и следователно трябва да предостави на работната среда система за разрешения, която да контролира набора от оторизирани операции с файлове и директории, която включва всички системни ресурси и устройства.

съдържание

Разрешения за Linux за SW / BD: Съдържание 1

Използвайте за разработчици на SW

Администраторът на сървъри и системи (Sysadmin), когато решава какви разрешения да предостави потребител или профил на ниво X на X файл или папка, трябва да знае точно какъв тип операции или процеси трябва да извърши върху тях. В случай на уеб сървър, потребителите могат да бъдат класифицирани в 2 типа:

  1. Администраторски потребители: Които имат потребителски акаунт на сървъра, за да влязат, имат специфични привилегии и които обикновено извършват определени промени (копиране / изтриване / модифициране) в системата или уебсайта, инсталирани например чрез SSH или SFTP.
  2. Потребители, които не са администратори: Че нямат потребителски акаунт на сървъра, тъй като са само посетители на сайта и уеб системата. И следователно те нямат разрешения за директен достъп до файлове и папки, а по-скоро взаимодействат с тях чрез уеб интерфейса на сайта или инсталираната уеб система.

Когато обаче Sysadmin не получава достатъчно или адекватно информация, документация или поддръжка от разработчиците на SW относно възможностите, функционалностите или файловата структура на уеб сайтовете и системите, които ще бъдат инсталирани в крайна сметка изпълнява надеждния максимум, който в този случай обикновено е:

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

И много пъти завършва с:

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

Разрешения за Linux за SW / BD: Съдържание 2

предупредителен

Това обикновено е лоша практика, но обикновено избягва всеки проблем с разрешението и лошото изпълнение на инсталираните уеб сайтове и системи. Лоша практика, тъй като когато командата chmod 777 се изпълнява по този начин върху папката и файловете на сайт или уеб система, изобщо няма сигурност за това.

Давайки възможност на всеки потребител на сайта или уеб системата онлайн да променя или изтрива всеки файл във файловата структура на сайта или уеб системата в рамките на уеб сървъра или извън него, без големи препятствия. Тъй като трябва да се помни, че именно уеб сървърът действа от името на гостуващите потребители и че е способен да променя същите файлове, които се изпълняват.

И в случай, че потребителят е нападател и получи известна уязвимост в сайта или уеб системата, той може лесно да го използва, за да го обезобрази, деактивира, или още по-лошо, вмъкнете злонамерен код за извършване на фишинг атаки или кражба на информация от сървъра, без никой лесно да знае.

Разрешения за Linux за SW / BD: Съдържание 3

Препоръки

За да избегнете този тип мерки, или Sysadmin или разработчикът на SW трябва да гарантира, че папките и файловете на различните системи или уебсайтове носят правилните и необходими разрешения и потребители за да избегнете бъдещи проблеми със сигурността и поверителността.

На ниво разрешение могат да бъдат изпълнени следните 3 команди за възстановяване на нормалните разрешения и потребители на инсталирана система или уебсайт.С други думи, задайте стойността 755 на всички директории и 644 на файлове.

Винаги не забравяйки да ги изпълнявате в папката System или Website, тъй като ако те се изпълняват в по-висока папка (директория), като например коренът на сървъра, командните команди рекурсивно ще модифицират всички разрешения на сървъра, оставяйки го най-вероятно да не работи.

Разрешения за Linux за SW / BD: Съдържание 4

Разрешения, приложени към папки (директории)

Примери

Разрешения за директории и файлове

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

y

chmod 777 -R .

o

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

В случай, че сте извън папката (директорията) на системата или уебсайта.

Потребители на система или уебсайт

chown www-data:www-data -R .

o

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

В случай, че сте извън папката (директорията) на системата или уебсайта. А потребителските www-данни се използват само като пример, тъй като са най-използваните или подходящи, що се отнася до използването на Apache2.

Разрешения за Linux за SW / BD: Съдържание 5

Разрешения, приложени към файлове (файлове)

След като бъдат направени промените в разрешенията, можем да пристъпим към промяна на разрешенията на директориите и файловете, за които искаме да имаме различни разрешения ръчно. И ако е необходимо да смените и собственика на потребителите на необходимите. Следователно, към този момент, както Sysadmin, така и разработчиците на SW трябва да се договорят какви трябва да бъдат необходимите разрешения за всяка папка и файл в системата или структурата на уебсайта.

Разрешения за Linux за SW / BD: Заключение

Заключение

Администрирането на разрешенията за файлове и папки на операционните системи Linux или UNIX е едно от големите предимства и предимства на същите, тъй като те позволяват по-добър, прецизен и безопасен контрол на различните нива на достъп, издание и изпълнение на файловете и папките.

И много повече, когато става въпрос за нивото на уеб сървъри, т.е. където се хостват системите или вътрешните и външните уебсайтове на дадена организация, тъй като е по-висок приоритет да се знае какви разрешения трябва да бъдат присвоени на всяка директория или файл, за да се постигне най-добрият баланс между поверителност, сигурност и функционалност.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   polg28 каза той

    Добро утро, как си?
    Аз се занимавам с linux, имам приложение, което може да импортира файлове от него, потребителят качва .zip, съдържащ папка с xml файлове, след като разархивира файловете, които те се вмъкват в базата данни. В windows нямам проблеми, при предаване на приложението на linux ще ми липсват някои разрешения, по принцип да тествам всичко, което съм направил това, което казват добре в тази статия и не трябва да се прави хаха (но ще сменя веднъж Мога да проверя всички функционалности).
    Факт е, че файловете се декомпресират, но виждам, че те се изтеглят само с разрешения за четене и запис за собственика, четене за групата собственици и без разрешения за други. Когато файловете са собственост на потребителя, който използва приложението. Разбирам, че като няма разрешения за изпълнение, той не може да проследи нормалния поток на процеса и да продължи да вмъква xml в базата данни. На което идва въпросът ми, как мога да дам разрешения на файлове, които все още нямам в системата? В папката, която се изтегля (tmp), има всички разрешения, те се прилагат в курсив, но всеки път, когато файловете се изтеглят в тази папка, те имат само споменатите разрешения. Има ли някакъв начин файловете, които се появяват в тази папка, също да бъдат оставени с разрешения за изпълнение?
    Надявам се да съм бил ясен, благодаря ви много предварително и отличен блог

  2.   Инсталиране след Linux каза той

    Предполагам, че папката / tmp или ... / tmp има 755 разрешения, но въпреки това, когато потребителят, който притежава приложението, ги депозира, той ги оставя с други разрешения. Не съм разработчик, но предполагам, че на езика на приложението или друг може да му посочи рутина, която изпълнява командната команда (bash) на необходимите разрешения (chmod) и собственика на файловете (chown). В противен случай можете да стартирате скрипт всяка минута, в който се изпълнява.