일시적으로 계정 사용 금지하기

때때로 계정을 제거하지 않고 일시적으로 사용하지 못하도록 하는 것이 필요할 때도 있다. 예를 들어 사용자가 사용료를 지불하지 않았거나 시스템 운영자가 보기에 크래커가 계정의 암호를 가지고 있다고 의심이 드는 경우, 그런 조치가 필요하다.

계정을 사용하지 못하게 하는 가장 좋은 방법은 쉘을 특별한 프로그램으로 바꾸어 메시지만 출력하도록 하는 것이다. 이 방법으로 그 계정에 접속하려는 사람이라면 누구나 접속에 실패할 것이며 그 이유를 알 수 있게 될 것이다. 메시지로 사용자로 하여금 시스템 운영자에게 연락해 문제를 다루도록 알려줄 수 있다.

username이나 password를 다른 것으로 바꾸는 것 역시 가능하다. 하지만 그러면 사용자는 무슨 일인지 알 수가 없을 것이다. 당황한 사용자는 다른 방법을 계속 시도해 볼 것이다. [1]

위에서 말한 특별한 프로그램을 만드는 간단한 방법은 'tail scripts'를 짜는 것이다. :
#!/usr/bin/tail +2
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
첫 번째 두 문자(`#!')는 커널에게 나머지 라인이 이 파일을 번역하기 위해 필요한 명령임을 말해준다. 이 경우 tail 명령은 첫 줄만 제외한 나머지 모든 라인을 표준 출력으로 출력하게 된다.

billg가 보안 위반으로 의심된다면, 시스템 운영자는 다음과 같이 할 것이다. :
# chsh -s /usr/local/lib/no-login/security billg
# su - tester
This account has been closed due to a security breach.
Please call 555-1234 and wait for the men in black to arrive.
#
su의 용도는 물론 바뀐 것이 작동되는지 테스트하는 것이다.

Tail scripts는 그들의 이름이 일반 유저 명령으로부터 간섭받지 않도록 별도의 디렉토리에 두어야 한다.

Notes

[1]

만약 당신이 BOFH(The Bastard Operator From Hell, 엉터리 시스템 관리자를 비꼬는 우스개 소리)라면 혹시나 사용자들이 즐거워 할지도 모르겠다..