Não é possível ler / editar arquivos existentes

1

Eu tenho Ubuntu (Lubuntu 12.04) instalado no cartão SD que eu uso em mk802 mini pc. Quando eu montei cartão SD no meu PC (Ubuntu 12,04) não há possibilidade de ler / editar arquivos relacionados ao ssh (por exemplo, etc / ssh_config ou etc / sshd_config), mas eu posso ver isso na saída ls:

root@boss:/media/d5578c69-a3c3-43be-a24f-9e1daaf6eb62/etc# ls -lrta ssh*
total 168
-rw-r--r--   1 root root    302 Jan 10  2011 ssh_import_id
-rw-r--r--   1 root root   1669 Apr  2  2012 ssh_config
-rw-r--r--   1 root root 125749 Apr  2  2012 moduli
-rw-r--r--   1 root root    395 Jun 12  2012 ssh_host_rsa_key.pub
-rw-------   1 root root   1679 Jun 12  2012 ssh_host_rsa_key
-rw-r--r--   1 root root    175 Jun 12  2012 ssh_host_ecdsa_key.pub
-rw-------   1 root root    227 Jun 12  2012 ssh_host_ecdsa_key
-rw-r--r--   1 root root    603 Jun 12  2012 ssh_host_dsa_key.pub
-rw-------   1 root root    672 Jun 12  2012 ssh_host_dsa_key
-rw-r--r--   1 root root   2498 Dec  8 01:17 sshd_config
drwxr-xr-x   2 root root   4096 Dec  8 01:17 .
drwxr-xr-x 120 root root   4096 Jan 19 08:32 ..


root@boss:/media/d5578c69-a3c3-43be-a24f-9e1daaf6eb62/etc# cat sshd_config
cat: sshd_config: No such file or directory

Outros arquivos na mesma pasta não apresentam esse problema. Qual pode ser a razão de tal comportamento?

    
por user947668 19.01.2014 / 09:50

1 resposta

1

Eu vejo o problema. Você usa ls -lrta ssh* no diretório /etc/ . Isso corresponde ao diretório ssh nessa pasta e, em seguida, lista o conteúdo desse diretório. Esses arquivos que você vê estão, na verdade, em /etc/ssh/ .

Um ls -lrtad ssh* não irá para o diretório.

Acesse seus arquivos no diretório /etc/ssh/ .

O mais complicado aqui é que ls normalmente colocaria um cabeçalho em tais casos em que esses arquivos são de qual diretório quando você tenta um ls com um * na linha de comando. O problema é que o * é expandido pelo shell para criar a linha de comando. Por exemplo, quando você escreve ls py* e o diretório tem python e python3 também, o shell executará este comando: ls python python3 e a saída será algo como:

python:
debian_config

python3:
debian_config

Como ls vê os vários argumentos, ele imprime um cabeçalho para cada diretório. Assim, você pode ver facilmente que esses arquivos são de diretórios diferentes. Mas quando há apenas uma correspondência no diretório, como no seu caso, ls ssh* se expande para ls ssh , então ls vê que você coloca apenas um argumento, então não há necessidade do cabeçalho, como você sabe o que você está fazendo, e a saída será semelhante à sua.

    
por falconer 19.01.2014 / 09:57