Concede ao usuário acesso a um banco de dados, mas não contém pasta

2

Estou fazendo um programa em python que armazena e modifica o estoque de uma pequena loja, usando bancos de dados SQLite.

Cada empregador será um usuário em um sistema Linux e um usuário no programa. Como o programa modifica bancos de dados, eu preciso que todos os usuários tenham permissões de gravação e leitura em bancos de dados.

O programa tem um terminal incluído, então eu vou fazer um script bash para permitir que o root seja executado, por exemplo: >db , que abrirá a pasta de bancos de dados para um inventário rápido, etc. Mas eu não quero permitir alguns comandos como este para os empregadores. O problema é que se eu sair de permissões para a pasta de contenção para os empregadores com chmod , o usuário não poderá usar o programa ( sqlite3.OperationalError: unable to open database file ).

Posso conseguir isso? Talvez com scripts bash?

    
por Universal_learner 05.05.2018 / 14:28

1 resposta

0

Acho que encontrei um caminho ou uma solução parcial. A partir desta postagem: link Os comandos stat e inotifywait não ajudam porque eles fornecem a mesma saída, independentemente de o usuário estar acessando a pasta ou apenas usando o programa. Mas talvez a auditoria possa me ajudar. Comunicando-se com um subprocesso do programm posso enviar um alerta para a raiz no programa dizendo "usuário acedido a pasta do banco de dados", enquanto o shoper vai ser o único que faz cópias do db, na nuvem no meu caso.

    
por Universal_learner 08.05.2018 / 10:07