AIX를 다시 시작한 후 /dev/console을 읽을 수 없는 이유는 무엇입니까?

AIX를 다시 시작한 후 /dev/console을 읽을 수 없는 이유는 무엇입니까?

나는 < /dev/console대신 백그라운드 cron 작업에서 Micro-Focus cobol 프로그램을 실행할 때 이것을 사용합니다. < /dev/null왜냐하면 이렇게 하면 ioctl을 지원하지 않는 입력 파일에 대한 경고가 표시되지 않기 때문입니다. 지원되지 않는 입력 파일에 대한 경고는 ioctl프로그램이 동일한 값을 반환하기 때문에 스크립트가 이 오류와 실제 오류를 구별할 수 없음을 의미합니다.

일반적으로 (많은 다른 AIX 서버에서) 다른 사용자는 /dev/console.

몇 년 동안 나는 이해할 수 없는 몇 가지 문제에 부딪혔고, 여러 시간 동안 인터넷을 검색해도 도움이 되지 않았습니다. 예를 들어

  1. 서버는 루트 사용자만 사용할 수 있는 상태에서 뚜렷한 이유 없이 < /dev/console루트가 아닌 사용자만 사용할 수 있는 상태로 변경됩니다.< /dev/console

  2. 루트가 아닌 사용자가 사용할 수 있는 서버는 < /dev/console다시 시작하면 루트가 사용할 수 있는 서버로만 변경됩니다.< /dev/console

두 번째 예는 제가 최근에 겪었던 사례입니다. lscons콘솔이 할당되어 /dev/tty0정상적으로 로그인이 가능하다는 표시입니다 /dev/tty0. 재부팅하기 전에 누구도 콘솔을 사용하거나 재지정하지 swcons않은 것 같습니다.chcons

/dev/console권한을 & /dev/tty0로 변경하려고 시도했지만 666여전히 루트만 오류 없이 실행할 수 있습니다.

echo TEST < /dev/console

무슨 일이 일어나고 있는지 이해하거나 루트가 아닌 사용자가 읽을 수 있도록 변경하는 방법을 아는 사람이 있습니까 /dev/console?

루트가 아닌 사용자를 지원하고 가상 표준 입력으로 사용할 수 있는 다른 장치에 대한 ioctl제안 사항이 있습니까 ?

(나는 cobol 프로그램이 표준 입력만 열지만 실제로는 백그라운드에서 읽지 않는 것으로 생각합니다.)

현재 권한:
crw-rw-rw- 1 루트 시스템 4, 0 1999년 8월 20일 /dev/console
crw-rw-rw- 1 루트 시스템 16, 0 Aug 09 13:39 /dev/tty0

이 작업을 수행하기 전: chmod 666crw
--w--w- 1 루트 시스템 4, 0 Aug 20 1999 /dev/console
crw--------- 1 루트 시스템 16, 0 Aug 09 13:39 /dev / tty0

관련 정보