-
Notifications
You must be signed in to change notification settings - Fork 0
/
sag-pam_time.html
120 lines (120 loc) · 10.1 KB
/
sag-pam_time.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>6.31. pam_time - 시간에 의한 접근 통제</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><link rel="home" href="Linux-PAM_SAG.html" title="Linux-PAM 시스템 관리자 안내서"><link rel="up" href="sag-module-reference.html" title="6장. 모듈 참조 안내서"><link rel="prev" href="sag-pam_succeed_if.html" title="6.30. pam_succeed_if - 계정 속성 검사"><link rel="next" href="sag-pam_timestamp.html" title="6.32. pam_timestamp - 인증 시도 성공 기록을 이용한 인증"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.31. pam_time - 시간에 의한 접근 통제</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="sag-pam_succeed_if.html">이전</a> </td><th width="60%" align="center">6장. 모듈 참조 안내서</th><td width="20%" align="right"> <a accesskey="n" href="sag-pam_timestamp.html">다음</a></td></tr></table><hr></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="sag-pam_time"></a>6.31. pam_time - 시간에 의한 접근 통제</h2></div></div></div><div class="cmdsynopsis"><p><code class="command">pam_time.so</code> [
conffile=conf-file
] [
debug
] [
noaudit
]</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-description"></a>6.31.1. 설명</h3></div></div></div><p>
pam_time 모듈은 사용자를 인증하는 게 아니라 시스템이나 특정 응용에 대한
접근을 특정 요일의 특정 시간으로, 또 여러 터미널 회선으로 제한한다.
사용자 이름, 하루 중의 시간, 요일, 요청 서비스, 요청을 하고 있는
터미널에 따라서 (개별) 사용자에게 접근을 거부하도록 구성할 수 있다.
</p><p>
시간/포트 접근 규칙을 가져오는 설정 파일은 기본적으로
<code class="filename">/etc/security/time.conf</code>다.
<span class="emphasis"><em>conffile</em></span> 옵션으로
다른 파일을 지정할 수 있다.
</p><p>
감사 지원을 포함해서 Linux-PAM이 컴파일돼 있으면 모듈에서 접근을
거부하는 경우 보고를 하게 된다.
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-time.conf-description"></a>6.31.2. 설명</h3></div></div></div><p>
pam_time 모듈은 사용자를 인증하는 게 아니라 시스템이나 특정 응용에 대한
접근을 특정 요일의 특정 시간으로, 또 여러 터미널 회선으로 제한한다.
사용자 이름, 하루 중의 시간, 요일, 요청 서비스, 요청을 하고 있는
터미널에 따라서 (개별) 사용자에게 접근을 거부하도록 구성할 수 있다.
</p><p>
이 모듈이 제대로 동작하려면 올바른 형식의
<code class="filename">/etc/security/time.conf</code> 파일이
있어야 한다. 공백은 무시되고 '\'(개행 이스케이프)로 행을 연장할
수 있다. '#' 다음 내용은 행이 끝날 때까지 무시된다.
</p><p>
행 문법은 다음과 같다.
</p><p>
<em class="replaceable"><code>services</code></em>;<em class="replaceable"><code>ttys</code></em>;<em class="replaceable"><code>users</code></em>;<em class="replaceable"><code>times</code></em>
</p><p>
요컨데 각 규칙이 한 줄씩을 차지하며 개행 또는 주석 시작
'<span class="emphasis"><em>#</em></span>'으로 끝이 난다.
필드 네 개가 세미콜론 '<span class="emphasis"><em>;</em></span>'으로
구분돼 있다.
</p><p>
첫 번째 필드인 <em class="replaceable"><code>services</code></em> 필드는
규칙이 적용되는 PAM 서비스 이름의 논리식이다.
</p><p>
두 번째 필드인 <em class="replaceable"><code>tty</code></em> 필드는
이 규칙이 적용되는 터미널 이름의 논리식이다.
</p><p>
세 번째 필드인 <em class="replaceable"><code>users</code></em> 필드는
이 규칙이 적용되는 사용자의 논리식, 또는 사용자 netgroup이다.
</p><p>
논리식이란 선택적으로 개별 토큰 앞에 '!'(논리 not)를 붙이고
'&'(논리 and)나 '|'(논리 or)로 이어 붙인 것이다.
</p><p>
이 항목들에서 단순 와일드카드 '*'를 한 번만 쓸 수 있다.
netgroup에는 와일드카드나 논리 연산자를 쓸 수 없다.
</p><p>
<em class="replaceable"><code>times</code></em> 필드를 이용해
규칙이 적용되는 시간을 지정한다. 날은 두 글자짜리 항목을
연달아 써서 지정한다. 예를 들어 MoTuSa는 월요일, 화요일,
토요일이다. 참고로 요일을 반복하면 해제되므로 MoMo는 아무 날도
지정하지 않은 것이고, MoWk는 월요일을 뺀 평일이다. 쓸 수 있는
두 글자 조합은 Mo Tu We Th Fr Sa Su Wk Wd Al이며, 끝의 둘은 각각
주말과 7일 전체다. 마지막으로 예를 들자면 AlFr는 금요일을 제외한
모든 요일을 뜻한다.
</p><p>
날/시간 범위 각각의 앞에 '!'를 붙여서 "~를 뺀 전체"를
나타낼 수 있다. 시간 범위 부분은 24시간제 HHMM 시간 둘을
하이픈으로 연결한 것이며 각각 시작 시간과 끝 시간을 나타낸다.
(끝 시간이 시작 시간보다 작으면 다음 날에 적용되는 것으로 본다.)
</p><p>
규칙이 적용되려면 요청 프로세스가 services+ttys+users 모두를
만족시켜야 한다.
</p><p>
참고로 현재는 세션을 강제로 끝내는 데몬이 없다. 고칠 필요가 있다.
</p><p>
잘못된 형식의 규칙이 있으면
<span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span>로
오류로 남긴다.
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-options"></a>6.31.3. 옵션</h3></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="option">conffile=/path/to/time.conf</code>
</span></dt><dd><p>
기본 파일 대신 사용할 time.conf 스타일 설정 파일을 나타낸다.
</p></dd><dt><span class="term">
<code class="option">debug</code>
</span></dt><dd><p>
<span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span>로
약간의 디버그 정보를 찍는다.
</p></dd><dt><span class="term">
<code class="option">noaudit</code>
</span></dt><dd><p>
허가 안 된 시간의 로그인을 감사 서브시스템으로 알리지 않는다.
</p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-types"></a>6.31.4. 제공하는 모듈 종류</h3></div></div></div><p>
<code class="option">account</code> 타입만 제공한다.
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-return_values"></a>6.31.5. 반환 값</h3></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">PAM_SUCCESS</span></dt><dd><p>
접근이 인가되었다.
</p></dd><dt><span class="term">PAM_ABORT</span></dt><dd><p>
관련 데이터를 모두 얻지 못했다.
</p></dd><dt><span class="term">PAM_BUF_ERR</span></dt><dd><p>
메모리 버퍼 오류.
</p></dd><dt><span class="term">PAM_PERM_DENIED</span></dt><dd><p>
접근이 인가되지 않았다.
</p></dd><dt><span class="term">PAM_USER_UNKNOWN</span></dt><dd><p>
시스템에게 알지 못하는 사용자다.
</p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-files"></a>6.31.6. 파일</h3></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="filename">/etc/security/time.conf</code></span></dt><dd><p>기본 설정 파일</p></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-time.conf-examples"></a>6.31.7. 예시</h3></div></div></div><p>
다음은 <code class="filename">/etc/security/time.conf</code>에
지정할 수 있는 예시 몇 가지다.
</p><p>
<span class="emphasis"><em>root</em></span>를 제외한 모든 사용자에게
항상 콘솔 로그인 접근을 거부하기:
</p><pre class="programlisting">
login ; tty* & !ttyp* ; !root ; !Al0000-2400
</pre><p>
</p><p>
일과 시간 외에만 (PAM을 이용하게 설정된) 게임에 접근.
사용자 <span class="emphasis"><em>waster</em></span>에는
규칙이 적용되지 않음:
</p><pre class="programlisting">
games ; * ; !waster ; Wd0000-2400 | Wk1800-0800
</pre><p>
</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="sag-pam_time-authors"></a>6.31.8. 작성자</h3></div></div></div><p>
Andrew G. Morgan <morgan@kernel.org>이 pam_time을 작성했다.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="sag-pam_succeed_if.html">이전</a> </td><td width="20%" align="center"><a accesskey="u" href="sag-module-reference.html">위</a></td><td width="40%" align="right"> <a accesskey="n" href="sag-pam_timestamp.html">다음</a></td></tr><tr><td width="40%" align="left" valign="top">6.30. pam_succeed_if - 계정 속성 검사 </td><td width="20%" align="center"><a accesskey="h" href="Linux-PAM_SAG.html">대문</a></td><td width="40%" align="right" valign="top"> 6.32. pam_timestamp - 인증 시도 성공 기록을 이용한 인증</td></tr></table></div></body></html>