AUTHSELECT-PROFILES(5)

NAME
authselect-profiles - authselect 프로파일 확장방법.

설명

이 설명서는 authselect 프로파일을 구성하고 새로운 프로파일을 생성하는 방법에 대해 설명합니다.

프로파일 디렉토리

프로파일은 3개의 디렉토리 중 하나에서 찾을 수 있습니다.

/usr/share/authselect/default
    authselect와 함께 탑재된 프로파일에 포함되어 있는 읽기 전용 디렉토리.

/usr/share/authselect/vendor
    기본 디렉토리에서 하나를 재정의 할 수 있는 제조사 지정 파일을 위한 읽기 전용 디렉토리.

/etc/authselect/custom
    관리 정의된 프로파일을 위한 장소.

프로파일 파일

각각의 파일은 필수 파일 설명을 제공하고 시스템이 동작하는 것과 같은 변화를 설명하는 이들 파일 중 하나 또는 파일들로 구성합니다.

읽어보기
    프로파일의 설명. 첫 번째 줄은 프로파일 이름이어야 합니다.

system-auth
    거의 모든 개별 서비스 설정 파일에서 포함되는 PAM 스택.

password-auth, smartcard-auth, fingerprint-auth
    이들 PAM 스택은 하나의 집합 대화 대신에 개별적인 대화를 동시에 진행하여 다른 유형의 장치에서 인증을 다루는 응용프로그램입니다.

postlogin
    이 PAM 스택의 목적은 system-auth 또는 다른 공통 PAM 설정 파일에 스택이 설정된 이후에 호출 되어질 모든 PAM 모듈을 위해 공통 공간을 제공하는 것입니다. 이는 쉘 또는 파일 접근에 로그인 서비스를 제공하는 모든 개별 서비스 설정 파일에서 포함되어집니다. 기록: 로그인 후 구성 파일 안에 있는 모듈은 system-auth 설정 파일에 모듈의 성공 또는 실패에도 불구하고 실행 되어질 수 있습니다.

nsswitch.conf
    이름 서비스 전환 환경 파일. 프로파일과 연관된 대응(map)만 설정되어야 합니다. 프로파일에 지정되어지지 않은 대응(maps)은 /etc/authselect/user-nsswitch.conf에서 포함되어집니다.

dconf-db
    dconf 데이타베이스로 변경합니다. 이 파일이 주로 사용되는 경우는 스마트카드와 지문 인증을 활성화 하거나 비활성화하는 경우에 그놈 로그인 화면을 위해 변화를 설정합니다.

dconf-locks
    이 파일은 dconf 데이타베이스에서 설정된 값에 잠금을 정의합니다.

  조건부 선

이들 파일 각각은 템플리트로서 제공합니다. 템플리트는 몇몇 추가적인 프로파일 기능을 제공되어 질 수 있는 몇 가지 연산자 추가 사용법이 있는 일반 텍스트 파일입니다.

{continue if "feature"}
    “기능”이 정의되지 않으면 파일의 긴급 멈춤 처리(파일 내용의 잔여 부분은 제거 될 것입니다). 만약 “기능”이 정의되면, 이 연산자와 함께 모든 행이 제거될 것이며 템플리트 나머지 부분은 처리 될 것입니다.

{stop if "feature"}
    “contiune if” 반대로. 만약 “기능”이 정의하면 파일의 긴급 멈춤 처리(파일 내용의 잔여부분은 제거 될 것입니다). 만약 “기능”이 정의되지 않으면, 이 연산자에 모든 행은 제거될 것이며 템플리트의 나머지 부분은 처리될 것입니다.

{include if "feature"}
    만약 “기능”이 정의되어 이 연산자가 위치 되어지는 행을 포함합니다.

{exclude if "feature"}
    “if 포함”에 반대로. 만약 “기능”이 정의되지 않으면 연산자가 위치 되어지는 행을 포함합니다.

*{imply "implied-feature" if "feature"}
    만약 기능 "기능"이 활성화 되어 있으면 "기능-적용됨" 기능을 활성화합니다. 이 연산자와 같은 모든 행이 제거되었으면, 그러므로 이는 동일한 행에 이 연산자 주변에 그 어떤 것도 추가 할 수 없습니다.

{if "feature":true|false}
    만약 "기능"이 정의되면, 이 연산자는 문자열 "사실"로, 그렇지 않으면 문자열 "거짓"으로 교체합니다.

{if "feature":true}
    만약 "기능"이 정의되면, 이 연산자는 문자열 "사실"로, 그렇지 않으면 빈 문자열로 교체합니다.

이는 또한 단일 기능 이름을 지정하는 대신에 조건부 표현을 논리적으로 사용 할 수 있습니다. 이 경우에 표현은 사실 또는 거짓을 평가 할 것이고 조건부 연산자는 그 결과에서 동작할 것입니다.

표현 문법은 만약 기능이 정의되면 참을 변환하고 또는 정의되지 않으면 거짓을 변환하는 것과 같은 기능 이름(예.”기능”)으로 구성합니다. 다음 논리적인 연산자:_그리고, 또는_그리고_아님. 표현식은 괄호로 묶을 수 있으며, 다중 하위 표현을 포함합니다.

예를 들면:

{if "feature1" or "feature2":true}
    만약 "기능1" 또는 "기능2"가 정의되어 있다면, 이 연산자를 문자열 "사실", 그렇지 않으면 빈 문자열로 교체합니다.

{if not "feature":true|false}
    만약 “기능”이 정의되지 않으면, 문자열 “사실”로 이 연산자를 , 그렇지 않으면 문자열 “거짓”으로 교체합니다.

{if not "feature":true}
    만약 "기능"이 정의되지 않으면, 문자열 "사실"로 이 연산자를, 그렇지 않으면 비어있는 문자열로 교체합니다.

{if "feature1" and ("feature2" or "feature3"):true}
    만약 "기능1"이 정의되었으면, "기능2"와 "기능3" 중의 하나는 이 연산자는 문자열 "사실"로, 그렇지 않으면 빈 문자열 교체로 정의됩니다.

  예제

이 것은 "if" 연산자 사용하는 예제입니다. 만약 "with-sudo"기능이 활성화되어 있으면, suoers 행에 "sss"을 추가합니다.

     passwd: sss files
    group: sss files
    netgroup: sss files
    automount: sss files
    services: sss files
    sudoers: files {if "with-sudo":sss}

이는 "continue-if" 과 "include-if" 연산자의 예제입니다. 파일의 결과는 "with-smartcard" 기능이 활성화 하지 않는 한 비워질 것입니다. 만약 활성화 되고 또한 “with-faillock” 기능이 활성화 되면, 이는 또한 pam_faillock을 위한 지원이 활성화 됩니다.

    {continue if "with-smartcard"}
    auth        required                                     pam_env.so
    auth        required                                     pam_faildelay.so delay=2000000
    auth        required                                     pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"}
    auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
    auth        [default=1 ignore=ignore success=ok]         pam_localuser.so
    auth        sufficient                                   pam_unix.so nullok
    auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
    auth        sufficient                                   pam_sss.so forward_pass
    auth        required                                     pam_faillock.so authfail deny=4 unlock_time=1200       {include if "with-faillock"}
    auth        required                                     pam_deny.so
    ...

이는 로지컬 표현 사용 “continue-if”의 한 사례입니다. 파일은 “with-smartcard” 또는 “with-smartcard-required”로 설정하지 않으면 비워질 것입니다. 이는 두 가지 기능을 포함 할 필요 없는 것 뿐만 아니라 “with-smartcard-required”만 필요로 하는 authselect select 명령의 호출을 간소화 할 것입니다.

     {continue if "with-smartcard" or "with-smartcard-required"}
    auth required pam_env.so
    auth required pam_faildelay.so delay=2000000
    auth required pam_faillock.so preauth silent deny=4 unlock_time=1200 {include if "with-faillock"}
    auth [default=1 ignore=ignore success=ok] pam_succeed_if.so uid >= 1000 quiet
    auth [default=1 ignore=ignore success=ok] pam_localuser.so
    auth sufficient pam_unix.so nullok try_first_pass
    auth requisite am_succeed_if.so uid >= 1000 quiet_success
    auth sufficient pam_sss.so forward_pass
    auth required pam_faillock.so authfail deny=4 unlock_time=1200 {include if "with-faillock"}
    auth required pam_deny.so
    ...

이것은 “imply-if” 연산자의 한 예제입니다. 기능 “with-smartcard-required”활성화는 또한 PAM 모듈과 연관된 모든 것은 사용되어지는 것을 확실하게 “ with-smartcard” 활성화될 것입니다. 이는 앞선 예제처럼 동일한 행위를 성취할 것입니다.

    {imply "with-smartcard" if "with-smartcard-required"}
    auth        required                                     pam_env.so
    auth        required                                     pam_faildelay.so delay=2000000
    auth        [success=1 default=ignore]                   pam_succeed_if.so service notin login:gdm:xdm:kdm:kde:xscreensaver:gnome-screensaver:kscreensaver quiet use_uid {include if "with-smartcard-required"}
    auth        [success=done ignore=ignore default=die]     pam_sss.so require_cert_auth ignore_authinfo_unavail             {include if "with-smartcard-required"}
    auth        [default=1 ignore=ignore success=ok]         pam_succeed_if.so uid >= 1000 quiet
    auth        [default=1 ignore=ignore success=ok]         pam_localuser.so                                                 {exclude if "with-smartcard"}
    auth        [default=2 ignore=ignore success=ok]         pam_localuser.so                                                 {include if "with-smartcard"}
    auth        [success=done authinfo_unavail=ignore user_unknown=ignore ignore=ignore default=die] pam_sss.so try_cert_auth {include if "with-smartcard"}
    auth        sufficient                                   pam_unix.so {if not "without-nullok":nullok}
    auth        requisite                                    pam_succeed_if.so uid >= 1000 quiet_success
    auth        sufficient                                   pam_sss.so forward_pass
    auth        required                                     pam_deny.so
    ...

새로운 프로파일 생성

authselect안에서 새로운 프로파일 등록하려면, 목록화된 파일이상으로 authselect 프로파일 중 하나로 디록토리를 생성합니다. 모든 파일에 존재해야 하는 것은 아니며, README 파일만은 필수적으로 있어야 합니다. 다른 파일은 필요에 따라 생성 되어질 수 있습니다.

당신은 새로운 파일을 생성 할 때에 도움이 될만한 authselect create-profile 명령을 찾을 수 있습니다. 보다 상세한 정보를 위하여 authselect(8) 설명서 부분 또는 *authselect create-profile --help*를 참고하세요.

또 보세요

authselect(8), nsswitch.conf(5), PAM(8)