permissão negada ao criar um arquivo sem solicitar senha

-3

Estou tentando criar um arquivo usando cat > list , mas sempre que me mostra "Permissão negada".

xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
xyz@jaishreeram:/home$ sudo cat > list
bash: l: Permission denied
    
por abhinay 29.09.2013 / 09:49

4 respostas

5

tente

sudo bash -c 'cat file1 >> file2'

ou

cat file1 | sudo tee -a file2

leia aqui em ubuntuforums

    
por montells 27.02.2014 / 22:10
2

O local em que você está escrevendo os privilégios necessários de superusuário. No entanto, a maneira como você está escrevendo no arquivo não assume isso. Para isso, faça login como root usando su e, em seguida, escreva usando cat > list ou sudo vi list .

    
por jobin 29.09.2013 / 10:22
1

AFAIK você não pode criar um arquivo usando cat . Você precisa usar echo . Então, basta executar isso para criar um arquivo chamado "lista":

% bl0ck_qu0te%

Se você precisar de privilégios de root, primeiro autentique como root usando o% su -
agora você pode echo > list
agora você pode fazer logout como root usando logout

Isso porque o redirecionamento é feito antes do início do sudo, é por isso que você obtém "permissão negada" sem ser solicitada senha.


cat é usado para concatenar arquivos e imprimir na saída padrão.
echo é usado para exibir uma linha de texto, usando o "> file_name" você redirecionará essa linha de texto para "file_name" e se "file_name" não existir, o arquivo será criado.

PS: Existem toneladas de métodos para criar um novo arquivo usando a linha de comando, mas, na minha opinião, é mais rápido e fácil de lembrar.

    
por PeppeDAlterio 29.09.2013 / 10:03
1

O motivo é simples, você não tem permissão para escrever no diretório /home , já que é de propriedade do root.

/home$ ls -la .
total 36
drwxr-xr-x.  6 root          root           4096 Apr 19 05:03 .
drwxr-xr-x. 22 root          root           4096 Sep 24 09:49 ..

Você deve usar o mesmo comando, mas no diretório "sua casa". Seu diretório pessoal é o diretório do usuário em /home :

/home$ ls -la .
total 36
drwxr-xr-x.  6 root          root           4096 Apr 19 05:03 .
drwxr-xr-x. 22 root          root           4096 Sep 24 09:49 ..
drwxr-xr-x. 70 braiam        braiam         4096 Sep 29 10:06 braiam

Você tem várias maneiras de acessar seu diretório pessoal:

  • Execute cd sem nenhum parâmetro.
  • Executar cd ~ ou cd $HOME
  • Abra outro novo terminal
  • Use cd /home/yourusername para acessar seu diretório pessoal.
por Braiam 29.09.2013 / 19:06