Обсуждение: Background worker process

Поиск
Список
Период
Сортировка

Background worker process

От
"Brandl, Wolfgang"
Дата:

Hello

We want to start processes controlled by a prostgres table which acts like crontab.

So we want to start a background worker process which starts the defined functions.

 

Is it possible to start from a background worker process a child process with a specific User. So this process can only acces the data for his authority.

 

Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.

 

Any idea?

Regards

Wolfgang

Re: Background worker process

От
Laurenz Albe
Дата:
Wolfgang Brandl wrote:
> We want to start processes controlled by a prostgres table which acts like crontab.
> So we want to start a background worker process which starts the defined functions.
>  
> Is it possible to start from a background worker process a child process with a specific User.

> So this process can only acces the data for his authority. 
> Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.

You normally do things like that on UNIX-like operating systems by
setting the "setuid" bit on the executable that you want to start
and transferring ownership to the desired user.

There is no other way for a non-root user like "postgres" to start
an executable as a different user.

Your setup seems complicated.
Why don't you have a daemon process running as root outside of PostgreSQL
that regularly checks the table and starts scheduled processes?

Yours,
Laurenz Albe


Re: Background worker process

От
Fabrízio de Royes Mello
Дата:

Em ter, 19 de dez de 2017 às 10:11, Brandl, Wolfgang <wolfgang.brandl@brz.gv.at> escreveu:

Hello

We want to start processes controlled by a prostgres table which acts like crontab.

So we want to start a background worker process which starts the defined functions.

 

Is it possible to start from a background worker process a child process with a specific User. So this process can only acces the data for his authority.

 

Like a SQL Intrusion with this definition nobody can start a process a Postgres superuser.


Already exists a "crontab like" background worker project [1].

Regards,

--
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento