Permissões em processos

1. Permissões em processos

Gabriel
devsrsouza

(usa CentOS)

Enviado em 05/08/2017 - 17:12h

Olá,

Gostaria de saber como eu faço um processo no linux poder somente listar, ler e escrever na pasta que ele foi executado e também não poder executar comandos.

Vou dar um exemplo do que eu quero fazer: Eu to fazendo um app em java que vai ser executado pelo root e esse mesmo app ira executar outros programas java, só que este programas só quero que possa ter acesso a pasta onde o processo foi executado, dali para baixo, somente permissões RW. Quero fazer algo no estilo de container que um app executa outros aplicativos dizendo quanto de ram vai usar e essas coisas...

Obs: To usando CentOS


  


2. Re: Permissões em processos

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 05/08/2017 - 19:17h

devsrsouza escreveu:

Olá,

Gostaria de saber como eu faço um processo no linux poder somente listar, ler e escrever na pasta que ele foi executado e também não poder executar comandos.

Vou dar um exemplo do que eu quero fazer: Eu to fazendo um app em java que vai ser executado pelo root e esse mesmo app ira executar outros programas java, só que este programas só quero que possa ter acesso a pasta onde o processo foi executado, dali para baixo, somente permissões RW. Quero fazer algo no estilo de container que um app executa outros aplicativos dizendo quanto de ram vai usar e essas coisas...

Obs: To usando CentOS


Por que executar como Root? Já começou errado por ai...
Veja Apache roda com usuário apache(ou httpd), Bind roda com usuário bind(ou named), squid roda com squid, ou seja todos eles com permissões necessários somente.
Dificilmente um software(web) precisa ser executado como root, isso abre uma brecha de segurança increível(já pensou que o software for comprometido, o invasor terá acesso como ROOT :-| )
Acredito que vc deve rever seu projeto, e rodar com um usuário do sistema(como exemplo que mencionei), com isso não precisa fazer qualquer "gambiara" como essa que vc perguntou :-D



#-------------------------------------------------------------------------------------#
Administrador de Redes Mistas Linux/Windows
LPI 101-102
LPI 201
Para consultas particulares acesse:
www.cunhatec.com.br

"Falar é fácil, me mostre o código." - Linus Torvalds


3. Re: Permissões em processos

Gabriel
devsrsouza

(usa CentOS)

Enviado em 06/08/2017 - 02:05h

Carlos_Cunha escreveu:

Por que executar como Root? Já começou errado por ai...
Veja Apache roda com usuário apache(ou httpd), Bind roda com usuário bind(ou named), squid roda com squid, ou seja todos eles com permissões necessários somente.
Dificilmente um software(web) precisa ser executado como root, isso abre uma brecha de segurança increível(já pensou que o software for comprometido, o invasor terá acesso como ROOT :-| )
Acredito que vc deve rever seu projeto, e rodar com um usuário do sistema(como exemplo que mencionei), com isso não precisa fazer qualquer "gambiara" como essa que vc perguntou :-D



#-------------------------------------------------------------------------------------#
Administrador de Redes Mistas Linux/Windows
LPI 101-102
LPI 201
Para consultas particulares acesse:
www.cunhatec.com.br

"Falar é fácil, me mostre o código." - Linus Torvalds


Obrigado pelas dicas.
Mas ainda tenho duvida, terei que criar um usuário para cada container ? cada software que tiver sendo executado em java? e sobre só poder mexer na pasta que ta sendo executada o software, como eu faço isso?
No caso do apache, sim, ele é um servidor bonitinho, mas meu software por exemplo, vai deixar o cara fazer servidores em java, fazer qualquer programa em java, uma RESTAPI por exemplo o cara pode estar fazendo... mas eu quero que aquele app que o cara mandou eu executar funciona somente na pasta que ele foi executado, terei que criar um usuario só para aquele app em execução? e dar um "sudo -u" pelo app principal feito em java?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts