Permitir que apenas o proprietário edite arquivos windows / ubuntu

2

Eu não tenho certeza se isso é respondido em outro lugar ou é muito óbvio, mas eu preciso ter uma pasta que eu crie com um novo usuário (admin) tanto no Windows quanto no Ubuntu (onde for possível - preferencialmente ambos) e permitir só eu para modificá-lo e todos os outros (incl. admins) para apenas executá-lo.

Seria ainda melhor se os arquivos estivessem disponíveis apenas para execução e não leitura, mas suspeito que isso seja possível. Eu tentei alterar as permissões no Windows, mas o usuário bloqueado (privilégios de administrador) pode reverter as configurações de volta e ser capaz de editar novamente.

O mesmo acontece com o linux com os comandos chmod ou chown.

Explicação rápida da minha situação e por que preciso disso se alguém tiver uma solução alternativa: preciso configurar um aplicativo da Web local (com servidor) e não quero que os usuários possam modificar ou, melhor ainda, não capaz de ver apenas executar arquivos php ou javascript por causa da segurança do aplicativo.

    
por korun 05.02.2013 / 17:38

3 respostas

1

O problema que você está enfrentando é o fato de ter pessoas com acesso de administrador / raiz no servidor. Ter tais privilégios dá-lhes acesso total a qualquer coisa nesse servidor e não há nada que você possa fazer sobre isso. Mesmo se você alterar as configurações de propriedade ou segurança, elas poderão recuperá-las. Essa é a natureza do controle completo do usuário "superusuário".

Você pode mover o webapp para um servidor no qual eles não têm acesso de administrador / root e, em seguida, seu problema está resolvido. Em uma máquina separada, você pode dar a eles apenas os privilégios de que precisam.

    
por 05.02.2013 / 19:03
1

Não tenho certeza se entendi corretamente. O aplicativo da Web local está na mesma LAN que os usuários ou no mesmo computador?

Se estiver no mesmo computador, você precisa proteger seu sistema de arquivos usando chmod / chown e proteger seu servidor web. No entanto, essa maneira de fazer é particularmente insegura. Isso já é complicado com usuários sem privilégios, mas se seus usuários tiverem direitos de administrador, a alteração da permissão de leitura / gravação / execução não os impedirá de olhar para o seu script e alterá-lo, se quiserem. Você não pode fazer nada contra isso: eles têm todos os poderes, assim como você.

Se estiver na mesma LAN, você não precisa se preocupar com quem pode ver o que está no disco rígido do servidor (bem, pelo menos não muito :)). Se o usuário A puder acessar e modificar o script S quando estiver conectado localmente, ele não poderá modificar S pela Web servidor. Se ele puder (ou se alguém puder fazer isso remotamente), seu servidor da Web não está configurado corretamente. Isso não é uma questão de permissão do sistema de arquivos, é uma questão de configuração do servidor web.

Javascript é mais complicado que PHP: PHP é executado no servidor. Seu cliente não deve ver isso. Javascript é executado na máquina do cliente. Se ele quiser ler / alterar e executar este script, ele pode. Se ele fizer isso, no entanto, isso não alterará nada em seu servidor: ele pode alterar sua cópia local do script apenas.

EDITAR:

A única maneira de ocultar coisas dos outros administradores é:

  • Criptografando seus arquivos
  • Ajuste o sistema operacional para ocultá-los

Os problemas correspondentes são:

  • Arquivos criptografados não podem ser executados como estão. Eles precisam ser descriptografados antes da execução. O que significa que seu script PHP tem que estar em texto claro em algum lugar. O que significa que um administrador curioso pode fazer o que quiser com ele.
  • Existem maneiras de ocultar arquivos no Windows usando alguns ajustes de registro específicos (a maneira como alguns vírus usam para se esconder). Além disso, pode-se alterar o kernel do Linux para fazer a mesma coisa. Mas, mais uma vez, um administrador curioso / motivado pode reverter essas alterações ou encontrar uma solução alternativa. E, adivinhe, você ainda tem que tornar seu script visível para o usuário do servidor web: como administrador, é tão fácil representar esse usuário (solução alternativa trivial encontrada) ...

Conclusão, como eu disse anteriormente, o que você precisa é de um computador onde os outros usuários não tenham direitos ... Ou melhor, um computador onde eles não possam entrar!

    
por 05.02.2013 / 18:46
0

A solução alternativa que encontrei é um aplicativo freeware no Windows:

Easy File Locker - link que faz esse trabalho perfeitamente.

O único problema que tenho é que <?php include ''; ?> não está funcionando se o arquivo estiver oculto, mas a edição está muito bem bloqueada para todos os arquivos.

Ainda procurando por alternativa Linux / Ubuntu.

    
por 05.02.2013 / 22:39