![AIX를 다시 시작한 후 /dev/console을 읽을 수 없는 이유는 무엇입니까?](https://linux55.com/image/49516/AIX%EB%A5%BC%20%EB%8B%A4%EC%8B%9C%20%EC%8B%9C%EC%9E%91%ED%95%9C%20%ED%9B%84%20%2Fdev%2Fconsole%EC%9D%84%20%EC%9D%BD%EC%9D%84%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 < /dev/console
대신 백그라운드 cron 작업에서 Micro-Focus cobol 프로그램을 실행할 때 이것을 사용합니다. < /dev/null
왜냐하면 이렇게 하면 ioctl을 지원하지 않는 입력 파일에 대한 경고가 표시되지 않기 때문입니다. 지원되지 않는 입력 파일에 대한 경고는 ioctl
프로그램이 동일한 값을 반환하기 때문에 스크립트가 이 오류와 실제 오류를 구별할 수 없음을 의미합니다.
일반적으로 (많은 다른 AIX 서버에서) 다른 사용자는 /dev/console
.
몇 년 동안 나는 이해할 수 없는 몇 가지 문제에 부딪혔고, 여러 시간 동안 인터넷을 검색해도 도움이 되지 않았습니다. 예를 들어
서버는 루트 사용자만 사용할 수 있는 상태에서 뚜렷한 이유 없이
< /dev/console
루트가 아닌 사용자만 사용할 수 있는 상태로 변경됩니다.< /dev/console
루트가 아닌 사용자가 사용할 수 있는 서버는
< /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 666
crw
--w--w- 1 루트 시스템 4, 0 Aug 20 1999 /dev/console
crw--------- 1 루트 시스템 16, 0 Aug 09 13:39 /dev / tty0