Administração de usuarios em Servidor Web Apache

1. Administração de usuarios em Servidor Web Apache

Roberto Gualberto dos Santos
robertogsantos

(usa Debian)

Enviado em 13/12/2016 - 20:54h

Olá todos!

Primeiramente gostaria de agradecer a todos pelo ótimo trabalho feito, em seguida gostaria de tirar uma dúvida.

Faço parte de uma equipe que gerencia um servidor web, onde estão alocados certa de 25 sites, todos com acesso ftp etc. Todos os sites usam o CMS joomla. A estrutura de diretorios esta assim:
Ex:
/var/www/html/meusite01.com.br/public_html
/var/www/html/meusite02.com.br/public_html
/var/www/html/meusite03.com.br/public_html
e assim por diante.
Cada site tem seu usuario como dono do diretorio public_html
Ex: meusite01
drwxr-xr-x 17 website01 www-data 4096 Dec 13 17:06 public_html
Ex: meusite02
drwxr-xr-x 17 website02 www-data 4096 Dec 13 17:06 public_html

O meu problema começa quando os usuarios, através do joomla criam por exemplo uma pasta dentro do diretorio images.
Ex: /var/www/html/meusite01.com.br/public_html/images/
drwxr-xr-x 2 www-data www-data 4096 Dec 13 17:13 pastacriadapeloJoomla
Reparem que quando eu crio uma pasta pelo joomla ele deixa o diretorio ou arquivo como usuario e grupo o www-data, desta forma o usuario não consegue modificar o conteudo posteriormente atravez de um cliente ftp por exempo.

Já tentei adicionar o usuario local ao grupo www-data porem sem sucesso, visto que o joomla ao criar o diretorio por padrão da permissão de escrita apenas ao usuario www-data.

Se alguem tiver uma idéia de como me ajudar, agradeço muito.


  


2. Re: Administração de usuarios em Servidor Web Apache

Roberto Gualberto dos Santos
robertogsantos

(usa Debian)

Enviado em 14/12/2016 - 21:20h

Ninguém?


3. Re: Administração de usuarios em Servidor Web Apache

Marcos Felipe
plimo263

(usa Ubuntu)

Enviado em 15/12/2016 - 12:56h

robertogsantos escreveu:

Ninguém?


Boa tarde, o que eu posso pensar no momento é no cron para dar ao usuario a propriedade de todas as suas subpastas. Um script que fosse capaz de determinar o nome do usuario e baseado nisto atribui as subpastas o mesmo dono da pasta original. Por exemplo, vamos supor que /var/www seja a raiz e os usuarios cadastrados tem pastas com seus nomes dentro de /var/www. Trabalhamos com fulano,ciclano e beltrano. Este script iria varrer as subpastas de /var/www (imagino que somente tenha pastas dos usuarios nada mais) e da a propriedade para eles sobre suas pastas.


#!/bin/bash
### Estou supondo que exista pastas como /var/www/fulano, /var/www/ciclano, /var/www/beltrano
for pasta in $(ls /var/www);do
if[ -d $pasta ]; then
/bin/chown $pasta -R /var/www/$pasta
fi
done


Imagino que isto resolva este tipo de situação. Aí tu coloca este script no crontab do root para ser atualizado de 1 em 1 minuto.

# crontab -e

* * * * * /usr/local/sbin/meuScript.sh







4. Re: Administração de usuarios em Servidor Web Apache

Roberto Gualberto dos Santos
robertogsantos

(usa Debian)

Enviado em 15/12/2016 - 20:50h

plimo263 escreveu:

robertogsantos escreveu:

Ninguém?


Boa tarde, o que eu posso pensar no momento é no cron para dar ao usuario a propriedade de todas as suas subpastas. Um script que fosse capaz de determinar o nome do usuario e baseado nisto atribui as subpastas o mesmo dono da pasta original. Por exemplo, vamos supor que /var/www seja a raiz e os usuarios cadastrados tem pastas com seus nomes dentro de /var/www. Trabalhamos com fulano,ciclano e beltrano. Este script iria varrer as subpastas de /var/www (imagino que somente tenha pastas dos usuarios nada mais) e da a propriedade para eles sobre suas pastas.


#!/bin/bash
### Estou supondo que exista pastas como /var/www/fulano, /var/www/ciclano, /var/www/beltrano
for pasta in $(ls /var/www);do
if[ -d $pasta ]; then
/bin/chown $pasta -R /var/www/$pasta
fi
done


Imagino que isto resolva este tipo de situação. Aí tu coloca este script no crontab do root para ser atualizado de 1 em 1 minuto.

# crontab -e

* * * * * /usr/local/sbin/meuScript.sh






Boa noite, obrigado por tentar ajudar. Estarei fazendo um teste com a solução que você postou, entretanto vejo que isso não resolvera definitivamente meu problema, visto que sera necessario um script pra fazer a mudança.

Cheguei a pensar que se eu adicionasse o usuario do diretorio ao grupo www-data ele conseguiria ter as permissões para escrita, porem não tive sucesso.


5. Re: Administração de usuarios em Servidor Web Apache

Marcos Felipe
plimo263

(usa Ubuntu)

Enviado em 15/12/2016 - 20:54h

robertogsantos escreveu:

plimo263 escreveu:

robertogsantos escreveu:

Ninguém?


Boa tarde, o que eu posso pensar no momento é no cron para dar ao usuario a propriedade de todas as suas subpastas. Um script que fosse capaz de determinar o nome do usuario e baseado nisto atribui as subpastas o mesmo dono da pasta original. Por exemplo, vamos supor que /var/www seja a raiz e os usuarios cadastrados tem pastas com seus nomes dentro de /var/www. Trabalhamos com fulano,ciclano e beltrano. Este script iria varrer as subpastas de /var/www (imagino que somente tenha pastas dos usuarios nada mais) e da a propriedade para eles sobre suas pastas.


#!/bin/bash
### Estou supondo que exista pastas como /var/www/fulano, /var/www/ciclano, /var/www/beltrano
for pasta in $(ls /var/www);do
if[ -d $pasta ]; then
/bin/chown $pasta -R /var/www/$pasta
fi
done


Imagino que isto resolva este tipo de situação. Aí tu coloca este script no crontab do root para ser atualizado de 1 em 1 minuto.

# crontab -e

* * * * * /usr/local/sbin/meuScript.sh






Boa noite, obrigado por tentar ajudar. Estarei fazendo um teste com a solução que você postou, entretanto vejo que isso não resolvera definitivamente meu problema, visto que sera necessario um script pra fazer a mudança.

Cheguei a pensar que se eu adicionasse o usuario do diretorio ao grupo www-data ele conseguiria ter as permissões para escrita, porem não tive sucesso.


Beleza mano. Se não for o que precisa pensamos em outra forma ou outros amigos aqui do vol devem te ajudar



6. Re: Administração de usuarios em Servidor Web Apache

Roberto Gualberto dos Santos
robertogsantos

(usa Debian)

Enviado em 16/12/2016 - 00:17h

plimo263 escreveu:

robertogsantos escreveu:

plimo263 escreveu:

robertogsantos escreveu:

Ninguém?


Boa tarde, o que eu posso pensar no momento é no cron para dar ao usuario a propriedade de todas as suas subpastas. Um script que fosse capaz de determinar o nome do usuario e baseado nisto atribui as subpastas o mesmo dono da pasta original. Por exemplo, vamos supor que /var/www seja a raiz e os usuarios cadastrados tem pastas com seus nomes dentro de /var/www. Trabalhamos com fulano,ciclano e beltrano. Este script iria varrer as subpastas de /var/www (imagino que somente tenha pastas dos usuarios nada mais) e da a propriedade para eles sobre suas pastas.


#!/bin/bash
### Estou supondo que exista pastas como /var/www/fulano, /var/www/ciclano, /var/www/beltrano
for pasta in $(ls /var/www);do
if[ -d $pasta ]; then
/bin/chown $pasta -R /var/www/$pasta
fi
done


Imagino que isto resolva este tipo de situação. Aí tu coloca este script no crontab do root para ser atualizado de 1 em 1 minuto.

# crontab -e

* * * * * /usr/local/sbin/meuScript.sh






Boa noite, obrigado por tentar ajudar. Estarei fazendo um teste com a solução que você postou, entretanto vejo que isso não resolvera definitivamente meu problema, visto que sera necessario um script pra fazer a mudança.

Cheguei a pensar que se eu adicionasse o usuario do diretorio ao grupo www-data ele conseguiria ter as permissões para escrita, porem não tive sucesso.


Beleza mano. Se não for o que precisa pensamos em outra forma ou outros amigos aqui do vol devem te ajudar


Boa noite! Mais uma vez obrigado por responder. Bem montei um servidor local em meu pc e fiz os testes. O que mais me agradou foi modificar o arquivo "libraries/joomla/filesystem/folder.php" na função:

public static function create($path = '', $mode = 0755)
{
$FTPOptions = JClientHelper::getCredentials('ftp');
static $nested = 0;


e deixar com

public static function create($path = '', $mode = 0775)

com isso eu estou dizendo ao CMS criar pasta com permissão 775, dando ao grupo o "poder de escrita", após isso bastou adicionar o usuario local do diretorio ao grupo www-data para conseguir fazer as publicações com imagens enviadas tanto pelo usuario local, quando pelo próprio CMS.

Agora é fazer uma analise de segurança, fazer uns testes e se der certo migrar pro servidor.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts