Corrigindo '/ dev / null: Permissão negada' repetidamente em chroot

2

Chrooted para um disco externo com sudo chroot /mnt/disk , mas quase tudo que faço (login, tab-completion, less ing um arquivo, ...) resulta em um erro ao mencionar /dev/null: Permission denied , mesmo se o comando parece funcionar.

/ dev / null tem as permissões corretas (666), e file diz que é um dispositivo de caractere, então não é como se algo o tivesse sobrescrito com um arquivo regular ou alterado as permissões.

O que posso fazer para corrigir isso?

Veja a conclusão da conclusão da guia (de ls /u ):

$ ls /ubash: /dev/null: Permission denied
bash: _upvars: '-a2': invalid number specifier
bash: /dev/null: Permission denied
bash: _upvars: '-a0': invalid number specifier
    
por Josh 04.04.2018 / 17:19

1 resposta

1

O disco pode ser montado com a opção nodev , que mount interpreta assim:

Do not interpret character or block special devices on the file system.

Você pode verificar isso verificando a saída de mount fora do chroot:

$ mount
...
/dev/sda1 on /mnt/disk type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)

(Este é um problema particularmente difícil de detectar, já que a configuração fora do chroot está afetando o comportamento dos programas dentro dele!)

Corrigir é tão fácil quanto remontar sem a opção nodev . O comando a seguir fará isso (mesmo enquanto o processo chroot estiver sendo executado!), Embora provavelmente exista uma maneira de remover apenas a opção nodev sem remover todas as outras opções também:

sudo mount -o remount /dev/sda1 /mnt/disk
    
por 04.04.2018 / 17:19