Ajuda com permissionamento [RESOLVIDO]

1. Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 17/03/2014 - 17:15h

Boa tarde pessoal,
Estou com um problema, onde ja pesquisei pela solução, mas nenhuma se aplica ao meu caso, e gostaria de saber se voces podem me ajudar.
Resumidamente o problema é este:
Alguns usuários da empresa, acessam um servidor externo via ssh, apenas para habilitar um dominio no apache, por um script que criei, porém, esses usuários não possuem a permissão para restart/reload do apache, assim, o apache não reconhece os novos dominios.
Se conhecerem alguma solução já agradeço. Obrigado!
=D


  


2. MELHOR RESPOSTA

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 18/03/2014 - 10:44h

Bom neste caso configura o sudo para permitir os usuários rodarem o comando ex:

visudo


Linha:

fabio ALL=NOPASSWD:/usr/sbin/a2ensite

ai troca o comando no script para # sudo /usr/sbin/a2ensite

3. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 17/03/2014 - 17:16h

ps: não sou administrador de servidores, sou programador, mas me designaram para efetuar esta tarefa


4. Re: Ajuda com permissionamento [RESOLVIDO]

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 17/03/2014 - 17:33h

Sugestão: Configurar o sudo.
Configurar o sudo para os usuários comuns terem acesso funcional no script /etc/init.d/httpd ou /etc/init.d/apache2



5. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 17/03/2014 - 17:46h

oi fox, obrigado pela ajuda
não sei se pequisei certo, ou apliquei errado mas achei uns artigos falando que tinha que adcionar meu usuario no arquivo /etc/sudoers
fiz isso, e inseri meu usuario:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
fabio ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
mas mesmo depois de reiniciado o servidor, ele falha na mesma parte do script.
mas agradeço pela ajuda o/


6. Re: Ajuda com permissionamento [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 17/03/2014 - 18:36h

Fabio_Marcell escreveu:

oi fox, obrigado pela ajuda
não sei se pequisei certo, ou apliquei errado mas achei uns artigos falando que tinha que adcionar meu usuario no arquivo /etc/sudoers
fiz isso, e inseri meu usuario:
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
fabio ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
mas mesmo depois de reiniciado o servidor, ele falha na mesma parte do script.
mas agradeço pela ajuda o/


Faz o seguinte para não dar permissões para os usuários para executarem tarefas no seu servidor agende uma tarefa no cron usando o comando como root:

crontab -e


Adicione a linha:

*/5 * * * * /etc/init.d/apache2 reload


Com isso de 5 em 5 minutos o apache recarregara as novas configurações, logo o usuário adiciona o domínio e em até 5 minutos o site estará ok


7. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 18/03/2014 - 09:42h

andrecanhadas, obrigado pela dica, mas tive um pequeno problema ao executar essa ação.
o apache eu consigo dar o reload, mas não consigo executar o a2ensite pelo "cronometro", porque ele exige um "site" para aplicar... ou eu fiz algo errado... mas obrigado pela ajuda...
o problema está aqui ó:
usuario loga via ssh via putty(são usuários windows). Ex User: Fabio;
ao abrir o terminal ele executa o comando sh /var/script.sh;
no caso seria este:

echo "Digite o dominio. Ex(fmarcell.com.br)";
echo "Tenha certeza que o nome está correto";
read dominio;
echo "Dominio informado:" $dominio;

mkdir -p /var/www/public_html/$dominio/public
mkdir -p /var/www/public_html/$dominio/subdomains
mkdir -p /var/www/public_html/$dominio/private
mkdir -p /var/www/public_html/$dominio/log
mkdir -p /var/www/public_html/$dominio/cgi-bin
mkdir -p /var/www/public_html/$dominio/backup
chmod -R 755 /var/www/public_html/$dominio

echo "
# It will make any customization easier to understand in the weeks to come
# domain: $dominio
# public: /var/www/public_html/$dominio/
<VirtualHost *:80>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin infra@foo.com.br
ServerName www.$dominio
ServerAlias $dominio
# Index file and Document Root (where the public files are located)
DirectoryIndex index.php
DocumentRoot /var/www/public_html/$dominio/public
# Custom log file locations
LogLevel warn
ErrorLog /var/www/public_html/$dominio/log/error.log
CustomLog /var/www/public_html/$dominio/log/access.log combined
<Directory />
Options -Indexes
</Directory>
</VirtualHost>
" >> /etc/apache2/sites-available/$dominio

/usr/sbin/a2ensite $dominio
/etc/init.d/apache2 reload

echo "Concluído, Aplicação encerrada. Copie os arquivos referentes ao dominioo
$dominio em seu respectivo diretório:";
echo "/var/www/public_html/";

-----------------------------------------------------------------------------------------
/*** Nessa linha, como roor, eu dei permissão 777 na pasta /etc/apache2 ***/
/etc/apache2/sites-available/$dominio
/***usuário não tem permissão pra executar a ação, e não consigo agendar como disse, pois sempre sera dinamico, e esse comando sempre me exige um site***/
/usr/sbin/a2ensite $dominio
/*esta ação eu consigo agendar, mas o usuario não tem permissão...*/
/etc/init.d/apache2 reload

obrigado pela ajuda pessoal, se eu estiver fazendo algo errado(código/forum), podem me avisar.
=D


8. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 18/03/2014 - 11:44h

Mano... Mano...
Fununcia XD valew de verdade pela ajuda \o/ \o/ /o/ \o\
eu ja vou fechar o topico, mas antes só por curiosidade, eu tenho como configurar isso para todos os usuarios, ou tenho que inserir manualmente cada usuario?

mais uma vez, muito obrigado pela ajuda o/


9. Re: Ajuda com permissionamento [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 18/03/2014 - 12:28h

Fabio_Marcell escreveu:

Mano... Mano...
Fununcia XD valew de verdade pela ajuda \o/ \o/ /o/ \o\
eu ja vou fechar o topico, mas antes só por curiosidade, eu tenho como configurar isso para todos os usuarios, ou tenho que inserir manualmente cada usuario?

mais uma vez, muito obrigado pela ajuda o/


É mais fácil e seguro adicionar manualmente, pois outra forma seria adicionar todos usuários que precisa no grupo sudo:

Pode criar um grupo chamado "site" e adicionar todos usuários que precisa a este grupo e uma unica linha no sudoers:


%site ALL=NOPASSWD:/usr/sbin/a2ensite




10. Re: Ajuda com permissionamento [RESOLVIDO]

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 18/03/2014 - 12:34h

Fabio Marcell, quanto tempo! Você estava fora do site?
Fábio, o André é bom nisso. Nosso especialista em sudo.


11. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 18/03/2014 - 14:40h

andrecanhadas escreveu:

Fabio_Marcell escreveu:

Mano... Mano...
Fununcia XD valew de verdade pela ajuda \o/ \o/ /o/ \o\
eu ja vou fechar o topico, mas antes só por curiosidade, eu tenho como configurar isso para todos os usuarios, ou tenho que inserir manualmente cada usuario?

mais uma vez, muito obrigado pela ajuda o/


É mais fácil e seguro adicionar manualmente, pois outra forma seria adicionar todos usuários que precisa no grupo sudo:

Pode criar um grupo chamado "site" e adicionar todos usuários que precisa a este grupo e uma unica linha no sudoers:


%site ALL=NOPASSWD:/usr/sbin/a2ensite



Obrigado pelas dicas, consegui fazer aqui, muito obrigado mesmo o/
sempre bom aprender coisas novas haha, obrigado!


12. Re: Ajuda com permissionamento [RESOLVIDO]

Fabio Marcell
Fabio_Marcell

(usa Ubuntu)

Enviado em 18/03/2014 - 14:42h

albfneto escreveu:

Fabio Marcell, quanto tempo! Você estava fora do site?
Fábio, o André é bom nisso. Nosso especialista em sudo.


Oi, haha
realmente ele me ajudou bastante alb, agora é só colocar o topico como resolvido graças a ajuda dele.
estava apanhando aqui haha.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts