não pode acessar / dev / null: Permissão negada, embora crw-rw-rw- 1 raiz raiz 1, 3 21 de setembro 12:05 / dev / null

11

Em postgres de usuários:

$ ls -l /dev/null
ls: cannot access /dev/null: Permission denied

Pensei na raiz do usuário, as permissões estão corretas:

# ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Sep 21 12:05 /dev/null

Eu tentei recriá-lo:

# rm /dev/null && mknod -m 0666 /dev/null c 1 3

Mas o resultado é o mesmo. Eu estou em um VPS com um debian 7 e kernel 2.6.32 em um x86_64

    
por lalebarde 21.09.2014 / 12:50

4 respostas

18

O problema veio das permissões para / dev:

# ls -ld /dev
drwx------ 3 root root 4096 Sep 21 12:12 /dev

Então / dev não foi acessível pelos usuários.

# chmod a+x /dev
# chmod a+r /dev

Resolveu o problema.

    
por 21.09.2014 / 12:54
1

Eu tive um problema semelhante e vim aqui procurando os sintomas, mas a solução não se encaixava no meu caso. Então, gostaria de adicionar outro motivo possível, mesmo que não seja exatamente adequado ao OP.

No meu caso especial, usei proot (um bom chroot wrapper). Mas as permissões estavam corretas em /dev/null e /dev em si.

Por acaso, era a montagem do diretório chroot , que eu fiz via thunar como um usuário normal. Então, neste caso, a montagem não tem as permissões corretas.

Você tem um tempo ruim para encontrar isso, porque você não vê essas permissões quando olha apenas os arquivos.

O caminho geral da solução seria iniciar as condições de verificação no local do problema ( /dev/null ) e sair para o próximo nível ( /dev ), depois a montagem, o sistema de arquivos etc., o que vier a seguir.

Em cada etapa, você pode ter várias pré-condições, cada uma com seus próprios níveis externos. Por exemplo. o usuário pode estar em um grupo errado, o que leva ao arquivo de configuração do grupo, que pode ter permissões erradas, etc.

Obviamente, você tem que seguir um tipo de árvore em geral.

    
por 03.03.2017 / 13:50
0

Eu mesmo não consegui resolver isso, então foi o que eu fiz:

mycommand.sh | echo -n

O comando echo não presta atenção à entrada padrão, portanto, ele será descartado. E o -n é para que uma nova linha inútil não seja impressa no stdout.

    
por 12.02.2015 / 00:43
0
chmod a+rw /dev/null /dev/random /dev/urandom /dev/ptmx /dev/tty /dev/zero /dev/full /dev/fuse /dev/net/tun

isto é o que resolve o meu problema no VPS. Por favor note que depois de reiniciar o seu servidor - você executou este comando novamente

    
por 13.01.2018 / 13:20