Como posso executar programas c no Ubuntu 13.04

-1

Eu atualizei meu Ubuntu para a versão 13.04. Após esta atualização, não consigo executar programas no terminal. Quando tento executar, mostra um erro como mostrado abaixo

bash: ./cd: Permission denied

onde cd é meu arquivo executável que está funcionando bem em versões inferiores do Ubuntu.

    
por Santhu M 28.09.2013 / 19:59

3 respostas

1

Primeiro, você precisa saber quais são as permissões.

para saber as permissões, digite o código abaixo no seu terminal.

ls -lh

ou

ls -l

mostrará as permissões de todos os arquivos, como abaixo. escolha suas permissões de arquivo.

-rw-r - r--

você tem que organizá-los em 4 partes.

parts:  1       2        3        4
     +--------------------------------+
     |  -  | r w -  |  r - x | - - -  |  (r: Read, w: Write, x: Executable, -: No perm)
     +--------------------------------+
perm:         ROOT     USER     GROUP    
  1. 1ª parte indica o tipo de arquivo. "-" significa regular. "d" significa diretório, "p" para pipe e.t.c ..
  2. A segunda parte indica permissões de root. No meu exemplo, é "r w -". isso significa que o root tem permissão para ler e escrever permsissions, mas não permissões executáveis.
  3. A terceira parte é para permissões de USER. aqui podemos ver "r - x". significa que o usuário leu permissões executáveis, mas não as permissões de gravação.
  4. 4ª parte indica permissões do GROUP. aqui o grupo tem "- - -". por isso não tem permissões.

Você está recebendo o erro "Permissão negada". "cd" é o seu arquivo executável. Requer permissão executável (x).

Para alterar as permissões de um arquivo:

No seu caso, você pode não ter permissão executável. para isso tente abaixo do caode

chmode +x <filename>      (eg: chmode +x cd   //here cd is your filename)

você também pode atribuir outras permissões substituindo "x" por "r" (read) ou "w" (write).

para verificar novamente usar

ls -l (or) ls -lh.

Nota: Se "chmod" retornar um erro como "operação não permitida", tente

               sudo chmod +x <filename> (eg: sudo chmod +x cd)

para mais informações sobre permissões:

              man chmod
    
por gangadhars 30.09.2013 / 20:33
0

Certifique-se de que seu cd seja realmente executável usando o seguinte comando:

chmod +x cd
    
por Radu Rădeanu 28.09.2013 / 20:11
0

Parece-me que você está tentando executar comandos internos no terminal (como "cd"). Em vez de prefazê-los com um "./", chame-os apenas como "cd" na linha de comando.

Eu posso estar entendendo mal sua consulta, mas espero que funcione. Caso contrário, siga uma das respostas acima que envolve a atribuição do bit executável ao arquivo e tente executá-lo dessa maneira.

    
por Eric 28.09.2013 / 20:16