Permissões erradas de / dev / null (XUbuntu 15.10)

2

Após executar a atualização hoje e reiniciar o sistema operacional, o lightdm não será iniciado. Depois de alguma depuração, notei que / dev / null (e alguns outros arquivos / dev) não possuem permissões adequadas (em comparação com outra caixa do Ubuntu que tenho) - por exemplo, 'outros' não sabiam ler nem escrever / dev / null.

Depois que o 'chmod a + rw / dev / null / dev / urandom / dev / random / dev / ptmx' iniciou o lightdm. É claro que isso não é reinicialização persistente, então eu preciso colocar isso em algum /etc/rc.* para fazê-lo ficar - o que eu não quero!

Alguém sabe por que isso começou a acontecer? IOW, funcionou até hoje para mim.

[RESOLVIDO] eu tinha regras de udev com bugs personalizados que definiam certas entradas / dev para 0600!

    
por Hinko Kocevar 01.12.2015 / 14:40

1 resposta

1

Como Rinzwind mencionou corretamente, /dev/null é criado em cada inicialização , mas especificamente cada dispositivo incluindo /dev/null é criado pelo script MAKEDEV, que é referenciado em vários scripts /etc/init , conforme mostrado abaixo:

xieerqi:$ sudo grep -iR "makedev" /etc 2 > /dev/null                                                                                  
[sudo] password for xieerqi: 

    xieerqi:$ sudo grep -iR "makedev" /etc 2> /dev/null                                                                                   
    [sudo] password for xieerqi: 
    /etc/init/mounted-dev.conf: /sbin/MAKEDEV std fd ppp tun
    /etc/init/mounted-dev.conf:     /sbin/MAKEDEV console
    /etc/init.d/udev:create_dev_makedev() {
    /etc/init.d/udev:  if [ -e /sbin/MAKEDEV ]; then
    /etc/init.d/udev:    ln -sf /sbin/MAKEDEV /dev/MAKEDEV
    /etc/init.d/udev:    ln -sf /bin/true /dev/MAKEDEV
    /etc/init.d/udev:    create_dev_makedev

Os /sbin/MAKEDEV e /sbin/makedev são o mesmo script, que tem nas configurações de cabeçalho de todos os dispositivos e suas respectivas permissões. Em particular, no makedev meu sistema cria o dispositivo nulo com $public permissões:

makedev null c 1 3 $public

No topo, o público é definido como public=" root root 0666"

Você deve poder abrir este script e modificar as permissões conforme necessário ou verificar se elas não são alteradas de forma alguma.

No entanto, se eles estiverem inalterados, é altamente recomendável relatar esse comportamento como um bug e, para sua própria conveniência, provavelmente mudar para gdm por enquanto.

    
por Sergiy Kolodyazhnyy 01.12.2015 / 17:36