{"id":55251,"date":"2020-01-16T00:00:00","date_gmt":"2020-01-15T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/fajlovye-razresheniya-v-linux"},"modified":"2020-02-18T14:03:21","modified_gmt":"2020-02-18T11:03:21","slug":"fajlovye-razresheniya-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/fajlovye-razresheniya-v-linux","title":{"rendered":"Permiss\u00f5es de arquivos no Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Ol\u00e1 a todos. Estamos ativamente nos integrando ao trabalho e j\u00e1 em janeiro preparamos muitos lan\u00e7amentos poderosos. Entre outros, estamos anunciando a abertura de novas turmas do curso que todos amaram. <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rbVT\/\">Administrador Linux<\/a><\/noindex>. Na antev\u00e9spera do lan\u00e7amento, tradicionalmente compartilhamos a tradu\u00e7\u00e3o de material \u00fatil.<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Permiss\u00f5es de arquivos no Linux\" src=\"\/wp-content\/uploads\/2020\/01\/451acace5e0a9088355acb800d789db9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p><i>As permiss\u00f5es de arquivo oferecem uma alternativa segura para arquivos execut\u00e1veis SUID, mas podem parecer um pouco confusas \u00e0 primeira vista.<\/i><\/p><\/blockquote>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTodos n\u00f3s sabemos que os arquivos bin\u00e1rios <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Setuid#Security\">SUID<\/a><\/noindex> s\u00e3o <noindex><a rel=\"nofollow\" href=\"http:\/\/en.wikipedia.org\/wiki\/Setuid#Security\">s\u00e3o uma solu\u00e7\u00e3o ruim do ponto de vista da seguran\u00e7a.<\/a><\/noindex>Felizmente, se seu aplicativo requer algumas permiss\u00f5es limitadas, existe uma maneira mais eficiente chamada <noindex><a rel=\"nofollow\" href=\"http:\/\/www.linuxjournal.com\/article\/5737\">permiss\u00f5es de arquivo.<\/a><\/noindex>.<\/p>\n<p>Vou economizar seu tempo se voc\u00ea quiser evitar a leitura detalhada do artigo acima: essencialmente, as permiss\u00f5es de arquivo permitem que processos executados no nome do usu\u00e1rio root, e portanto, t\u00eam o direito de fazer qualquer coisa, mantenham certas capacidades restritas a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.kernel.org\/doc\/man-pages\/online\/pages\/man7\/capabilities.7.html\">esta lista<\/a><\/noindex>, quando eles desligam as permiss\u00f5es e rodam como um usu\u00e1rio n\u00e3o privilegiado. Isso significa que, se um invasor conseguir comprometer um processo atrav\u00e9s de um estouro de buffer ou outro exploit, ele n\u00e3o poder\u00e1 obter nada al\u00e9m de certas permiss\u00f5es m\u00ednimas que s\u00e3o realmente necess\u00e1rias para o processo.<\/p>\n<p>As permiss\u00f5es s\u00e3o \u00f3timas para servi\u00e7os que geralmente sempre rodam sob o nome do usu\u00e1rio root, mas e quanto \u00e0s utilit\u00e1rios de linha de comando? Felizmente, isso tamb\u00e9m \u00e9 suportado, desde que voc\u00ea tenha as utilit\u00e1rios adequadas instaladas. Se voc\u00ea estiver usando o Ubuntu, precisar\u00e1 do pacote <code>libcap2-bin.<\/code>Voc\u00ea tamb\u00e9m precisar\u00e1 rodar um n\u00facleo n\u00e3o arcaico (a partir da vers\u00e3o<b> 2.6.24<\/b>).<\/p>\n<p>Essas fun\u00e7\u00f5es permitem vincular permiss\u00f5es a arquivos execut\u00e1veis de forma semelhante \u00e0 configura\u00e7\u00e3o do bit SUID, mas apenas para um conjunto espec\u00edfico de permiss\u00f5es. A ferramenta <code>setcap<\/code> \u00e9 usada para adicionar e remover permiss\u00f5es de um arquivo.<\/p>\n<p>O primeiro passo \u00e9 escolher as permiss\u00f5es que voc\u00ea precisa. Para este artigo, suponho que existe uma ferramenta de diagn\u00f3stico de rede chamada <code>tracewalk<\/code>, que deve ser capaz de utilizar <noindex><a rel=\"nofollow\" href=\"http:\/\/man7.org\/linux\/man-pages\/man7\/raw.7.html\">sockets brutos.<\/a><\/noindex>Normalmente, isso requer que o aplicativo seja executado sob o nome do usu\u00e1rio root, mas ao examinar <noindex><a rel=\"nofollow\" href=\"http:\/\/www.kernel.org\/doc\/man-pages\/online\/pages\/man7\/capabilities.7.html\">lista <\/a><\/noindex>descobrimos que s\u00f3 \u00e9 necess\u00e1ria a permiss\u00e3o <code>CAP_NET_RAW.<\/code>.<\/p>\n<p>Assumindo que voc\u00ea esteja no diret\u00f3rio onde o execut\u00e1vel est\u00e1 localizado <code>tracewalk<\/code>, voc\u00ea pode adicionar essa permiss\u00e3o da seguinte forma:<\/p>\n<pre><code class=\"bash\">sudo setcap cap_net_raw=eip tracewalk<\/code><\/pre>\n<p>\nIgnore o sufixo por enquanto <code>=eip<\/code> para a permiss\u00e3o, falarei sobre isso em alguns segundos. Observe que o nome da permiss\u00e3o est\u00e1 em letras min\u00fasculas. Agora voc\u00ea pode verificar se configurou as permiss\u00f5es corretamente com:<\/p>\n<pre><code class=\"bash\">setcap -v cap_new_raw=eip tracewalk<\/code><\/pre>\n<p>\nOu voc\u00ea pode listar todas as permiss\u00f5es definidas para o execut\u00e1vel:<\/p>\n<pre><code class=\"bash\">getcap tracewalk\n<\/code><\/pre>\n<p>\nPara sua informa\u00e7\u00e3o, voc\u00ea tamb\u00e9m pode remover todas as permiss\u00f5es do execut\u00e1vel usando:<\/p>\n<pre><code class=\"bash\">setcap -r tracewalk<\/code><\/pre>\n<p>\nNesse ponto, voc\u00ea deve ser capaz de executar o arquivo execut\u00e1vel como um usu\u00e1rio n\u00e3o privilegiado, e ele deve ser capaz de trabalhar com sockets brutos, mas n\u00e3o ter nenhuma outra privil\u00e9gio que o usu\u00e1rio root possui.<\/p>\n<p>Ent\u00e3o, o que significa esse estranho sufixo <code>=eip<\/code>? \u0417\u0434\u0435\u0441\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u0438\u043a\u0430 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u0440\u043e\u0434\u044b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u043c\u0435\u0435\u0442 \u0442\u0440\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u2014 <i>efetivas, herd\u00e1veis e permitidas (effective, inheritable e permitted)<\/i>:<\/p>\n<ul>\n<li><b>Efetivas (Effective)<\/b> as permiss\u00f5es s\u00e3o aquelas que determinam o que o processo pode realmente fazer. Por exemplo, ele n\u00e3o pode lidar com sockets brutos se <code>CAP_NET_RAW.<\/code> n\u00e3o estiver no conjunto efetivo.<\/li>\n<li><b>Permitidas (Permitted)<\/b> as permiss\u00f5es s\u00e3o aquelas que o processo est\u00e1 autorizado a ter se as solicitar com a chamada apropriada. Elas n\u00e3o permitem que o processo realmente fa\u00e7a nada, a menos que tenha sido especificamente escrito para solicitar a permiss\u00e3o especificada. Isso permite que os processos sejam escritos para adicionar permiss\u00f5es especialmente importantes ao conjunto efetivo apenas pelo tempo em que realmente s\u00e3o necess\u00e1rias.<\/li>\n<li><b>Herd\u00e1veis (Inheritable)<\/b> as permiss\u00f5es s\u00e3o aquelas que podem ser herdadas no conjunto dispon\u00edvel do processo filho gerado. Durante a opera\u00e7\u00e3o <code>fork()<\/code> ou <code>clone()<\/code> o processo filho sempre recebe uma c\u00f3pia das permiss\u00f5es do processo pai, uma vez que nesse momento ele ainda est\u00e1 executando o mesmo execut\u00e1vel. O conjunto herd\u00e1vel \u00e9 usado quando <code>exec()<\/code> (ou equivalente) \u00e9 chamado para substituir o execut\u00e1vel por outro. Nesse ponto, o conjunto dispon\u00edvel do processo \u00e9 mascarado pelo conjunto herd\u00e1vel para obter o conjunto dispon\u00edvel que ser\u00e1 usado para o novo processo.<\/li>\n<\/ul>\n<p>\nAssim, a ferramenta <code>setcap<\/code> permite-nos adicionar permiss\u00f5es desses tr\u00eas conjuntos de forma independente para este execut\u00e1vel. Observe que o valor do grupo \u00e9 interpretado de forma um pouco diferente para as permiss\u00f5es de arquivos:<\/p>\n<ul>\n<li><b>Fontes de alimenta\u00e7\u00e3o <\/b>as permiss\u00f5es de arquivo s\u00e3o aquelas que sempre est\u00e3o dispon\u00edveis para o execut\u00e1vel, mesmo que o processo pai que o chamou n\u00e3o as possu\u00edsse. Antigamente eram conhecidas como permiss\u00f5es 'for\u00e7adas'.<\/li>\n<li><b>Herdadas <\/b>as permiss\u00f5es de arquivo definem uma m\u00e1scara adicional que tamb\u00e9m pode ser usada para remover permiss\u00f5es do conjunto do processo chamador. Elas s\u00e3o aplicadas al\u00e9m do conjunto herdado do processo chamador, portanto, a permiss\u00e3o s\u00f3 \u00e9 herdada se existir em ambos os conjuntos.<\/li>\n<li><b>Eficazes <\/b>as permiss\u00f5es de arquivo na verdade representam apenas um bit, e n\u00e3o um conjunto, e se estiver configurado, isso significa que todo o conjunto dispon\u00edvel tamb\u00e9m \u00e9 copiado para o conjunto efetivo do novo processo. Isso pode ser usado para adicionar permiss\u00f5es a processos que n\u00e3o foram especificamente escritos para solicit\u00e1-las. Como esse \u00e9 um bit, se voc\u00ea o configurar para alguma permiss\u00e3o, ele deve ser configurado para todas as permiss\u00f5es. Voc\u00ea pode pensar nele como um bit legado, pois \u00e9 usado para permitir o uso de permiss\u00f5es para aplicativos que n\u00e3o as suportam.<\/li>\n<\/ul>\n<p>\nAo especificar permiss\u00f5es atrav\u00e9s de <code>setcap<\/code> tr\u00eas letras <code>e<\/code>, <code>i<\/code> e <code>p<\/code> referem-se a <i>efetivo, herdado e acess\u00edvel<\/i> conjuntos, respectivamente. Assim, a especifica\u00e7\u00e3o anterior:<\/p>\n<pre><code class=\"bash\">sudo setcap cap_net_raw=eip tracewalk<\/code><\/pre>\n<p>\nindica que a permiss\u00e3o <code>CAP_NET_RAW.<\/code> deve ser adicionada aos conjuntos dispon\u00edveis e herdados e que o bit efetivo deve ser definido. Isso substituir\u00e1 quaisquer permiss\u00f5es anteriormente estabelecidas no arquivo. Para definir v\u00e1rias permiss\u00f5es ao mesmo tempo, use uma lista separada por v\u00edrgulas:<\/p>\n<pre><code class=\"bash\">sudo setcap cap_net_admin,cap_net_raw=eip tracewalk<\/code><\/pre>\n<p>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.kernel.org\/doc\/man-pages\/online\/pages\/man7\/capabilities.7.html\">O guia de permiss\u00f5es<\/a><\/noindex> discute tudo isso em mais detalhes, mas, espero, esta postagem desmistificou um pouco o que est\u00e1 acontecendo. Resta apenas mencionar algumas advert\u00eancias e truques.<\/p>\n<p>Primeiro, as capacidades de arquivo n\u00e3o funcionam com links simb\u00f3licos \u2014 voc\u00ea deve aplic\u00e1-las ao pr\u00f3prio arquivo bin\u00e1rio (ou seja, ao destino do link simb\u00f3lico).<\/p>\n<p>Em segundo lugar, eles n\u00e3o funcionam com scripts interpretados. Por exemplo, se voc\u00ea tiver um script Python ao qual deseja atribuir permiss\u00f5es, deve atribu\u00ed-las ao pr\u00f3prio interpretador Python. Isso \u00e9, evidentemente, um potencial problema de seguran\u00e7a, pois, assim, todos os scripts executados com esse interpretador ter\u00e3o a permiss\u00e3o especificada, embora ainda seja muito melhor do que fazer SUID. A solu\u00e7\u00e3o mais comum parece ser escrever um execut\u00e1vel separado em C ou equivalente, que possa realizar as opera\u00e7\u00f5es necess\u00e1rias e cham\u00e1-lo a partir do script. Isso \u00e9 semelhante \u00e0 abordagem utilizada pelo Wireshark, que utiliza um arquivo bin\u00e1rio. <code>\/usr\/bin\/dumpcap<\/code> para executar opera\u00e7\u00f5es privilegiadas:<\/p>\n<pre><code class=\"bash\">$ getcap \/usr\/bin\/dumpcap \n\/usr\/bin\/dumpcap = cap_net_admin,cap_net_raw+eip<\/code><\/pre>\n<p>\nEm terceiro lugar, as permiss\u00f5es de arquivos s\u00e3o desativadas se voc\u00ea usar uma vari\u00e1vel de ambiente <code>LD_LIBRARY_PATH<\/code> por raz\u00f5es de seguran\u00e7a \u00f3bvias<i>(1)<\/i>. O mesmo se aplica a <code>LD_PRELOAD<\/code>, pelo que sei.<\/p>\n<p><i>1. Como um invasor, evidentemente, pode substituir uma das bibliotecas padr\u00e3o e usar <code>LD_LIBRARY_PATH<\/code>, para fazer com que sua biblioteca seja chamada em vez da sistema, e, assim, ter seu pr\u00f3prio c\u00f3digo arbitr\u00e1rio executado com os mesmos privil\u00e9gios que o aplicativo chamador. <br \/>\n<\/i><\/p>\n<p><i><b>Isso \u00e9 tudo. Detalhes sobre o programa do curso estar\u00e3o dispon\u00edveis no <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rbVT\/\">webinar que ocorrer\u00e1 em 24 de janeiro.<\/a><\/noindex><\/b><\/i><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/483934\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u043b\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0443\u0436\u0435 \u0432 \u044f\u043d\u0432\u0430\u0440\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432. \u0421\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0438\u0445, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043d\u0430\u0431\u043e\u0440 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u043f\u043e\u043b\u044e\u0431\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u0432\u0441\u0435\u043c \u043a\u0443\u0440\u0441\u0430 \u00ab\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Linux\u00bb. \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. \u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c SUID, \u043d\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434. \u0412\u0441\u0435 \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55252,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55251","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u043b\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0443\u0436\u0435 \u0432 \u044f\u043d\u0432\u0430\u0440\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/fajlovye-razresheniya-v-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u043b\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0443\u0436\u0435 \u0432 \u044f\u043d\u0432\u0430\u0440\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/fajlovye-razresheniya-v-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-15T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Permiss\u00f5es de arquivos no Linux | ProHoster","description":"Ol\u00e1 a todos. Estamos nos integrando ativamente ao trabalho e j\u00e1 estamos preparando muitos lan\u00e7amentos poderosos para janeiro.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/fajlovye-razresheniya-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0424\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 Linux | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0432\u043b\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0443\u0436\u0435 \u0432 \u044f\u043d\u0432\u0430\u0440\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/fajlovye-razresheniya-v-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-15T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55251","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:47:37","updated":"2022-09-30 13:42:26","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=55251"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/55251\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/55252"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=55251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=55251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=55251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}