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
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_Marcellusa Ubuntu
Post recolhido
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]
foxbit3rusa Solaris
Post recolhido
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_Marcellusa Ubuntu
Post recolhido
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]
andrecanhadasusa Debian
Post recolhido
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_Marcellusa Ubuntu
Post recolhido
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;
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
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_Marcellusa Ubuntu
Post recolhido
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]
andrecanhadasusa Debian
Post recolhido
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]
albfnetousa openSUSE
Post recolhido
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_Marcellusa Ubuntu
Post recolhido
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_Marcellusa Ubuntu
Post recolhido
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.
Usamos cookies essenciais para manter o site funcionando e Google Analytics para métricas de audiência. Cookies de anúncios só serão carregados se você permitir.