porque não é possível ler / dev / console após a reinicialização do AIX

1

Eu uso < /dev/console quando executo programas Cobol da Micro-Focus em tarefas agendadas em segundo plano em vez de < /dev/null , porque então não recebemos um aviso sobre o arquivo de entrada que não suporta ioctl. O aviso sobre o arquivo de entrada não suportando ioctl significa que o script não é capaz de diferenciar entre este e um erro real, pois o programa retorna o mesmo valor.

Geralmente (em muitos servidores AIX diferentes) eu configuro esses jobs para serem executados como root porque outros usuários não têm permissões para ler /dev/console .

Ao longo de vários anos, tive vários problemas que simplesmente não entendi, e pesquisar na internet por muitas horas não ajudou. Por exemplo,

  1. um servidor foi alterado, sem motivo aparente, de onde apenas o root poderia usar < /dev/console para onde apenas um usuário não-root poderia usar < /dev/console

  2. um servidor em que um usuário não raiz pôde usar < /dev/console alterado após a reinicialização, para que somente o root pudesse usar < /dev/console

O segundo exemplo é o meu caso mais recente. lscons mostra que o console está atribuído a /dev/tty0 e você pode efetuar login em /dev/tty0 fine. Eu não acho que alguém tenha usado swcons ou chcons para reatribuir o console antes da reinicialização.

Eu tentei alterar as permissões em /dev/console & /dev/tty0 to 666 mas ainda apenas o root pode fazer, sem erro:

echo TEST < /dev/console

Alguém entende o que está acontecendo ou sabe como alterá-lo para que usuários não-root possam ler /dev/console ?

Alguma sugestão para outro dispositivo que suporte ioctl e pode ser usada como um stdin falso por usuários não-root?

(Eu suspeito que o programa cobol só abre stdin, mas não o lê realmente quando está em segundo plano).

Permissões agora:
    crw-rw-rw- 1 sistema radicular 4, 0 20 de agosto 1999 / dev / console
    crw-rw-rw- 1 root system 16, 0 Aug 09 13:39 / dev / tty0

Antes de eu: chmod 666 :
    crw - w - w - 1 sistema radicular 4, 0 20 de agosto 1999 / dev / console
    crw ------- 1 root system 16, 0 Aug 09 13:39 / dev / tty0

    
por Chris Good 10.08.2013 / 03:44

0 respostas

Tags