Предоставить пользователю доступ к базе данных, но не к папке

Я делаю программу на python, которая хранит и модифицирует запасы небольшого магазина, используя базы данных SQLite.

Каждый работодатель будет пользователем системы Linux и пользователем программы. Поскольку программа изменяет базы данных, мне нужно, чтобы у каждого пользователя были права на запись и чтение в базах данных.

В программу включен терминал, поэтому я сделаю bash-скрипт, позволяющий выполнять root, например: >db, который откроет папку баз данных для быстрой инвентаризации и т. Д. Но я не хочу допускать, чтобы некоторые команды работодатели. Проблема заключается в том, что если я оставляю разрешения на содержащую папку для работодателей с chmod, то пользователю не разрешается использовать программу (sqlite3.OperationalError: unable to open database file).

Могу ли я достичь этого? Может быть, с помощью скриптов bash?

2
задан 15 May 2018 в 06:27

1 ответ

Я думаю, что нашел путь или частичное решение. Из этого сообщения: https://unix.stackexchange.com/questions/82347/how-to-check-if-a-user-can-access-a-given-file команды статистики и inotifywait не помогают, потому что они дают тот же вывод, к которому невнимательный пользователь получает доступ к папке или просто использует программу. Но возможно аудит может помочь мне. Общение с subproccess программы, которую я могу отправить предупреждению в корень в программе, говоря "пользователя, приняло папку базы данных", в то время как покупатель собирается быть единственным тем, кто делает копии дб в облаке в моем случае.

0
ответ дан 2 December 2019 в 07:41

Другие вопросы по тегам:

Похожие вопросы: