Projeto complicado da faculdade

1. Projeto complicado da faculdade

Keven
angelusinferni

(usa Outra)

Enviado em 02/10/2020 - 06:53h

Pessoal,estou tentando montar um link para um drive virtual de compartilhamento de arquivos samba no programa em C que estou criando com a função de backup para um VPS.
sempre que executo o programa não consigo executar os comandos por falta de permissão e se eu não utilizo sudo não consigo montar esse drive e muito menos copiar os arquivos, e se eu tento utilizar root recebo erro,como posso proceder ?
segue abaixo o trecho do código
[quote]
case 3:
if(system("mount -t cifs -o username=lab,password=123456 //192.168.0.101/L.A.B/ /home/angelusinferni/db/L.A.B/") == -1){
printf("Erro de Montagem !\nPressione [ENTER] para continuar.\n");
flush_in();
getchar();
break;
}else{
if(system("cp -R /home/angelusinferni/db/ /home/angelusinferni/L.A.B/") == -1){
printf("Erro durante a execução do backup!\nPressione [ENTER] para continuar.\n");
flush_in();
getchar();
break;
}else{
printf("Backup executado com sucesso!\nPressione [ENTER] para continuar.\n");
flush_in();
getchar();
break;
}
}
break;
[quote]
anexei tambem 2 imagens,1 tentando rodar sem permissão root e outra tentando rodar com permissão root os 2 comandos.


  


2. Re: Projeto complicado da faculdade

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/10/2020 - 09:59h

Veja sr esse link ajuda

https://stackoverflow.com/questions/10820311/c-c-c-howto-do-mount-a




3. Re: Projeto complicado da faculdade

Keven
angelusinferni

(usa Outra)

Enviado em 02/10/2020 - 13:38h

leandropscardua escreveu:

Veja sr esse link ajuda

https://stackoverflow.com/questions/10820311/c-c-c-howto-do-mount-a



muito obrigado pela resposta,me auxiliou em partes.
graças aos comentarios mais abaixo da resposta que foi selecionada como solução descobri que existe uma biblioteca propria para mount em C.
consegui fazer a função sem nenhum problema na parte de codificação,mas continuo com erro de permissão :/

segue abaixo a parte do código referente a função e print do erro

// Variaveis de Montagem
const char* src = "//192.168.0.101/L.A.B/";
const char* trgt = "/home/angelusinferni/db/L.A.B/";
const char* type = "cifs";
const unsigned long mntflags = 0;
const char* opts = "username=lab,password=123456,mode=0777,uid=1000"; /* 65534 is the uid of nobody */
int bkp;

bkp = mount(src, trgt, type, mntflags, opts);
if (bkp == 0){
printf("Mount funcionou,ponto de montagem: %s...\n", trgt);
printf("Pressione [ENTER] para continuar. ");
getchar();
umount(trgt);
}else{
printf("Error : Falha ao montar %s\nMotivo: %s [%d]\n",src, strerror(errno), errno);
break;
}
break;



4. Re: Projeto complicado da faculdade

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/10/2020 - 15:23h

Vc está tentando montar um compartilhamento de rede? Acho q vc vai precisar de smb p isso. O linux geralmente vem c um manual das funçoes c.
man printf
Por exemplo. No caso de mount há o comando mount então vc tem de "desambiguar"


5. Re: Projeto complicado da faculdade

Keven
angelusinferni

(usa Outra)

Enviado em 02/10/2020 - 15:33h

leandropscardua escreveu:

Vc está tentando montar um compartilhamento de rede? Acho q vc vai precisar de smb p isso. O linux geralmente vem c um manual das funçoes c.
man printf
Por exemplo. No caso de mount há o comando mount então vc tem de "desambiguar"


desculpe mas não consegui entender por completo sua resposta,poderia por gentileza explicar ? como assim "desambiguar" ?


6. Re: Projeto complicado da faculdade

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/10/2020 - 18:14h

Se vc digitar man mount 2 obtem um help sobre a funcao mount em c, mas se digitar man mount 7 ou 8 não lembro, vc vê o help do comando mount. O linux vem com manual da maioria das funções c


7. Re: Projeto complicado da faculdade

Keven
angelusinferni

(usa Outra)

Enviado em 02/10/2020 - 20:14h

leandropscardua escreveu:

Se vc digitar man mount 2 obtem um help sobre a funcao mount em c, mas se digitar man mount 7 ou 8 não lembro, vc vê o help do comando mount. O linux vem com manual da maioria das funções c


ah sim,eu já li todo o man mount,e pelo que é dito lá,só tem uma unica maneira de fazer o mount sem permissão root que é via fstab e isso não me é viavel.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts