Despertador em c [RESOLVIDO]

1. Despertador em c [RESOLVIDO]

Bruno
uNclear

(usa Slackware)

Enviado em 16/09/2015 - 14:51h

Galera estou tentando fazer um despertador em c mas nao consigo fazer o programa em c emitir um som quando a hora marcada para despertar estiver correta, outro problema meu e fazer o pc desligar se caso a hora para despertar nao for a pedida, utilizei o system("poweroff"), mas pede a senha root, teria como colocar asenha do root no programa? Segue o programa abaixo:

#include <stdio.h>
#include <time.h>

int main (){

char tempo[5] = __TIME__;

if((tempo[0] == '1') && (tempo[1] == '4') && (tempo[2] == ':') && (tempo[3] == '4') && (tempo[4] == '8')){
printf("\a");
printf("Data : %s, Hora : %s", __DATE__,__TIME__);
}else{
system("poweroff");
}

return 0;
}


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/09/2015 - 17:58h

Dá prá setar o bit SUID e deixar proprietário root. Leia mais em http://www.vivaolinux.com.br/artigo/Fundamentos-do-sistema-Linux-Permissoes/?pagina=3

--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

3. Re: Despertador em c [RESOLVIDO]

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 16/09/2015 - 16:19h


printf("\a\n");


4. Re: Despertador em c [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 16/09/2015 - 16:25h

__TIME__ e __DATE__ são valores constantes, calculados pelo compilador no momento da compilação do programa. Tem certeza de que você quer trabalhar com eles? Parece-me que você deveria usar a função time() ou outra função análoga, que pega a hora durante a execução do programa.


5. Despertador em c

Bruno
uNclear

(usa Slackware)

Enviado em 16/09/2015 - 17:11h

Por inquanto o programa esta rodando com o __TIME__ no momento queria terminar ele colocando algo que faça baralho para despertar, e que tenha algum modo de digitar a senha do root para o proprio programa desligar se nao despertar. Apos ter feito isto vou rever o programa e ver oq posso melhorar e trocar as variaveis, por inquanto meu foco e termina-lo.


6. Re: Despertador em c [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 16/09/2015 - 17:39h

Acho que ninguém aqui vai ensinar como fazer operações em modo Root em C.

Uma coisa dessa poderia criar um vírus letal e acontecer a mesma coisa que no Windows.

Eu indicaria procurar como desligar computadores sem utilizar programas que peçam permissões de root ou programas que desliguem o Linux.

Além disso imagino que ninguém irá te ajudar, pois como te disse, isso pode ser letal.

E o código desse jeito imagino que não irá funcionar, igual o Paulo citou acima.

Espero ter ajudado

[]'s

T+

--

body@human: $ sudo su
brain@human: # apt-get purge -y windows* && echo "Windows removed successfully"




7. Despertador em c

Bruno
uNclear

(usa Slackware)

Enviado em 16/09/2015 - 17:45h


Vlw pela dica


8. Re: Despertador em c [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/09/2015 - 21:59h

Blz, rapaz.

Use o recurso do SUID com responsabilidade e segurança.
Cuidado para não deixar brecha de modo que tenha algum overflow com entrada de dados.
Seja por leitura de arquivo ou entrada de dados via terminal com algo semelhante a scanf().
Ou por algum outro jeito de que não me lembro.

--
http://s.glbimg.com/po/tt/f/original/2011/10/20/a97264_w8.jpg

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts