24.6. 콘솔에서 다른 응용 프로그램을 사용 가능하도록 설정하기

만일 콘솔 사용자들이 다른 응용 프로그램을 사용할 수 있도록 설정하기 위해서는, 더 많은 작업이 필요합니다.

우선 콘솔 사용자는 오직 /sbin 또는 /usr/sbin에 존재하는 응용 프로그램만 사용 가능합니다. 따라서 이 두 파일에 여러분이 실행하시려는 응용 프로그램이 포함되어 있는지를 확인하신 후에 다음의 단계를 따르시기 바랍니다:

  1. 응용 프로그램의 이름 (예, foo 프로그램)에서 /usr/bin/consolehelper 응용 프로그램으로의 링크를 생성해 주십시오:

    cd /usr/bin
    ln -s consolehelper foo
  2. /etc/security/console.apps/foo 파일을 생성하십시오:

    touch /etc/security/console.apps/foo
  3. /etc/pam.d/ 내의 foo 서비스에 사용될 PAM 설정 파일을 만드십시오. 정지(halt) 서비스의 PAM 설정 파일을 복사하여 쉽게 PAM 설정 파일을 만드실 수 있습니다. 복사본을 이용하여 PAM 설정 파일을 만드신 후 필요한 경우 파일을 수정하시면 됩니다:

    cp /etc/pam.d/halt /etc/pam.d/foo

이제 /usr/bin/foo를 실행하시면 consolehelper 명령어가 호출되며 이 명령어는 /usr/sbin/userhelper의 도움을 받아 사용자를 인증합니다. /etc/pam.d/halt의 복사본을 사용하여 /etc/pam.d/foo를 만드신 경우, 사용자 인증을 위하여 사용자 암호를 요청합니다. (그렇지 않다면, /etc/pam.d/foo에 지정된 사항을 정확히 따를 것입니다.) 그 후 루트 허가를 가지고 /usr/sbin/foo를 실행합니다.

PAM 설정 파일에서 응용 프로그램이 pam_timestamp 모듈을 사용하여 로그인을 비롯한 모든 시스템 인증을 기록 (캐시)하도록 설정 가능합니다. 응용 프로그램이 시작되고 적절한 인증 (루트 암호)가 제공되면, 시간 기록 (time stamp) 파일이 생성됩니다. 성공적으로 로그인된 인증 정보는 5분간 캐시되도록 기본 설정되어 있습니다. 따라서 이 5분 동안에 pam_timestamp를 사용하도록 설정된 다른 응용 프로그램이 동일한 세션에서 실행된다면, 해당 사용자로 자동 인증됩니다. — 즉, 사용자는 루트 암호를 다시 입력할 필요가 없습니다.

이 모듈은 pam 패키지에 포함되어 있습니다. 이 기능을 사용하시려면, etc/pam.d/의 PAM 설정 파일에 다음과 같은 줄을 포함하셔야 합니다:

auth sufficient /lib/security/pam_timestamp.so
session optional /lib/security/pam_timestamp.so

auth로 시작하는 첫번째 줄은 반드시 그 외 다른 auth sufficient 줄 다음에 위치해야 하며, session로 시작하는 줄은 다른 session optional 줄 마지막에 입력하셔야 합니다.

pam_timestamp를 사용하도록 설정된 응용 프로그램이 패널 상의 주 메뉴 버튼에서 성공적으로 인증된다면, GNOME 데스크탑 환경을 실행 중이신 경우 아이콘이 패널의 알림 영역에 나타납니다. 인증이 만료된 후 (기본 값 5분이 지나면), 아이콘이 사라질 것입니다.

아이콘에 클릭하신 후 인증을 기억하지 않기 옵션을 선택하시면 캐시된 인증을 기억하지 않도록 설정하실 수 있습니다.