<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>잉여 위키  - 최근 바뀜 [ko]</title>
		<link>https://wiki.chnagil.net/index.php?title=%ED%8A%B9%EC%88%98:%EC%B5%9C%EA%B7%BC%EB%B0%94%EB%80%9C</link>
		<description>이 피드에 위키의 최근 바뀜을 추적합니다.</description>
		<language>ko</language>
		<generator>MediaWiki 1.46.0</generator>
		<lastBuildDate>Sun, 02 Aug 2026 07:29:41 GMT</lastBuildDate>
		<item>
			<title>사용자:Lsm0235</title>
			<link>https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;사용자:Lsm0235 (없는 문서)&quot;&gt;Lsm0235&lt;/a&gt;님의 권한을 바꾸었습니다 : 문서 편집자을 부여&lt;/p&gt;
</description>
			<pubDate>Wed, 22 Jul 2026 00:13:59 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90%ED%86%A0%EB%A1%A0:Lsm0235</comments>
		</item>
		<item>
			<title>사용자:Lsm0235</title>
			<link>https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Lsm0235&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Lsm0235 (없는 문서)&quot;&gt;&lt;bdi&gt;Lsm0235&lt;/bdi&gt;&lt;/a&gt; 사용자 계정을 &lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 만들었고 비밀번호는 이메일로 보냈습니다&lt;/p&gt;
</description>
			<pubDate>Wed, 22 Jul 2026 00:13:09 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90%ED%86%A0%EB%A1%A0:Lsm0235</comments>
		</item>
		<item>
			<title>L2 스위치 패스워드 복구</title>
			<link>https://wiki.chnagil.net/index.php?title=L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC&amp;diff=97&amp;oldid=95</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC&amp;diff=97&amp;oldid=95</guid>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;7.3 안전한 대응 절차&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 7월 15일 (수) 14:47 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;ko&quot;&gt;(같은 사용자의 중간 판 하나는 보이지 않습니다)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l231&quot;&gt;231번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;231번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 설정 보존 여부가 명시되지 않은 reset, erase, default 또는 format 항목은 선택하지 않는다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 설정 보존 여부가 명시되지 않은 reset, erase, default 또는 format 항목은 선택하지 않는다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 복구 기능이 확인되지 않으면 iPECS 기술지원에 모델, 시리얼 번호 및 펌웨어 버전을 전달하여 복구 절차를 확인한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# 복구 기능이 확인되지 않으면 iPECS 기술지원에 모델, 시리얼 번호 및 펌웨어 버전을 전달하여 복구 절차를 확인한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== 7.3 패스워드 복구 절차 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# 패스워드 초기화시 CLI 설정 방법.&amp;lt;syntaxhighlight line=&quot;1&quot; start=&quot;1&quot;&amp;gt;#① 장비가 리부팅 시 , Ctrl + C 키를 사용해서 BSP 모드로 진입한다&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#② BSP 모드 프롬프트에서 패스워드를 초기화한다&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ubiQuoss&amp;gt;&amp;gt; setenv epasswd yes&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ubiQuoss&amp;gt;&amp;gt; run bootcmd&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;## 해당 명령어는 구버젼 OS만 해당된다 ##&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#③부팅완료 후 default 계정으로 접속되는지 확인한다&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G login: admin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Password:1234qweR#&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Hello.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G&amp;gt; enable&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G# conf t&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G( config )# username admin password 1q2w3e4r!Q&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G# write memory&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Overwrite &#039;flash: tae0c&#039;? [y/n]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;yes&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Building configuration...&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;## 신버젼 OS는 초기 로그인시 root 입력시 생성할 계정과 패스워드 물어본다 ##&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ES-3128G login: root&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;새로 생성할 계정 :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패스워드 :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패스워드 재입력 :&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;새로 만든 계정으로 입력&amp;lt;/syntaxhighlight&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= 8. 유비쿼스 E4020-24T =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= 8. 유비쿼스 E4020-24T =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l388&quot;&gt;388번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;416번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index.php?title=&lt;/ins&gt;분류:네트워크]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:L2 스위치]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index.php?title=&lt;/ins&gt;분류:L2 스위치]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:장애 대응]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index.php?title=&lt;/ins&gt;분류:장애 대응]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류:패스워드 복구]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index.php?title=&lt;/ins&gt;분류:패스워드 복구]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki11-wiki:diff:1.41:old-95:rev-97:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 15 Jul 2026 05:47:13 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC</comments>
		</item>
		<item>
			<title>L2 스위치 패스워드 복구</title>
			<link>https://wiki.chnagil.net/index.php?title=L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC&amp;diff=95&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC&amp;diff=95&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: = L2 스위치 벤더별 패스워드 초기화 가이드 =  == 1. 문서 목적 ==  관리자 패스워드를 분실한 L2 스위치에서 기존 설정을 보존하면서 관리 권한을 복구하기 위한 현장 작업 절차를 정리한다.  본 문서는 작성 시점에 확실히 알고 있는 내용만 기술한다. 모델 또는 펌웨어에 따라 확인되지 않은 부트로더 명령, 메뉴 번호, 설정 파일명은 추측하여 기재하지 않는다.  == 2....&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= L2 스위치 벤더별 패스워드 초기화 가이드 =&lt;br /&gt;
&lt;br /&gt;
== 1. 문서 목적 ==&lt;br /&gt;
&lt;br /&gt;
관리자 패스워드를 분실한 L2 스위치에서 기존 설정을 보존하면서 관리 권한을 복구하기 위한 현장 작업 절차를 정리한다.&lt;br /&gt;
&lt;br /&gt;
본 문서는 작성 시점에 확실히 알고 있는 내용만 기술한다. 모델 또는 펌웨어에 따라 확인되지 않은 부트로더 명령, 메뉴 번호, 설정 파일명은 추측하여 기재하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 2. 작업 전 주의사항 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;경고:&amp;#039;&amp;#039;&amp;#039; 패스워드 복구 작업에는 장비 재부팅과 서비스 중단이 필요하다. 스택, 업링크 이중화, PoE 전화기 및 AP 수용 여부를 먼저 확인한다.&lt;br /&gt;
&lt;br /&gt;
* 작업 대상 장비의 모델명, 시리얼 번호 및 펌웨어 버전을 기록한다.&lt;br /&gt;
* 콘솔 케이블과 콘솔 프로그램을 준비한다.&lt;br /&gt;
* 가능하면 현재 설정 백업본과 네트워크 구성도를 확보한다.&lt;br /&gt;
* 패스워드 복구와 공장초기화를 혼동하지 않는다.&lt;br /&gt;
* 설정 파일을 삭제하거나 공장초기화하기 전에 기존 설정 보존 방법을 먼저 확인한다.&lt;br /&gt;
* 부트 메뉴에서 파일시스템 초기화, 포맷, OS 이미지 삭제 항목을 선택하지 않는다.&lt;br /&gt;
* 스택 장비는 단독 장비와 절차가 다를 수 있으므로 스택 전체 상태를 먼저 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 3. 공통 준비사항 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목&lt;br /&gt;
! 확인 내용&lt;br /&gt;
|-&lt;br /&gt;
| 콘솔 연결&lt;br /&gt;
| 장비 콘솔 포트 종류와 통신 속도를 확인한다. 일반적으로 9600 8-N-1이 많이 사용되지만 모델별로 다를 수 있다.&lt;br /&gt;
|-&lt;br /&gt;
| 서비스 영향&lt;br /&gt;
| 재부팅 동안 스위치에 연결된 단말, 전화기, AP 및 하위 스위치 통신이 중단된다.&lt;br /&gt;
|-&lt;br /&gt;
| 복구 목표&lt;br /&gt;
| 기존 설정 보존 후 패스워드만 변경하는 것을 우선한다.&lt;br /&gt;
|-&lt;br /&gt;
| 최후 수단&lt;br /&gt;
| 정상적인 패스워드 복구가 불가능할 때만 공장초기화를 검토한다.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 4. Cisco Catalyst =&lt;br /&gt;
&lt;br /&gt;
== 4.1 적용 범위 ==&lt;br /&gt;
&lt;br /&gt;
다음 절차는 전통적인 Cisco Catalyst IOS 스위치에서 사용하는 대표적인 복구 방식이다.&lt;br /&gt;
&lt;br /&gt;
* Catalyst 2960/2960G/2960S/2960X 계열&lt;br /&gt;
* Catalyst 3560/3750 계열&lt;br /&gt;
&lt;br /&gt;
Catalyst 9200/9300 등 IOS XE 장비는 부트 변수와 복구 방식이 다를 수 있으므로 아래 IOS 절차를 그대로 적용하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 4.2 기존 설정을 보존한 패스워드 복구 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔을 연결한다.&lt;br /&gt;
# 장비 전원을 껐다가 다시 켠다.&lt;br /&gt;
# 전원을 넣으면서 전면의 &amp;#039;&amp;#039;&amp;#039;MODE&amp;#039;&amp;#039;&amp;#039; 버튼을 누른다.&lt;br /&gt;
# 부트로더 프롬프트가 표시되면 MODE 버튼을 놓는다.&lt;br /&gt;
# 플래시 파일시스템을 초기화하고 기존 설정 파일을 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 플래시 파일시스템 초기화&lt;br /&gt;
flash_init&lt;br /&gt;
&lt;br /&gt;
# 일부 구형 모델에서만 존재할 수 있음&lt;br /&gt;
load_helper&lt;br /&gt;
&lt;br /&gt;
# 플래시 파일 목록 확인&lt;br /&gt;
dir flash:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 기존 시작 설정 파일인 &amp;#039;&amp;#039;config.text&amp;#039;&amp;#039;를 임시 이름으로 변경한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 기존 시작 설정을 보존하기 위해 이름 변경&lt;br /&gt;
rename flash:config.text flash:config.text.old&lt;br /&gt;
&lt;br /&gt;
# 정상 부팅 시작&lt;br /&gt;
boot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 초기 설정 대화상자가 나오면 실행하지 않는다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 초기 설정 대화상자 질문에 no 입력&lt;br /&gt;
Would you like to enter the initial configuration dialog? [yes/no]: no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 특권 모드로 진입한다.&lt;br /&gt;
# 임시 파일명을 원래 이름으로 되돌린다.&lt;br /&gt;
# 기존 시작 설정을 현재 실행 설정에 병합한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 특권 모드 진입&lt;br /&gt;
enable&lt;br /&gt;
&lt;br /&gt;
# 기존 설정 파일명 복원&lt;br /&gt;
rename flash:config.text.old flash:config.text&lt;br /&gt;
&lt;br /&gt;
# 기존 설정을 실행 설정에 병합&lt;br /&gt;
copy startup-config running-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; copy 명령의 방향을 반대로 입력하지 않는다. 이 단계에서는 반드시 startup-config를 running-config로 불러와야 한다.&lt;br /&gt;
&lt;br /&gt;
# 새로운 로컬 관리자 계정과 enable secret을 설정한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 전역 설정 모드 진입&lt;br /&gt;
configure terminal&lt;br /&gt;
&lt;br /&gt;
# 신규 관리자 계정 생성 예제&lt;br /&gt;
username admin privilege 15 secret NEW_STRONG_PASSWORD&lt;br /&gt;
&lt;br /&gt;
# enable secret 변경&lt;br /&gt;
enable secret NEW_ENABLE_PASSWORD&lt;br /&gt;
&lt;br /&gt;
# 콘솔에서 로컬 계정 인증 사용&lt;br /&gt;
line console 0&lt;br /&gt;
login local&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
# SSH VTY에서 로컬 계정 인증 사용&lt;br /&gt;
line vty 0 15&lt;br /&gt;
login local&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
# 변경 설정 저장&lt;br /&gt;
write memory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4.3 검증 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 저장된 설정과 현재 설정 비교에 필요한 주요 항목 확인&lt;br /&gt;
show running-config | include hostname|username|enable secret&lt;br /&gt;
show startup-config | include hostname|username|enable secret&lt;br /&gt;
&lt;br /&gt;
# VLAN과 포트 상태 확인&lt;br /&gt;
show vlan brief&lt;br /&gt;
show interfaces status&lt;br /&gt;
&lt;br /&gt;
# 스패닝트리 상태 확인&lt;br /&gt;
show spanning-tree summary&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
장비를 재부팅하기 전에 SSH 또는 콘솔에서 새 계정으로 로그인되는지 확인한다. 재부팅 검증이 필요하면 유지보수 시간 안에 수행한다.&lt;br /&gt;
&lt;br /&gt;
== 4.4 Catalyst IOS XE 주의사항 ==&lt;br /&gt;
&lt;br /&gt;
Catalyst 9200/9300 계열은 부트로더에서 시작 설정을 무시하도록 부팅한 뒤 기존 설정을 불러오는 방식이 사용되지만, 정확한 변수와 해제 명령은 모델·IOS XE 버전에 따라 확인해야 한다. 전통적인 &amp;#039;&amp;#039;config.text&amp;#039;&amp;#039; 이름 변경 절차를 임의로 적용하지 않는다.&lt;br /&gt;
&lt;br /&gt;
= 5. Alcatel-Lucent Enterprise OmniSwitch OS6350-24 =&lt;br /&gt;
&lt;br /&gt;
== 5.1 확인된 범위 ==&lt;br /&gt;
&lt;br /&gt;
OS6350은 Cisco IOS의 &amp;#039;&amp;#039;config.text&amp;#039;&amp;#039; 이름 변경 절차를 사용하는 장비가 아니다. 부팅 과정과 관리 계정 처리는 AOS 및 부트 환경에 종속된다.&lt;br /&gt;
&lt;br /&gt;
현재 알고 있는 정보만으로는 OS6350-24의 특정 AOS 버전에 안전하게 공통 적용할 수 있는 부트 메뉴 번호, 패스워드 복구 명령 및 삭제 대상 파일명을 확정할 수 없다. 따라서 임의의 파일 삭제나 부트 명령을 기재하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 5.2 현장 작업 기준 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔을 연결하고 부팅 로그에서 AOS 버전 및 부트 환경 버전을 기록한다.&lt;br /&gt;
# 부팅 중 표시되는 안내 문구에 패스워드 복구 또는 설정 무시 항목이 실제로 존재하는지 확인한다.&lt;br /&gt;
# 기존 설정 보존이 명시된 복구 기능만 사용한다.&lt;br /&gt;
# 설정 파일 삭제, working/certified 디렉터리 변경 또는 파일시스템 초기화는 수행하지 않는다.&lt;br /&gt;
# 복구 메뉴가 확인되지 않으면 ALE 기술지원 또는 해당 AOS 버전의 공식 매뉴얼을 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; OmniSwitch의 working/certified 구조는 운영 이미지와 설정 관리에 영향을 줄 수 있다. 패스워드 복구 목적으로 관련 디렉터리를 임의 삭제하거나 복사하지 않는다.&lt;br /&gt;
&lt;br /&gt;
= 6. HPE 스위치 =&lt;br /&gt;
&lt;br /&gt;
== 6.1 ProCurve 및 ArubaOS-Switch 계열 ==&lt;br /&gt;
&lt;br /&gt;
HPE ProCurve 및 ArubaOS-Switch 장비 중 전면에 &amp;#039;&amp;#039;&amp;#039;Clear&amp;#039;&amp;#039;&amp;#039; 버튼이 있는 모델은 Clear 버튼으로 로컬 패스워드를 삭제할 수 있다. 이 동작은 일반적으로 구성 전체를 삭제하는 공장초기화와 다르다.&lt;br /&gt;
&lt;br /&gt;
=== 패스워드만 삭제 ===&lt;br /&gt;
&lt;br /&gt;
# 장비가 정상 부팅된 상태인지 확인한다.&lt;br /&gt;
# 전면의 &amp;#039;&amp;#039;&amp;#039;Clear&amp;#039;&amp;#039;&amp;#039; 버튼을 짧게 눌렀다가 놓는다.&lt;br /&gt;
# 콘솔에서 관리자 접근 가능 여부를 확인한다.&lt;br /&gt;
# 즉시 새로운 관리자 패스워드를 설정하고 저장한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; 관리자가 front-panel-security 기능으로 password-clear 동작을 비활성화한 장비에서는 이 방법이 동작하지 않을 수 있다. 모델별 버튼 위치와 동작을 확인한다.&lt;br /&gt;
&lt;br /&gt;
=== 공장초기화와 구분 ===&lt;br /&gt;
&lt;br /&gt;
Clear 버튼과 Reset 버튼을 조합하는 동작은 설정 전체 삭제로 이어질 수 있다. 패스워드만 복구하려는 경우 두 버튼을 함께 누르지 않는다.&lt;br /&gt;
&lt;br /&gt;
=== 검증 예제 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 현재 설정 확인&lt;br /&gt;
show running-config&lt;br /&gt;
&lt;br /&gt;
# VLAN 확인&lt;br /&gt;
show vlans&lt;br /&gt;
&lt;br /&gt;
# 포트 상태 확인&lt;br /&gt;
show interfaces brief&lt;br /&gt;
&lt;br /&gt;
# 설정 저장&lt;br /&gt;
write memory&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6.2 HPE Comware 계열 ==&lt;br /&gt;
&lt;br /&gt;
Comware 장비는 일반적으로 부팅 중 BootWare 메뉴에 진입하여 시작 설정을 무시하는 복구 방식을 사용한다. BootWare 메뉴 번호와 표현은 모델 및 버전에 따라 달라질 수 있으므로 번호를 고정하여 기재하지 않는다.&lt;br /&gt;
&lt;br /&gt;
현장에서는 다음 원칙을 적용한다.&lt;br /&gt;
&lt;br /&gt;
# 콘솔을 연결하고 장비를 재부팅한다.&lt;br /&gt;
# 부팅 화면에 표시되는 키를 사용하여 BootWare 메뉴에 진입한다.&lt;br /&gt;
# 시작 설정을 삭제하는 항목이 아니라, 이번 부팅에서만 시작 설정을 건너뛰는 항목을 선택한다.&lt;br /&gt;
# 장비 부팅 후 기존 저장 설정을 실행 설정으로 불러온다.&lt;br /&gt;
# 관리자 인증 정보를 변경한다.&lt;br /&gt;
# 다음 부팅에서 시작 설정 무시 상태가 유지되지 않도록 복구 옵션을 해제한다.&lt;br /&gt;
# 설정을 저장하고 재부팅하여 검증한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;경고:&amp;#039;&amp;#039;&amp;#039; BootWare의 파일시스템 포맷, 애플리케이션 삭제 및 설정 파일 삭제 항목을 선택하지 않는다.&lt;br /&gt;
&lt;br /&gt;
= 7. iPECS ES-3128GP =&lt;br /&gt;
&lt;br /&gt;
== 7.1 확인된 범위 ==&lt;br /&gt;
&lt;br /&gt;
현재 알고 있는 정보만으로 ES-3128GP의 펌웨어 전반에 공통 적용 가능한 부트 진입 키, 패스워드 복구 메뉴 번호 및 설정 파일명을 확정할 수 없다. Cisco 또는 HPE 명령을 유사하게 적용하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 7.2 안전한 대응 절차 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔 연결 후 전원을 재인가한다.&lt;br /&gt;
# 전체 부팅 로그를 저장하고 모델명과 소프트웨어 버전을 확인한다.&lt;br /&gt;
# 화면에 표시된 복구 안내가 있을 때만 해당 키를 사용한다.&lt;br /&gt;
# 설정 보존 여부가 명시되지 않은 reset, erase, default 또는 format 항목은 선택하지 않는다.&lt;br /&gt;
# 복구 기능이 확인되지 않으면 iPECS 기술지원에 모델, 시리얼 번호 및 펌웨어 버전을 전달하여 복구 절차를 확인한다.&lt;br /&gt;
&lt;br /&gt;
= 8. 유비쿼스 E4020-24T =&lt;br /&gt;
&lt;br /&gt;
== 8.1 확인된 범위 ==&lt;br /&gt;
&lt;br /&gt;
현재 알고 있는 정보만으로 E4020-24T의 부트로더별 패스워드 초기화 명령이나 설정 파일명을 확정할 수 없다. 확인되지 않은 명령은 사용하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 8.2 안전한 대응 절차 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔 연결 후 부팅 로그를 저장한다.&lt;br /&gt;
# 장비 소프트웨어 버전과 부트로더 버전을 기록한다.&lt;br /&gt;
# 부팅 화면에 설정 보존형 패스워드 복구 기능이 명시되는지 확인한다.&lt;br /&gt;
# 설정 삭제 또는 공장초기화만 제공되는 경우 먼저 설정 백업 확보 가능 여부를 확인한다.&lt;br /&gt;
# 유비쿼스 기술지원 또는 해당 버전 매뉴얼을 통해 정확한 복구 절차를 확인한다.&lt;br /&gt;
&lt;br /&gt;
= 9. 코어엣지 C3100-24PL =&lt;br /&gt;
&lt;br /&gt;
== 9.1 확인된 범위 ==&lt;br /&gt;
&lt;br /&gt;
현재 알고 있는 정보만으로 C3100-24PL의 펌웨어 전반에 적용 가능한 부트 메뉴 번호, 계정 초기화 명령 및 설정 파일명을 확정할 수 없다.&lt;br /&gt;
&lt;br /&gt;
== 9.2 안전한 대응 절차 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔 연결 후 부팅 로그를 저장한다.&lt;br /&gt;
# 정확한 모델명, 펌웨어 버전 및 부트로더 버전을 확인한다.&lt;br /&gt;
# 부트 메뉴가 나타나더라도 설정 삭제, 플래시 포맷 또는 OS 이미지 삭제 항목은 선택하지 않는다.&lt;br /&gt;
# 설정 보존형 복구 절차가 화면에 명확하게 표시되는 경우에만 진행한다.&lt;br /&gt;
# 확인되지 않으면 코어엣지 기술지원에 장비 정보와 부팅 로그를 전달한다.&lt;br /&gt;
&lt;br /&gt;
= 10. 한드림넷 SG2428G =&lt;br /&gt;
&lt;br /&gt;
== 10.1 확인된 범위 ==&lt;br /&gt;
&lt;br /&gt;
현재 알고 있는 정보만으로 SG2428G의 소프트웨어 버전별 패스워드 복구 키, 부트 메뉴 번호 및 삭제 대상 설정 파일을 확정할 수 없다.&lt;br /&gt;
&lt;br /&gt;
== 10.2 안전한 대응 절차 ==&lt;br /&gt;
&lt;br /&gt;
# 콘솔 연결 후 장비를 재부팅하고 부팅 로그를 저장한다.&lt;br /&gt;
# 정확한 소프트웨어와 부트로더 버전을 기록한다.&lt;br /&gt;
# 패스워드 복구와 공장초기화 항목을 구분한다.&lt;br /&gt;
# 설정 보존 여부가 확인되지 않은 초기화 작업은 중단한다.&lt;br /&gt;
# 한드림넷 기술지원 또는 해당 버전 매뉴얼로 복구 절차를 확인한다.&lt;br /&gt;
&lt;br /&gt;
= 11. 복구 후 공통 점검 =&lt;br /&gt;
&lt;br /&gt;
== 11.1 관리 계정 점검 ==&lt;br /&gt;
&lt;br /&gt;
* 새 관리자 계정으로 콘솔 로그인을 확인한다.&lt;br /&gt;
* SSH 로그인을 확인한다.&lt;br /&gt;
* Telnet이 불필요하면 비활성화한다.&lt;br /&gt;
* 기본 계정 또는 기본 패스워드가 남아 있는지 확인한다.&lt;br /&gt;
* RADIUS/TACACS+ 사용 장비는 로컬 비상 계정을 별도로 검증한다.&lt;br /&gt;
&lt;br /&gt;
== 11.2 네트워크 설정 점검 ==&lt;br /&gt;
&lt;br /&gt;
* 관리 IP 주소, 서브넷 마스크 및 기본 게이트웨이&lt;br /&gt;
* 관리 VLAN과 관리 포트&lt;br /&gt;
* VLAN 및 Trunk/Tagged/Untagged 설정&lt;br /&gt;
* STP 루트 및 차단 포트 상태&lt;br /&gt;
* LACP 또는 포트 채널 상태&lt;br /&gt;
* PoE 포트와 전력 공급 상태&lt;br /&gt;
* LLDP 및 음성 VLAN 상태&lt;br /&gt;
* SNMP, Syslog, NTP 및 인증 서버 설정&lt;br /&gt;
* 스택 또는 IRF/VSF 구성 상태&lt;br /&gt;
&lt;br /&gt;
== 11.3 최종 저장 및 재부팅 검증 ==&lt;br /&gt;
&lt;br /&gt;
# 변경 설정을 저장한다.&lt;br /&gt;
# 저장 설정에 신규 계정과 기존 네트워크 설정이 모두 존재하는지 확인한다.&lt;br /&gt;
# 유지보수 시간 내 장비를 재부팅한다.&lt;br /&gt;
# 신규 계정 로그인과 전체 포트 상태를 다시 확인한다.&lt;br /&gt;
# 장애 발생 시 비교할 수 있도록 복구 후 설정을 별도 백업한다.&lt;br /&gt;
&lt;br /&gt;
= 12. 현장 기록 양식 =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목&lt;br /&gt;
! 기록&lt;br /&gt;
|-&lt;br /&gt;
| 작업 일시&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 작업자&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 제조사/모델&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 시리얼 번호&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 펌웨어 버전&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 부트로더 버전&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 기존 설정 백업 위치&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 사용한 복구 방식&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 설정 보존 여부&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 로그인 검증 결과&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 네트워크 검증 결과&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 13. 적용 범위 요약 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 벤더/계열&lt;br /&gt;
! 본 문서의 상세도&lt;br /&gt;
! 비고&lt;br /&gt;
|-&lt;br /&gt;
| Cisco Catalyst IOS&lt;br /&gt;
| 명령어 포함&lt;br /&gt;
| 2960/3560/3750 계열 대표 절차&lt;br /&gt;
|-&lt;br /&gt;
| Cisco Catalyst IOS XE&lt;br /&gt;
| 원칙만 기술&lt;br /&gt;
| 모델 및 버전별 확인 필요&lt;br /&gt;
|-&lt;br /&gt;
| Alcatel OS6350-24&lt;br /&gt;
| 안전 원칙만 기술&lt;br /&gt;
| AOS 및 부트 환경별 공식 절차 필요&lt;br /&gt;
|-&lt;br /&gt;
| HPE ProCurve/ArubaOS-Switch&lt;br /&gt;
| 버튼 절차 포함&lt;br /&gt;
| front-panel-security 설정에 따라 제한 가능&lt;br /&gt;
|-&lt;br /&gt;
| HPE Comware&lt;br /&gt;
| 복구 흐름 기술&lt;br /&gt;
| BootWare 메뉴 번호는 버전별 확인 필요&lt;br /&gt;
|-&lt;br /&gt;
| iPECS ES-3128GP&lt;br /&gt;
| 안전 원칙만 기술&lt;br /&gt;
| 펌웨어별 공식 절차 필요&lt;br /&gt;
|-&lt;br /&gt;
| 유비쿼스 E4020-24T&lt;br /&gt;
| 안전 원칙만 기술&lt;br /&gt;
| 소프트웨어 및 부트로더별 확인 필요&lt;br /&gt;
|-&lt;br /&gt;
| 코어엣지 C3100-24PL&lt;br /&gt;
| 안전 원칙만 기술&lt;br /&gt;
| 펌웨어 및 부트로더별 확인 필요&lt;br /&gt;
|-&lt;br /&gt;
| 한드림넷 SG2428G&lt;br /&gt;
| 안전 원칙만 기술&lt;br /&gt;
| 소프트웨어 및 부트로더별 확인 필요&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[분류:네트워크]]&lt;br /&gt;
[[분류:L2 스위치]]&lt;br /&gt;
[[분류:장애 대응]]&lt;br /&gt;
[[분류:패스워드 복구]]&lt;/div&gt;</description>
			<pubDate>Wed, 15 Jul 2026 05:28:48 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:L2_%EC%8A%A4%EC%9C%84%EC%B9%98_%ED%8C%A8%EC%8A%A4%EC%9B%8C%EB%93%9C_%EB%B3%B5%EA%B5%AC</comments>
		</item>
		<item>
			<title>미디어위키:Common.js</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&amp;diff=94&amp;oldid=92</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&amp;diff=94&amp;oldid=92</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 7월 14일 (화) 23:36 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;document&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;addEventListener&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;DOMContentLoaded&quot;, &lt;/del&gt;function () {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* SyntaxHighlight 코드 블록에 복사 버튼 추가 */&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;document&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;querySelectorAll&lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;div.mw-highlight&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;).&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;forEach&lt;/del&gt;(function (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;box&lt;/del&gt;) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mw.hook(&#039;wikipage.content&#039;)&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;add&lt;/ins&gt;(function (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;$content&lt;/ins&gt;) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var pre = box.querySelector(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;pre&quot;);&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;$content&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;find&lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;div.mw-highlight&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;).&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;each&lt;/ins&gt;(function () {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        if (!&lt;/del&gt;pre) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;return&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        var box = this;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var pre = box.querySelector(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;pre&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        // 복사 버튼 중복 방지&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!pre || &lt;/ins&gt;box.querySelector(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;.code-copy-btn&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;)) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if (box.querySelector(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;.code-copy-btn&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;)) return;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            &lt;/ins&gt;return;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        }&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var button = document.createElement(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;button&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         var button = document.createElement(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;button&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;textContent &lt;/del&gt;= &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;복사&quot;&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;type &lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;button&#039;&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.className = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;code-copy-btn&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.className = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;code-copy-btn&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.addEventListener(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;click&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;, function () {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        button.textContent = &#039;복사&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        button.setAttribute(&#039;aria-label&#039;, &#039;코드 복사&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         button.addEventListener(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;click&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;, function () {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             navigator.clipboard.writeText(pre.innerText).then(function () {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             navigator.clipboard.writeText(pre.innerText).then(function () {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 button.textContent = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;복사됨!&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 button.textContent = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;복사됨!&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 setTimeout(() =&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt; &lt;/del&gt;button.textContent = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;복사&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;&lt;/del&gt;, 2000);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;button.classList.add(&#039;copied&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                window.&lt;/ins&gt;setTimeout(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function &lt;/ins&gt;() &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                    button.textContent &lt;/ins&gt;= &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;복사&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                    button.classList.remove(&#039;copied&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                }, 2000);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            }).catch(function () {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                button.textContent = &#039;복사 실패&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                window.setTimeout(function () {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                    &lt;/ins&gt;button.textContent = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/ins&gt;복사&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                }&lt;/ins&gt;, 2000);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             });&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             });&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         });&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        // 박스 위치 보장&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         box.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;classList&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;add(&#039;has-copy-button&#039;)&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         box.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;style&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;position = &quot;relative&quot;&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         box.appendChild(button);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         box.appendChild(button);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     });&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     });&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;});&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;});&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki11-wiki:diff:1.41:old-92:rev-94:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:36:46 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.js</comments>
		</item>
		<item>
			<title>미디어위키:Common.css</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.css&amp;diff=93&amp;oldid=91</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.css&amp;diff=93&amp;oldid=91</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 7월 14일 (화) 23:36 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* 이 CSS 설정은 모든 스킨에 적용됩니다 */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* 이 CSS 설정은 모든 스킨에 적용됩니다 */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;div.mw-highlight &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pre {&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* SyntaxHighlight 복사 버튼 */&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    background&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;color: #1e1e1e;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;div.mw-highlight&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.has&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;copy&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;button {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    color: #c5c5c5;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    font&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;family: Consolas, monospace;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    padding: 1em;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    border-radius: 5px;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    border: 1px solid #444;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    overflow-x: auto;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     position: relative;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     position: relative;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* 복사 버튼 */&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;div.mw-highlight &lt;/ins&gt;.code-copy-btn {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;.code-copy-btn {&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     position: absolute;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     position: absolute;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     top: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5px&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     top: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8px&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     right: 10px;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     right: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8px;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;background&lt;/del&gt;: #&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;444&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    z-index: 2;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;color&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#fff&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    padding: 4px &lt;/ins&gt;10px;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;none&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1px solid &lt;/ins&gt;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a2a9b1&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;padding&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4px 8px&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;border-radius&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4px&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     font-size: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;0&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;8em&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;background&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#f8f9fa&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;color&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#202122&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     font-size: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;13px;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    line-height: 1&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     cursor: pointer;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     cursor: pointer;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     border-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;radius&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;4px&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;z&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;index&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;10&lt;/del&gt;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;div.mw-highlight .code-copy-btn:hover {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    background: #eaecf0;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;div.mw-highlight .code-copy-btn.copied {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     border-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;color: #14866d;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    background: #d5fdf4;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    color&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#096450&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/* 복사 버튼과 코드가 겹치지 않도록 여백 확보 */&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;div.mw-highlight.has-copy-button pre {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;padding&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;right&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;75px&lt;/ins&gt;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki11-wiki:diff:1.41:old-91:rev-93:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:36:30 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.css</comments>
		</item>
		<item>
			<title>미디어위키:Common.js</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&amp;diff=92&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&amp;diff=92&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: &lt;span class=&quot;autocomment&quot;&gt;이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다.: &lt;/span&gt; document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function () {     document.querySelectorAll(&amp;quot;div.mw-highlight&amp;quot;).forEach(function (box) {         var pre = box.querySelector(&amp;quot;pre&amp;quot;);         if (!pre) return;          // 복사 버튼 중복 방지         if (box.querySelector(&amp;quot;.code-copy-btn&amp;quot;)) return;          var button = document.createElement(&amp;quot;button&amp;quot;);         button.textContent = &amp;quot;...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */&lt;br /&gt;
document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function () {&lt;br /&gt;
    document.querySelectorAll(&amp;quot;div.mw-highlight&amp;quot;).forEach(function (box) {&lt;br /&gt;
        var pre = box.querySelector(&amp;quot;pre&amp;quot;);&lt;br /&gt;
        if (!pre) return;&lt;br /&gt;
&lt;br /&gt;
        // 복사 버튼 중복 방지&lt;br /&gt;
        if (box.querySelector(&amp;quot;.code-copy-btn&amp;quot;)) return;&lt;br /&gt;
&lt;br /&gt;
        var button = document.createElement(&amp;quot;button&amp;quot;);&lt;br /&gt;
        button.textContent = &amp;quot;복사&amp;quot;;&lt;br /&gt;
        button.className = &amp;quot;code-copy-btn&amp;quot;;&lt;br /&gt;
        button.addEventListener(&amp;quot;click&amp;quot;, function () {&lt;br /&gt;
            navigator.clipboard.writeText(pre.innerText).then(function () {&lt;br /&gt;
                button.textContent = &amp;quot;복사됨!&amp;quot;;&lt;br /&gt;
                setTimeout(() =&amp;gt; button.textContent = &amp;quot;복사&amp;quot;, 2000);&lt;br /&gt;
            });&lt;br /&gt;
        });&lt;br /&gt;
&lt;br /&gt;
        // 박스 위치 보장&lt;br /&gt;
        box.style.position = &amp;quot;relative&amp;quot;;&lt;br /&gt;
        box.appendChild(button);&lt;br /&gt;
    });&lt;br /&gt;
});&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:33:22 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.js</comments>
		</item>
		<item>
			<title>/MediaWiki:Common.css</title>
			<link>https://wiki.chnagil.net/index.php?title=/MediaWiki:Common.css</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=/MediaWiki:Common.css</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=/MediaWiki:Common.css&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;/MediaWiki:Common.css (없는 문서)&quot;&gt;/MediaWiki:Common.css&lt;/a&gt; 문서를 삭제했습니다 내용: &amp;quot;&lt;span class=&quot;autocomment&quot;&gt;콘솔 스타일 코드박스: &lt;/span&gt; div.mw-highlight pre {     background-color: #1e1e1e;     color: #c5c5c5;     font-family: Consolas, monospace;     padding: 1em;     border-radius: 5px;     border: 1px solid #444;     overflow-x: auto;     position: relative; }  &lt;span class=&quot;autocomment&quot;&gt;복사 버튼: &lt;/span&gt; .code-copy-btn {     position: absolute;     top: 5px;     right: 10px;     background: #444;     col...&amp;quot;. 유일한 편집자는 &amp;quot;&lt;a href=&quot;/index.php?title=%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/Chnagil&quot; title=&quot;특수:기여/Chnagil&quot;&gt;Chnagil&lt;/a&gt;&amp;quot; (&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90%ED%86%A0%EB%A1%A0:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;사용자토론:Chnagil (없는 문서)&quot;&gt;토론&lt;/a&gt;)&lt;/p&gt;
</description>
			<pubDate>Tue, 14 Jul 2026 14:32:43 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:/MediaWiki:Common.css</comments>
		</item>
		<item>
			<title>미디어위키:Common.js</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&quot; title=&quot;미디어위키:Common.js&quot;&gt;미디어위키:Common.js&lt;/a&gt; 문서를 삭제했습니다 내용: &amp;quot;document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function () {     document.querySelectorAll(&amp;quot;div.mw-highlight&amp;quot;).forEach(function (box) {         var pre = box.querySelector(&amp;quot;pre&amp;quot;);         if (!pre) return;          // 복사 버튼 중복 방지         if (box.querySelector(&amp;quot;.code-copy-btn&amp;quot;)) return;          var button = document.createElement(&amp;quot;button&amp;quot;);         button.textContent = &amp;quot;복사&amp;quot;;         button.className = &amp;quot;code-copy-btn&amp;quot;;         button.addEventListener(&amp;quot;click&amp;quot;, funct...&amp;quot;&lt;/p&gt;
</description>
			<pubDate>Tue, 14 Jul 2026 14:32:10 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.js</comments>
		</item>
		<item>
			<title>미디어위키:Common.css</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.css&amp;diff=91&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.css&amp;diff=91&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: &lt;span class=&quot;autocomment&quot;&gt;이 CSS 설정은 모든 스킨에 적용됩니다: &lt;/span&gt; div.mw-highlight pre {     background-color: #1e1e1e;     color: #c5c5c5;     font-family: Consolas, monospace;     padding: 1em;     border-radius: 5px;     border: 1px solid #444;     overflow-x: auto;     position: relative; }  &lt;span class=&quot;autocomment&quot;&gt;복사 버튼: &lt;/span&gt; .code-copy-btn {     position: absolute;     top: 5px;     right: 10px;     background: #444;     color: #fff;     border: none;     padding: 4px 8px;     font-size: 0.8em;...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* 이 CSS 설정은 모든 스킨에 적용됩니다 */&lt;br /&gt;
div.mw-highlight pre {&lt;br /&gt;
    background-color: #1e1e1e;&lt;br /&gt;
    color: #c5c5c5;&lt;br /&gt;
    font-family: Consolas, monospace;&lt;br /&gt;
    padding: 1em;&lt;br /&gt;
    border-radius: 5px;&lt;br /&gt;
    border: 1px solid #444;&lt;br /&gt;
    overflow-x: auto;&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* 복사 버튼 */&lt;br /&gt;
.code-copy-btn {&lt;br /&gt;
    position: absolute;&lt;br /&gt;
    top: 5px;&lt;br /&gt;
    right: 10px;&lt;br /&gt;
    background: #444;&lt;br /&gt;
    color: #fff;&lt;br /&gt;
    border: none;&lt;br /&gt;
    padding: 4px 8px;&lt;br /&gt;
    font-size: 0.8em;&lt;br /&gt;
    cursor: pointer;&lt;br /&gt;
    border-radius: 4px;&lt;br /&gt;
    z-index: 10;&lt;br /&gt;
}&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:31:21 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.css</comments>
		</item>
		<item>
			<title>미디어위키:Common.js</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 보호 설정을 &lt;a href=&quot;/index.php?title=/MediaWiki:Common.js&amp;amp;redirect=no&quot; class=&quot;mw-redirect&quot; title=&quot;/MediaWiki:Common.js&quot;&gt;/MediaWiki:Common.js&lt;/a&gt;에서 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&quot; title=&quot;미디어위키:Common.js&quot;&gt;미디어위키:Common.js&lt;/a&gt;으로 이동했습니다 &lt;a href=&quot;/index.php?title=/MediaWiki:Common.js&quot; class=&quot;mw-redirect&quot; title=&quot;/MediaWiki:Common.js&quot;&gt;/MediaWiki:Common.js&lt;/a&gt; 문서를 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&quot; title=&quot;미디어위키:Common.js&quot;&gt;미디어위키:Common.js&lt;/a&gt; 문서로 이동함&lt;/p&gt;
</description>
			<pubDate>Tue, 14 Jul 2026 14:30:08 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Common.js</comments>
		</item>
		<item>
			<title>/MediaWiki:Common.js</title>
			<link>https://wiki.chnagil.net/index.php?title=/MediaWiki:Common.js&amp;diff=89&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=/MediaWiki:Common.js&amp;diff=89&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=/MediaWiki:Common.js&amp;amp;redirect=no&quot; class=&quot;mw-redirect&quot; title=&quot;/MediaWiki:Common.js&quot;&gt;/MediaWiki:Common.js&lt;/a&gt; 문서를 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Common.js&quot; title=&quot;미디어위키:Common.js&quot;&gt;미디어위키:Common.js&lt;/a&gt; 문서로 이동했습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:30:08 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:/MediaWiki:Common.js</comments>
		</item>
		<item>
			<title>미디어위키:Group-wiki-editor-member</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor-member&amp;diff=88&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor-member&amp;diff=88&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor-member&quot; title=&quot;미디어위키:Group-wiki-editor-member&quot;&gt;미디어위키:Group-wiki-editor-member&lt;/a&gt; 문서를 보호했습니다 [편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;문서 편집자&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:25:39 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Group-wiki-editor-member</comments>
		</item>
		<item>
			<title>미디어위키:Group-wiki-editor-member</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor-member&amp;diff=87&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor-member&amp;diff=87&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: 문서 편집자&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;문서 편집자&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:25:30 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Group-wiki-editor-member</comments>
		</item>
		<item>
			<title>미디어위키:Group-wiki-editor</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor&amp;diff=86&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor&amp;diff=86&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Admin (없는 문서)&quot;&gt;&lt;bdi&gt;Admin&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor&quot; title=&quot;미디어위키:Group-wiki-editor&quot;&gt;미디어위키:Group-wiki-editor&lt;/a&gt; 문서를 보호했습니다 [편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;문서 편집자&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:24:45 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Group-wiki-editor</comments>
		</item>
		<item>
			<title>미디어위키:Group-wiki-editor</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor&amp;diff=85&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4:Group-wiki-editor&amp;diff=85&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: 문서 편집자&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;문서 편집자&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:24:22 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%EB%AF%B8%EB%94%94%EC%96%B4%EC%9C%84%ED%82%A4%ED%86%A0%EB%A1%A0:Group-wiki-editor</comments>
		</item>
		<item>
			<title>Cisco AP ME</title>
			<link>https://wiki.chnagil.net/index.php?title=Cisco_AP_ME&amp;diff=84&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=Cisco_AP_ME&amp;diff=84&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: = Cisco Mobility Express(ME) 초기 설정 및 운영 가이드 =  == 개요 ==  본 문서는 Cisco Aironet 1832 Mobility Express 설치 완료 후 초기 설정 방법과 운영 시 권장되는 설정을 설명한다.  본 가이드는 AP 2대를 사용하는 소규모 사무실 환경을 기준으로 작성하였다.  == 구성 예시 ==  {| class=“wikitable” !항목 !설정 |- |AP1 |Mobility Express Master |- |AP2 |CAPWAP Join AP |- |SSID |Office |- |Guest SSID |Guest |...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Cisco Mobility Express(ME) 초기 설정 및 운영 가이드 =&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
&lt;br /&gt;
본 문서는 Cisco Aironet 1832 Mobility Express 설치 완료 후 초기 설정&lt;br /&gt;
방법과 운영 시 권장되는 설정을 설명한다.&lt;br /&gt;
&lt;br /&gt;
본 가이드는 AP 2대를 사용하는 소규모 사무실 환경을 기준으로 작성하였다.&lt;br /&gt;
&lt;br /&gt;
== 구성 예시 ==&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !설정 |- |AP1 |Mobility Express Master |-&lt;br /&gt;
|AP2 |CAPWAP Join AP |- |SSID |Office |- |Guest SSID |Guest |- |관리&lt;br /&gt;
VLAN |10 |- |사내 무선 VLAN |20 |- |Guest VLAN |30 |}&lt;br /&gt;
&lt;br /&gt;
== 초기 Wizard 실행 ==&lt;br /&gt;
&lt;br /&gt;
브라우저 접속&lt;br /&gt;
&lt;br /&gt;
https://관리IP&lt;br /&gt;
&lt;br /&gt;
설정 순서&lt;br /&gt;
&lt;br /&gt;
국가(Country)&lt;br /&gt;
&lt;br /&gt;
시간대(Timezone)&lt;br /&gt;
&lt;br /&gt;
관리자 계정 생성&lt;br /&gt;
&lt;br /&gt;
Management IP 설정&lt;br /&gt;
&lt;br /&gt;
SSID 생성&lt;br /&gt;
&lt;br /&gt;
무선 암호 설정&lt;br /&gt;
&lt;br /&gt;
적용(Apply)&lt;br /&gt;
&lt;br /&gt;
== 관리자 계정 설정 ==&lt;br /&gt;
&lt;br /&gt;
-   admin 계정만 사용하지 않는다.&lt;br /&gt;
-   관리자 암호는 12자 이상 사용한다.&lt;br /&gt;
-   특수문자를 포함한다.&lt;br /&gt;
&lt;br /&gt;
== NTP 설정 ==&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !값 |- |NTP Server |time.google.com |- |예비&lt;br /&gt;
NTP |pool.ntp.org |- |Timezone |Asia/Seoul |}&lt;br /&gt;
&lt;br /&gt;
== Management Interface ==&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !설정 |- |Management VLAN |10 |- |Management&lt;br /&gt;
IP |고정 IP |- |Gateway |사내 Gateway |}&lt;br /&gt;
&lt;br /&gt;
== SSID 구성 ==&lt;br /&gt;
&lt;br /&gt;
=== Office ===&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !권장 |- |Security |WPA2/WPA3 Mixed |- |VLAN&lt;br /&gt;
|20 |}&lt;br /&gt;
&lt;br /&gt;
=== Guest ===&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !권장 |- |VLAN |30 |- |Client Isolation&lt;br /&gt;
|Enabled |}&lt;br /&gt;
&lt;br /&gt;
== 무선 보안 ==&lt;br /&gt;
&lt;br /&gt;
-   WPA2(AES) 사용&lt;br /&gt;
-   WPA3 지원 단말 사용&lt;br /&gt;
-   TKIP 비활성화&lt;br /&gt;
-   WPS 비활성화&lt;br /&gt;
&lt;br /&gt;
== RF 권장 설정 ==&lt;br /&gt;
&lt;br /&gt;
-   2.4GHz : Auto / 20MHz / Channel 1,6,11&lt;br /&gt;
-   5GHz : Auto / 80MHz / DFS Enabled&lt;br /&gt;
&lt;br /&gt;
== RRM ==&lt;br /&gt;
&lt;br /&gt;
-   Dynamic Channel Assignment : Enabled&lt;br /&gt;
-   Transmit Power Control : Enabled&lt;br /&gt;
-   Coverage Hole Detection : Enabled&lt;br /&gt;
&lt;br /&gt;
== Fast Roaming ==&lt;br /&gt;
&lt;br /&gt;
-   802.11k : Enabled&lt;br /&gt;
-   802.11v : Enabled&lt;br /&gt;
-   802.11r : 단말 호환성 확인 후 Enabled&lt;br /&gt;
&lt;br /&gt;
== Band Select ==&lt;br /&gt;
&lt;br /&gt;
Enabled 권장&lt;br /&gt;
&lt;br /&gt;
== Syslog ==&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !항목 !예시 |- |Server |192.168.10.20 |- |Protocol&lt;br /&gt;
|UDP/514 |}&lt;br /&gt;
&lt;br /&gt;
== 백업 ==&lt;br /&gt;
&lt;br /&gt;
다음 작업 전 반드시 설정을 백업한다.&lt;br /&gt;
&lt;br /&gt;
-   초기 구축 완료&lt;br /&gt;
-   설정 변경 전&lt;br /&gt;
-   펌웨어 업그레이드 전&lt;br /&gt;
&lt;br /&gt;
== 권장 펌웨어 ==&lt;br /&gt;
&lt;br /&gt;
{| class=“wikitable” !모델 !권장 버전 |- |Cisco Aironet 1832 Mobility&lt;br /&gt;
Express |8.10.196.0 |}&lt;br /&gt;
&lt;br /&gt;
== 운영 체크리스트 ==&lt;br /&gt;
&lt;br /&gt;
-   HTTPS 사용&lt;br /&gt;
-   HTTP 비활성화&lt;br /&gt;
-   SSH 활성화&lt;br /&gt;
-   Telnet 비활성화&lt;br /&gt;
-   NTP 정상&lt;br /&gt;
-   Syslog 연동&lt;br /&gt;
-   설정 백업&lt;br /&gt;
-   AP Join 확인&lt;br /&gt;
-   SSID 연결 확인&lt;br /&gt;
&lt;br /&gt;
== 장애 확인 ==&lt;br /&gt;
&lt;br /&gt;
=== AP Join 실패 ===&lt;br /&gt;
&lt;br /&gt;
-   VLAN 확인&lt;br /&gt;
-   DHCP 확인&lt;br /&gt;
-   Master AP 상태 확인&lt;br /&gt;
-   펌웨어 버전 확인&lt;br /&gt;
&lt;br /&gt;
=== 무선 속도 저하 ===&lt;br /&gt;
&lt;br /&gt;
-   채널 간섭&lt;br /&gt;
-   RSSI&lt;br /&gt;
-   2.4GHz 사용률&lt;br /&gt;
-   DFS 채널&lt;br /&gt;
-   AP CPU&lt;br /&gt;
&lt;br /&gt;
== 구축 권장 사항 ==&lt;br /&gt;
&lt;br /&gt;
-   AP는 천장 중앙 설치&lt;br /&gt;
-   AP 간 간섭 최소화&lt;br /&gt;
-   금속 구조물 근처 설치 지양&lt;br /&gt;
-   UPS 사용 권장&lt;br /&gt;
-   변경 후 설정 백업&lt;/div&gt;</description>
			<pubDate>Tue, 14 Jul 2026 14:05:05 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:Cisco_AP_ME</comments>
		</item>
		<item>
			<title>MediaWiki 권한</title>
			<link>https://wiki.chnagil.net/index.php?title=MediaWiki_%EA%B6%8C%ED%95%9C&amp;diff=83&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=MediaWiki_%EA%B6%8C%ED%95%9C&amp;diff=83&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=MediaWiki_%EA%B6%8C%ED%95%9C&quot; title=&quot;MediaWiki 권한&quot;&gt;MediaWiki 권한&lt;/a&gt; 문서를 보호했습니다 [편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= MediaWiki 비공개 위키 및 사용자 그룹 권한 설정 가이드 =&lt;br /&gt;
&lt;br /&gt;
본 문서는 MediaWiki 1.46 기준으로 다음 권한 정책을 구성하는 방법을 설명한다.&lt;br /&gt;
&lt;br /&gt;
* 비로그인 사용자는 위키 문서를 열람할 수 없다.&lt;br /&gt;
* 로그인 사용자는 위키 문서를 열람할 수 있다.&lt;br /&gt;
* 문서 작성 및 편집은 별도의 사용자 그룹에 속한 사용자만 가능하다.&lt;br /&gt;
* 사용자 가입은 차단하고 관리자가 계정을 생성한다.&lt;br /&gt;
&lt;br /&gt;
== 1. 권한 구성 목표 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 사용자 구분&lt;br /&gt;
! 문서 열람&lt;br /&gt;
! 문서 작성·편집&lt;br /&gt;
! 계정 생성&lt;br /&gt;
|-&lt;br /&gt;
| 비로그인 사용자(&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 일반 로그인 사용자(&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 편집 그룹(&amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 관리자(&amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;를 수정하기 전에 반드시 백업한다. PHP 문법 오류가 발생하면 위키 전체가 열리지 않을 수 있다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. LocalSettings.php 백업 ==&lt;br /&gt;
&lt;br /&gt;
MediaWiki 설치 경로가 &amp;lt;code&amp;gt;/var/www/mediawiki&amp;lt;/code&amp;gt;인 경우의 예시이다. 실제 설치 경로에 맞게 변경한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# MediaWiki 설치 경로로 이동&lt;br /&gt;
cd /var/www/mediawiki&lt;br /&gt;
&lt;br /&gt;
# 날짜와 시간을 붙여 LocalSettings.php 백업&lt;br /&gt;
cp -a LocalSettings.php &amp;quot;LocalSettings.php.$(date +%Y%m%d-%H%M%S).bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 백업 파일 확인&lt;br /&gt;
ls -lh LocalSettings.php*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. 비공개 위키 및 편집 그룹 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;의 마지막 부분에 다음 설정을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; line&amp;gt;&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
# 비공개 위키 권한 정책&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# 비로그인 사용자의 문서 열람 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;read&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 비로그인 사용자의 문서 작성 및 편집 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;edit&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createpage&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createtalk&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 공개 회원가입 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createaccount&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 일반 로그인 사용자는 문서 열람만 허용&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;edit&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;createpage&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;createtalk&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 편집 전용 사용자 그룹 생성 및 권한 부여&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;edit&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;createpage&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;createtalk&amp;#039;] = true;&lt;br /&gt;
&lt;br /&gt;
# 관리자는 계정 생성과 문서 편집 가능&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createaccount&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;edit&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createpage&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createtalk&amp;#039;] = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;는 기본 그룹이 아니라 이 설정에서 새로 정의한 사용자 그룹이다. 그룹 이름은 영문 소문자와 하이픈 조합을 권장한다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그인 화면 접근에 대한 참고 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; 권한을 차단해도 일반적으로 로그인 특수 문서는 접근할 수 있다. 환경 또는 확장 기능의 영향으로 로그인 화면까지 차단되는 경우에만 다음 예외를 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; line&amp;gt;&lt;br /&gt;
# 필요한 경우에만 비로그인 사용자에게 로그인 화면 열람 허용&lt;br /&gt;
$wgWhitelistRead = [ &amp;#039;Special:UserLogin&amp;#039; ];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
기존에 &amp;lt;code&amp;gt;$wgWhitelistRead&amp;lt;/code&amp;gt; 설정이 있다면 새 배열을 다시 선언하지 말고 기존 배열에 항목을 합쳐야 한다.&lt;br /&gt;
&lt;br /&gt;
== 4. 설정 파일 문법 검사 및 적용 ==&lt;br /&gt;
&lt;br /&gt;
MediaWiki 권한 설정은 &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;가 요청 시 로드되므로 별도의 DB 업데이트나 웹 서버 재시작이 일반적으로 필요하지 않다. 먼저 PHP 문법을 검사한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# PHP 문법 오류 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
정상 결과:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
No syntax errors detected in /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PHP OPcache 설정에 따라 변경 사항이 즉시 반영되지 않으면 PHP-FPM을 재시작한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 사용 중인 PHP-FPM 서비스 이름 확인&lt;br /&gt;
systemctl list-units --type=service | grep -E &amp;#039;php.*fpm&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Rocky Linux 기본 서비스 이름 예시&lt;br /&gt;
systemctl restart php-fpm&lt;br /&gt;
&lt;br /&gt;
# 서비스 상태 확인&lt;br /&gt;
systemctl --no-pager --full status php-fpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. 위키 사용자 계정 생성 ==&lt;br /&gt;
&lt;br /&gt;
공개 회원가입을 차단했으므로 관리자가 계정을 생성한다.&lt;br /&gt;
&lt;br /&gt;
# 관리자 계정으로 로그인한다.&lt;br /&gt;
# 주소창에서 &amp;lt;code&amp;gt;https://위키주소/index.php/Special:CreateAccount&amp;lt;/code&amp;gt;로 이동한다.&lt;br /&gt;
# 사용자 이름, 비밀번호, 이메일 주소를 입력한다.&lt;br /&gt;
# 가능하면 임시 비밀번호를 이메일로 전송하고 최초 로그인 시 변경하도록 한다.&lt;br /&gt;
&lt;br /&gt;
명령줄에서 계정을 생성해야 하는 경우 MediaWiki 설치 경로에서 유지보수 스크립트를 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# MediaWiki 설치 경로로 이동&lt;br /&gt;
cd /var/www/mediawiki&lt;br /&gt;
&lt;br /&gt;
# 현재 버전에 포함된 계정 생성 스크립트의 사용법 확인&lt;br /&gt;
php maintenance/createAndPromote.php --help&lt;br /&gt;
&lt;br /&gt;
# 일반 사용자 계정 생성 예시&lt;br /&gt;
# 실행 후 암호를 입력하며, 실제 사용자 이름으로 변경한다.&lt;br /&gt;
php maintenance/createAndPromote.php wikiuser01&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-warning&amp;quot;&amp;gt;&lt;br /&gt;
명령줄 옵션은 MediaWiki 버전에 따라 차이가 있을 수 있으므로 반드시 &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; 결과를 먼저 확인한다. 명령 기록에 비밀번호가 남지 않도록 비밀번호를 명령행 인수로 직접 입력하지 않는다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. 사용자에게 편집 그룹 지정 ==&lt;br /&gt;
&lt;br /&gt;
=== 웹 관리 화면에서 지정 ===&lt;br /&gt;
&lt;br /&gt;
# 관리자 계정으로 로그인한다.&lt;br /&gt;
# &amp;lt;code&amp;gt;특수:사용자권한&amp;lt;/code&amp;gt; 또는 &amp;lt;code&amp;gt;Special:UserRights&amp;lt;/code&amp;gt;로 이동한다.&lt;br /&gt;
# 편집 권한을 부여할 사용자 이름을 입력하고 불러온다.&lt;br /&gt;
# 사용자 그룹 목록에서 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;를 선택한다.&lt;br /&gt;
# 변경 사유를 입력한다. 예: &amp;lt;code&amp;gt;기술 문서 편집 담당자 지정&amp;lt;/code&amp;gt;&lt;br /&gt;
# 사용자 그룹 저장 버튼을 누른다.&lt;br /&gt;
&lt;br /&gt;
직접 접근 주소 예시:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
https://위키주소/index.php/Special:UserRights&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 편집 권한 회수 ===&lt;br /&gt;
&lt;br /&gt;
동일한 &amp;lt;code&amp;gt;특수:사용자권한&amp;lt;/code&amp;gt; 화면에서 해당 사용자의 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 선택을 해제하고 저장한다. 그룹을 제거해도 사용자 계정과 기존 편집 기록은 삭제되지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 7. 사용자 그룹 이름 한글 표시 ==&lt;br /&gt;
&lt;br /&gt;
권한 화면에서 그룹 이름을 보기 좋게 표시하려면 위키의 시스템 메시지를 생성한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 생성할 시스템 메시지 문서&lt;br /&gt;
! 입력 내용&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MediaWiki:Group-wiki-editor&amp;lt;/code&amp;gt;&lt;br /&gt;
| 문서 편집자&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MediaWiki:Group-wiki-editor-member&amp;lt;/code&amp;gt;&lt;br /&gt;
| 문서 편집자&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
각 문서는 관리자 계정으로 생성한다. 내부 그룹 ID는 계속 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;를 사용하며 화면에 표시되는 명칭만 변경된다.&lt;br /&gt;
&lt;br /&gt;
== 8. 권한 적용 확인 ==&lt;br /&gt;
&lt;br /&gt;
권한은 서로 다른 브라우저 또는 시크릿 창을 사용하여 계정 유형별로 검사한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 시험 항목&lt;br /&gt;
! 기대 결과&lt;br /&gt;
|-&lt;br /&gt;
| 로그아웃 상태에서 문서 주소 접속&lt;br /&gt;
| 문서 내용이 표시되지 않고 로그인 요구 또는 권한 오류 표시&lt;br /&gt;
|-&lt;br /&gt;
| 일반 사용자 로그인 후 문서 열람&lt;br /&gt;
| 문서 열람 가능&lt;br /&gt;
|-&lt;br /&gt;
| 일반 사용자의 문서 편집 시도&lt;br /&gt;
| 편집 불가&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 사용자 로그인 후 기존 문서 편집&lt;br /&gt;
| 편집 및 저장 가능&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 사용자의 새 문서 작성&lt;br /&gt;
| 새 문서 생성 가능&lt;br /&gt;
|-&lt;br /&gt;
| 관리자 계정의 사용자 계정 생성&lt;br /&gt;
| 계정 생성 가능&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
현재 사용자에게 실제로 부여된 권한은 다음 특수 문서에서 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
https://위키주소/index.php/Special:ListGroupRights&lt;br /&gt;
https://위키주소/index.php/Special:UserRights&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. 첨부 파일 보안 주의사항 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-error&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;중요:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;read&amp;#039;] = false;&amp;lt;/code&amp;gt;는 위키 문서 열람을 제한하지만, 기본 구성에서는 업로드 파일의 직접 URL까지 보호하지 못한다. 파일 URL을 아는 외부 사용자가 이미지나 첨부 파일에 접근할 가능성이 있다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
첨부 파일도 비공개로 운영하려면 MediaWiki의 &amp;lt;code&amp;gt;img_auth.php&amp;lt;/code&amp;gt;와 웹 서버의 이미지 인증 구성을 별도로 적용해야 한다. Nginx 환경에서는 업로드 디렉터리를 직접 공개하지 않도록 구성한 뒤 내부 리다이렉트 방식으로 전달하는 구성이 필요하다. 문서 권한 설정만으로 첨부 파일까지 보호된다고 판단하면 안 된다.&lt;br /&gt;
&lt;br /&gt;
== 10. 장애 발생 시 복구 ==&lt;br /&gt;
&lt;br /&gt;
설정 추가 후 위키가 열리지 않으면 PHP 문법 오류 또는 변수 선언 오류를 우선 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# PHP 문법 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
# Nginx 오류 로그 확인&lt;br /&gt;
tail -n 100 /var/log/nginx/error.log&lt;br /&gt;
&lt;br /&gt;
# PHP-FPM 로그 확인&lt;br /&gt;
journalctl -u php-fpm -n 100 --no-pager&lt;br /&gt;
&lt;br /&gt;
# 필요 시 백업 파일 목록 확인&lt;br /&gt;
ls -lt /var/www/mediawiki/LocalSettings.php*&lt;br /&gt;
&lt;br /&gt;
# 복구할 백업 파일을 확인한 뒤 원본으로 복원&lt;br /&gt;
# 아래 백업 파일명은 실제 생성된 이름으로 변경한다.&lt;br /&gt;
cp -a /var/www/mediawiki/LocalSettings.php.20260713-120000.bak \&lt;br /&gt;
      /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
# 복원 파일 문법 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11. 운영 권장 사항 ==&lt;br /&gt;
&lt;br /&gt;
* 일반 사용자에게 &amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt; 권한을 부여하지 않고 편집 전용 그룹만 사용한다.&lt;br /&gt;
* 입사, 담당 변경, 퇴사 시 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 그룹을 즉시 추가하거나 회수한다.&lt;br /&gt;
* 사용자 그룹 변경 시 변경 사유를 반드시 기록한다.&lt;br /&gt;
* 관리자 계정과 일반 편집 계정을 분리한다.&lt;br /&gt;
* 권한 설정 변경 전 &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;와 데이터베이스를 백업한다.&lt;br /&gt;
* 비공개 자료가 첨부되는 경우 업로드 파일 직접 접근 차단을 별도로 검증한다.&lt;br /&gt;
&lt;br /&gt;
== 참고 자료 ==&lt;br /&gt;
&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:Preventing_access&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:User_rights&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:$wgGroupPermissions&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:Image_Authorization&lt;br /&gt;
&lt;br /&gt;
[[분류:MediaWiki]]&lt;br /&gt;
[[분류:서버 보안]]&lt;br /&gt;
[[분류:권한 관리]]&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 14:11:40 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:MediaWiki_%EA%B6%8C%ED%95%9C</comments>
		</item>
		<item>
			<title>MediaWiki 권한</title>
			<link>https://wiki.chnagil.net/index.php?title=MediaWiki_%EA%B6%8C%ED%95%9C&amp;diff=82&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=MediaWiki_%EA%B6%8C%ED%95%9C&amp;diff=82&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: = MediaWiki 비공개 위키 및 사용자 그룹 권한 설정 가이드 =  본 문서는 MediaWiki 1.46 기준으로 다음 권한 정책을 구성하는 방법을 설명한다.  * 비로그인 사용자는 위키 문서를 열람할 수 없다. * 로그인 사용자는 위키 문서를 열람할 수 있다. * 문서 작성 및 편집은 별도의 사용자 그룹에 속한 사용자만 가능하다. * 사용자 가입은 차단하고 관리자가 계정을 생성한다.  == 1...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= MediaWiki 비공개 위키 및 사용자 그룹 권한 설정 가이드 =&lt;br /&gt;
&lt;br /&gt;
본 문서는 MediaWiki 1.46 기준으로 다음 권한 정책을 구성하는 방법을 설명한다.&lt;br /&gt;
&lt;br /&gt;
* 비로그인 사용자는 위키 문서를 열람할 수 없다.&lt;br /&gt;
* 로그인 사용자는 위키 문서를 열람할 수 있다.&lt;br /&gt;
* 문서 작성 및 편집은 별도의 사용자 그룹에 속한 사용자만 가능하다.&lt;br /&gt;
* 사용자 가입은 차단하고 관리자가 계정을 생성한다.&lt;br /&gt;
&lt;br /&gt;
== 1. 권한 구성 목표 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 사용자 구분&lt;br /&gt;
! 문서 열람&lt;br /&gt;
! 문서 작성·편집&lt;br /&gt;
! 계정 생성&lt;br /&gt;
|-&lt;br /&gt;
| 비로그인 사용자(&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 일반 로그인 사용자(&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 불가&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 편집 그룹(&amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
| 불가&lt;br /&gt;
|-&lt;br /&gt;
| 관리자(&amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt;)&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
| 가능&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-warning&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;를 수정하기 전에 반드시 백업한다. PHP 문법 오류가 발생하면 위키 전체가 열리지 않을 수 있다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. LocalSettings.php 백업 ==&lt;br /&gt;
&lt;br /&gt;
MediaWiki 설치 경로가 &amp;lt;code&amp;gt;/var/www/mediawiki&amp;lt;/code&amp;gt;인 경우의 예시이다. 실제 설치 경로에 맞게 변경한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# MediaWiki 설치 경로로 이동&lt;br /&gt;
cd /var/www/mediawiki&lt;br /&gt;
&lt;br /&gt;
# 날짜와 시간을 붙여 LocalSettings.php 백업&lt;br /&gt;
cp -a LocalSettings.php &amp;quot;LocalSettings.php.$(date +%Y%m%d-%H%M%S).bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 백업 파일 확인&lt;br /&gt;
ls -lh LocalSettings.php*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. 비공개 위키 및 편집 그룹 설정 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;의 마지막 부분에 다음 설정을 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; line&amp;gt;&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
# 비공개 위키 권한 정책&lt;br /&gt;
# ----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
# 비로그인 사용자의 문서 열람 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;read&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 비로그인 사용자의 문서 작성 및 편집 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;edit&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createpage&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createtalk&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 공개 회원가입 차단&lt;br /&gt;
$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;createaccount&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 일반 로그인 사용자는 문서 열람만 허용&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;edit&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;createpage&amp;#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;user&amp;#039;][&amp;#039;createtalk&amp;#039;] = false;&lt;br /&gt;
&lt;br /&gt;
# 편집 전용 사용자 그룹 생성 및 권한 부여&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;edit&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;createpage&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;wiki-editor&amp;#039;][&amp;#039;createtalk&amp;#039;] = true;&lt;br /&gt;
&lt;br /&gt;
# 관리자는 계정 생성과 문서 편집 가능&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createaccount&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;read&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;edit&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createpage&amp;#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&amp;#039;sysop&amp;#039;][&amp;#039;createtalk&amp;#039;] = true;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;는 기본 그룹이 아니라 이 설정에서 새로 정의한 사용자 그룹이다. 그룹 이름은 영문 소문자와 하이픈 조합을 권장한다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 로그인 화면 접근에 대한 참고 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;read&amp;lt;/code&amp;gt; 권한을 차단해도 일반적으로 로그인 특수 문서는 접근할 수 있다. 환경 또는 확장 기능의 영향으로 로그인 화면까지 차단되는 경우에만 다음 예외를 추가한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; line&amp;gt;&lt;br /&gt;
# 필요한 경우에만 비로그인 사용자에게 로그인 화면 열람 허용&lt;br /&gt;
$wgWhitelistRead = [ &amp;#039;Special:UserLogin&amp;#039; ];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
기존에 &amp;lt;code&amp;gt;$wgWhitelistRead&amp;lt;/code&amp;gt; 설정이 있다면 새 배열을 다시 선언하지 말고 기존 배열에 항목을 합쳐야 한다.&lt;br /&gt;
&lt;br /&gt;
== 4. 설정 파일 문법 검사 및 적용 ==&lt;br /&gt;
&lt;br /&gt;
MediaWiki 권한 설정은 &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;가 요청 시 로드되므로 별도의 DB 업데이트나 웹 서버 재시작이 일반적으로 필요하지 않다. 먼저 PHP 문법을 검사한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# PHP 문법 오류 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
정상 결과:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
No syntax errors detected in /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PHP OPcache 설정에 따라 변경 사항이 즉시 반영되지 않으면 PHP-FPM을 재시작한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 사용 중인 PHP-FPM 서비스 이름 확인&lt;br /&gt;
systemctl list-units --type=service | grep -E &amp;#039;php.*fpm&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Rocky Linux 기본 서비스 이름 예시&lt;br /&gt;
systemctl restart php-fpm&lt;br /&gt;
&lt;br /&gt;
# 서비스 상태 확인&lt;br /&gt;
systemctl --no-pager --full status php-fpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. 위키 사용자 계정 생성 ==&lt;br /&gt;
&lt;br /&gt;
공개 회원가입을 차단했으므로 관리자가 계정을 생성한다.&lt;br /&gt;
&lt;br /&gt;
# 관리자 계정으로 로그인한다.&lt;br /&gt;
# 주소창에서 &amp;lt;code&amp;gt;https://위키주소/index.php/Special:CreateAccount&amp;lt;/code&amp;gt;로 이동한다.&lt;br /&gt;
# 사용자 이름, 비밀번호, 이메일 주소를 입력한다.&lt;br /&gt;
# 가능하면 임시 비밀번호를 이메일로 전송하고 최초 로그인 시 변경하도록 한다.&lt;br /&gt;
&lt;br /&gt;
명령줄에서 계정을 생성해야 하는 경우 MediaWiki 설치 경로에서 유지보수 스크립트를 사용할 수 있다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# MediaWiki 설치 경로로 이동&lt;br /&gt;
cd /var/www/mediawiki&lt;br /&gt;
&lt;br /&gt;
# 현재 버전에 포함된 계정 생성 스크립트의 사용법 확인&lt;br /&gt;
php maintenance/createAndPromote.php --help&lt;br /&gt;
&lt;br /&gt;
# 일반 사용자 계정 생성 예시&lt;br /&gt;
# 실행 후 암호를 입력하며, 실제 사용자 이름으로 변경한다.&lt;br /&gt;
php maintenance/createAndPromote.php wikiuser01&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-warning&amp;quot;&amp;gt;&lt;br /&gt;
명령줄 옵션은 MediaWiki 버전에 따라 차이가 있을 수 있으므로 반드시 &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt; 결과를 먼저 확인한다. 명령 기록에 비밀번호가 남지 않도록 비밀번호를 명령행 인수로 직접 입력하지 않는다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. 사용자에게 편집 그룹 지정 ==&lt;br /&gt;
&lt;br /&gt;
=== 웹 관리 화면에서 지정 ===&lt;br /&gt;
&lt;br /&gt;
# 관리자 계정으로 로그인한다.&lt;br /&gt;
# &amp;lt;code&amp;gt;특수:사용자권한&amp;lt;/code&amp;gt; 또는 &amp;lt;code&amp;gt;Special:UserRights&amp;lt;/code&amp;gt;로 이동한다.&lt;br /&gt;
# 편집 권한을 부여할 사용자 이름을 입력하고 불러온다.&lt;br /&gt;
# 사용자 그룹 목록에서 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;를 선택한다.&lt;br /&gt;
# 변경 사유를 입력한다. 예: &amp;lt;code&amp;gt;기술 문서 편집 담당자 지정&amp;lt;/code&amp;gt;&lt;br /&gt;
# 사용자 그룹 저장 버튼을 누른다.&lt;br /&gt;
&lt;br /&gt;
직접 접근 주소 예시:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
https://위키주소/index.php/Special:UserRights&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 편집 권한 회수 ===&lt;br /&gt;
&lt;br /&gt;
동일한 &amp;lt;code&amp;gt;특수:사용자권한&amp;lt;/code&amp;gt; 화면에서 해당 사용자의 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 선택을 해제하고 저장한다. 그룹을 제거해도 사용자 계정과 기존 편집 기록은 삭제되지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 7. 사용자 그룹 이름 한글 표시 ==&lt;br /&gt;
&lt;br /&gt;
권한 화면에서 그룹 이름을 보기 좋게 표시하려면 위키의 시스템 메시지를 생성한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 생성할 시스템 메시지 문서&lt;br /&gt;
! 입력 내용&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MediaWiki:Group-wiki-editor&amp;lt;/code&amp;gt;&lt;br /&gt;
| 문서 편집자&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MediaWiki:Group-wiki-editor-member&amp;lt;/code&amp;gt;&lt;br /&gt;
| 문서 편집자&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
각 문서는 관리자 계정으로 생성한다. 내부 그룹 ID는 계속 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt;를 사용하며 화면에 표시되는 명칭만 변경된다.&lt;br /&gt;
&lt;br /&gt;
== 8. 권한 적용 확인 ==&lt;br /&gt;
&lt;br /&gt;
권한은 서로 다른 브라우저 또는 시크릿 창을 사용하여 계정 유형별로 검사한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 시험 항목&lt;br /&gt;
! 기대 결과&lt;br /&gt;
|-&lt;br /&gt;
| 로그아웃 상태에서 문서 주소 접속&lt;br /&gt;
| 문서 내용이 표시되지 않고 로그인 요구 또는 권한 오류 표시&lt;br /&gt;
|-&lt;br /&gt;
| 일반 사용자 로그인 후 문서 열람&lt;br /&gt;
| 문서 열람 가능&lt;br /&gt;
|-&lt;br /&gt;
| 일반 사용자의 문서 편집 시도&lt;br /&gt;
| 편집 불가&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 사용자 로그인 후 기존 문서 편집&lt;br /&gt;
| 편집 및 저장 가능&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 사용자의 새 문서 작성&lt;br /&gt;
| 새 문서 생성 가능&lt;br /&gt;
|-&lt;br /&gt;
| 관리자 계정의 사용자 계정 생성&lt;br /&gt;
| 계정 생성 가능&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
현재 사용자에게 실제로 부여된 권한은 다음 특수 문서에서 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot; line&amp;gt;&lt;br /&gt;
https://위키주소/index.php/Special:ListGroupRights&lt;br /&gt;
https://위키주소/index.php/Special:UserRights&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9. 첨부 파일 보안 주의사항 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-message-box mw-message-box-error&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;중요:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;$wgGroupPermissions[&amp;#039;*&amp;#039;][&amp;#039;read&amp;#039;] = false;&amp;lt;/code&amp;gt;는 위키 문서 열람을 제한하지만, 기본 구성에서는 업로드 파일의 직접 URL까지 보호하지 못한다. 파일 URL을 아는 외부 사용자가 이미지나 첨부 파일에 접근할 가능성이 있다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
첨부 파일도 비공개로 운영하려면 MediaWiki의 &amp;lt;code&amp;gt;img_auth.php&amp;lt;/code&amp;gt;와 웹 서버의 이미지 인증 구성을 별도로 적용해야 한다. Nginx 환경에서는 업로드 디렉터리를 직접 공개하지 않도록 구성한 뒤 내부 리다이렉트 방식으로 전달하는 구성이 필요하다. 문서 권한 설정만으로 첨부 파일까지 보호된다고 판단하면 안 된다.&lt;br /&gt;
&lt;br /&gt;
== 10. 장애 발생 시 복구 ==&lt;br /&gt;
&lt;br /&gt;
설정 추가 후 위키가 열리지 않으면 PHP 문법 오류 또는 변수 선언 오류를 우선 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# PHP 문법 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
# Nginx 오류 로그 확인&lt;br /&gt;
tail -n 100 /var/log/nginx/error.log&lt;br /&gt;
&lt;br /&gt;
# PHP-FPM 로그 확인&lt;br /&gt;
journalctl -u php-fpm -n 100 --no-pager&lt;br /&gt;
&lt;br /&gt;
# 필요 시 백업 파일 목록 확인&lt;br /&gt;
ls -lt /var/www/mediawiki/LocalSettings.php*&lt;br /&gt;
&lt;br /&gt;
# 복구할 백업 파일을 확인한 뒤 원본으로 복원&lt;br /&gt;
# 아래 백업 파일명은 실제 생성된 이름으로 변경한다.&lt;br /&gt;
cp -a /var/www/mediawiki/LocalSettings.php.20260713-120000.bak \&lt;br /&gt;
      /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&lt;br /&gt;
# 복원 파일 문법 확인&lt;br /&gt;
php -l /var/www/mediawiki/LocalSettings.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11. 운영 권장 사항 ==&lt;br /&gt;
&lt;br /&gt;
* 일반 사용자에게 &amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt; 권한을 부여하지 않고 편집 전용 그룹만 사용한다.&lt;br /&gt;
* 입사, 담당 변경, 퇴사 시 &amp;lt;code&amp;gt;wiki-editor&amp;lt;/code&amp;gt; 그룹을 즉시 추가하거나 회수한다.&lt;br /&gt;
* 사용자 그룹 변경 시 변경 사유를 반드시 기록한다.&lt;br /&gt;
* 관리자 계정과 일반 편집 계정을 분리한다.&lt;br /&gt;
* 권한 설정 변경 전 &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;와 데이터베이스를 백업한다.&lt;br /&gt;
* 비공개 자료가 첨부되는 경우 업로드 파일 직접 접근 차단을 별도로 검증한다.&lt;br /&gt;
&lt;br /&gt;
== 참고 자료 ==&lt;br /&gt;
&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:Preventing_access&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:User_rights&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:$wgGroupPermissions&lt;br /&gt;
* MediaWiki 공식 문서: https://www.mediawiki.org/wiki/Manual:Image_Authorization&lt;br /&gt;
&lt;br /&gt;
[[분류:MediaWiki]]&lt;br /&gt;
[[분류:서버 보안]]&lt;br /&gt;
[[분류:권한 관리]]&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 14:11:10 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:MediaWiki_%EA%B6%8C%ED%95%9C</comments>
		</item>
		<item>
			<title>대문</title>
			<link>https://wiki.chnagil.net/index.php?title=%EB%8C%80%EB%AC%B8&amp;diff=81&amp;oldid=11</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%EB%8C%80%EB%AC%B8&amp;diff=81&amp;oldid=11</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2026년 7월 13일 (월) 22:55 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이곳은 일부 지인에게 공유하기 위하여 생성된 위키 입니다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;이곳은 일부 지인에게 공유하기 위하여 생성된 위키 입니다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[파일:134896534 p0.png|없음|섬네일|1024x1024픽셀]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki11-wiki:diff:1.41:old-11:rev-81:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:55:06 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:%EB%8C%80%EB%AC%B8</comments>
		</item>
		<item>
			<title>파일:134896534 p0.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:134896534_p0.png&amp;diff=80&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:134896534_p0.png&amp;diff=80&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:134896534_p0.png&quot; title=&quot;파일:134896534 p0.png&quot;&gt;파일:134896534 p0.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;짤방&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:54:34 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:134896534_p0.png</comments>
		</item>
		<item>
			<title>IPECS-UCP</title>
			<link>https://wiki.chnagil.net/index.php?title=IPECS-UCP&amp;diff=79&amp;oldid=78</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=IPECS-UCP&amp;diff=79&amp;oldid=78</guid>
			<description>&lt;p&gt;스샷 왼쪽 정렬&lt;/p&gt;
&lt;a href=&quot;https://wiki.chnagil.net/index.php?title=IPECS-UCP&amp;amp;diff=79&amp;amp;oldid=78&quot;&gt;차이 보기&lt;/a&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:29:35 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:IPECS-UCP</comments>
		</item>
		<item>
			<title>IPECS-UCP</title>
			<link>https://wiki.chnagil.net/index.php?title=IPECS-UCP&amp;diff=78&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=IPECS-UCP&amp;diff=78&amp;oldid=0</guid>
			<description>&lt;p&gt;새 문서: {{DISPLAYTITLE:iPECS UCP 주장치 개통 가이드}}  &amp;lt;div class=&amp;quot;wiki-notice&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;적용 대상&amp;#039;&amp;#039;&amp;#039; : iPECS UCP 계열 / Unified 주장치 프로그램 Issue 2.2 / SW 6.2.x 기준&amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039;문서 목적&amp;#039;&amp;#039;&amp;#039; : 신규 설치 또는 교체 현장에서 기본 시스템, 내선, 국선, DID, PRI·R2·SIP 및 LCR을 순서대로 개통하기 위한 실무 절차&amp;lt;br&amp;gt; &amp;#039;&amp;#039;&amp;#039;주의&amp;#039;&amp;#039;&amp;#039; : 모델, 라이선스, 소프트웨어 버전 및 통신사업자 제공 조건에 따라 화면과 선택...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:iPECS UCP 주장치 개통 가이드}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;wiki-notice&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;적용 대상&amp;#039;&amp;#039;&amp;#039; : iPECS UCP 계열 / Unified 주장치 프로그램 Issue 2.2 / SW 6.2.x 기준&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;문서 목적&amp;#039;&amp;#039;&amp;#039; : 신규 설치 또는 교체 현장에서 기본 시스템, 내선, 국선, DID, PRI·R2·SIP 및 LCR을 순서대로 개통하기 위한 실무 절차&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;주의&amp;#039;&amp;#039;&amp;#039; : 모델, 라이선스, 소프트웨어 버전 및 통신사업자 제공 조건에 따라 화면과 선택 항목이 달라질 수 있다. 특히 E1 PRI와 R2 MFC의 시그널링 값은 반드시 회선 개통내역서와 대조한다.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 1. 작업 전 준비 =&lt;br /&gt;
&lt;br /&gt;
== 1.1 준비 자료 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 구분 !! 준비할 정보 !! 확인처&lt;br /&gt;
|-&lt;br /&gt;
| 시스템 || UCP 모델, SW 버전, 라이선스 파일, 주장치 IP, 게이트웨이, 서브넷 || 장비 및 구축 설계서&lt;br /&gt;
|-&lt;br /&gt;
| 내선 || 내선번호, 사용자명, 단말 종류, MAC 주소, 서비스 등급 || 내선번호 계획표&lt;br /&gt;
|-&lt;br /&gt;
| 국선 || 국선 종류, 채널 수, 국선 그룹, 발신 허용 내선 || 통신 구성표&lt;br /&gt;
|-&lt;br /&gt;
| E1 PRI || 회선 역할, 프레이밍, 라인코드, CRC, Clock, D채널, DID 자릿수, 발신번호 정책 || 통신사업자 개통내역서&lt;br /&gt;
|-&lt;br /&gt;
| R2 MFC || E1 회선 조건, 수신 DID 자릿수, CLI 요청 자릿수, DNIS/ANI, Category || 통신사업자 개통내역서&lt;br /&gt;
|-&lt;br /&gt;
| SIP || Proxy/Registrar, 도메인, 포트, 전송방식, 계정, 비밀번호, DID, 코덱 || SIP 사업자 개통내역서&lt;br /&gt;
|-&lt;br /&gt;
| 라우팅 || 대표번호, DID-내선 매핑, 주/야간 착신처, LCR 비교·변환 규칙 || 번호 라우팅 설계서&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1.2 위험 작업 및 백업 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #c62828; background:#ffebee; padding:12px; margin:12px 0;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;경고:&amp;#039;&amp;#039;&amp;#039; 초기화, 장치 포트 수 변경, 데이터베이스 업로드, 펌웨어 적용 및 시스템 리셋은 통화 중단을 발생시킬 수 있다. 서비스 시간 외 작업하고 현재 데이터베이스를 먼저 내려받는다.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# 웹 관리자에서 &amp;#039;&amp;#039;&amp;#039;유지보수 → 데이터베이스 관리&amp;#039;&amp;#039;&amp;#039;로 이동한다.&lt;br /&gt;
# 전체 데이터베이스를 선택하여 PC에 다운로드한다.&lt;br /&gt;
# 파일명에 사이트명, 장비명, SW 버전, 백업 일자를 포함한다.&lt;br /&gt;
# 복구에 사용할 관리자 계정과 암호를 별도 보관한다.&lt;br /&gt;
# 변경 전후 백업을 각각 보관한다.&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_366_database_management.png|1200px|center|thumb|데이터베이스 관리 화면]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;권장 파일명 예시&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line&amp;gt;&lt;br /&gt;
# 변경 전 데이터베이스 백업 파일&lt;br /&gt;
SITE_UCP2400_SW6.2_before_20260713.db&lt;br /&gt;
&lt;br /&gt;
# 개통 완료 후 데이터베이스 백업 파일&lt;br /&gt;
SITE_UCP2400_SW6.2_after_20260713.db&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. 권장 개통 순서 =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 순서 !! 작업 !! 관련 프로그램 !! 완료 기준&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 백업, 버전·라이선스 확인 || 유지보수, 시스템 개요 || 복구 파일과 라이선스 확보&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 시스템 ID, 번호체계, 시간 설정 || PGM 100, 106~109, 178, 195 || 국가 코드와 다이얼 플랜 확정&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 시스템·장치 IP 및 장치 등록 || PGM 101~103 || 보드와 단말 등록 정상&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 내선 번호·종류·권한 설정 || PGM 105, 110~117 || 내선 상호통화 정상&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 국선 보드와 국선 그룹 설정 || PGM 131~145 || 채널 상태 정상, 국선 그룹 점유 가능&lt;br /&gt;
|-&lt;br /&gt;
| 6 || PRI/R2/SIP 세부 설정 || PGM 131, 133, 143, 151, 153, 200~202, 210 || 신호·등록 상태 정상&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 대표번호·DID 착신 설정 || PGM 144, 145, 167, 202, 231 || 번호별 지정 목적지 착신&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 내선 그룹·교환수 설정 || PGM 164, 190, 191 || 대표·그룹 호출 정상&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 발신권한·LCR 설정 || PGM 116, 117, 220~224 || 내선 등급별 발신 정상&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 주·야간, 장애·복구 시험 || 관련 PGM 및 상태 화면 || 시험표 전 항목 통과&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 3. 접속과 설치 마법사 =&lt;br /&gt;
&lt;br /&gt;
== 3.1 웹 관리자 접속 ==&lt;br /&gt;
&lt;br /&gt;
# 작업 PC를 주장치 관리망에 연결한다.&lt;br /&gt;
# UCP 관리 IP로 웹 브라우저를 접속한다.&lt;br /&gt;
# 유지보수 권한 계정으로 로그인한다.&lt;br /&gt;
# 최초 접속이면 기본 계정 사용 후 즉시 별도 유지보수 계정과 강력한 암호를 등록한다.&lt;br /&gt;
# 접속 후 시스템 모델, SW 버전, 라이선스 상태를 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:2px solid #c62828; background:#ffebee; padding:12px; margin:12px 0;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;경고:&amp;#039;&amp;#039;&amp;#039; 매뉴얼에 기재된 초기 계정과 암호를 운영 상태로 방치하지 않는다. 관리 페이지는 관리 VLAN 또는 허용된 관리 IP에서만 접근하도록 제한한다.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.2 설치 마법사 ==&lt;br /&gt;
&lt;br /&gt;
설치 마법사는 초기 구축 시 기본 항목을 순차 설정할 수 있다. 기존 운영 장비에서는 현재 데이터를 덮어쓸 수 있으므로 개별 PGM 방식이 안전하다.&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_020_install_wizard.png|1200px|center|thumb|설치 마법사 화면]]&lt;br /&gt;
&lt;br /&gt;
매뉴얼 기준 설치 마법사의 주요 단계는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
# 라이선스와 시스템 기본정보 확인&lt;br /&gt;
# 시스템 시간과 날짜 설정&lt;br /&gt;
# 내선번호 설정&lt;br /&gt;
# 국선 그룹 점유 코드, 교환수 호출 및 대리응답 코드 확인&lt;br /&gt;
# 유지보수 계정 등록&lt;br /&gt;
# 라이선스 파일 업로드&lt;br /&gt;
&lt;br /&gt;
= 4. 시스템 기본 설정 =&lt;br /&gt;
&lt;br /&gt;
== 4.1 시스템 ID와 국가 코드 - PGM 100 ==&lt;br /&gt;
&lt;br /&gt;
메뉴 경로는 &amp;#039;&amp;#039;&amp;#039;시스템 ID &amp;amp; 번호 체계 → 시스템 ID(100)&amp;#039;&amp;#039;&amp;#039;이다.&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_038_pgm100_system_id.png|1200px|center|thumb|PGM 100 시스템 ID]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 권장 작업 !! 확인 사항&lt;br /&gt;
|-&lt;br /&gt;
| 국가 코드 || 대한민국 적용 여부 확인 || 국가 코드 변경 시 번호체계와 기본값이 함께 바뀔 수 있음&lt;br /&gt;
|-&lt;br /&gt;
| 사이트 이름 || 현장 또는 고객사 식별명 입력 || 장애 알람과 관리 화면에서 구분 가능한 이름 사용&lt;br /&gt;
|-&lt;br /&gt;
| 지역 코드 || 실제 지역번호에 맞게 입력 || 발신번호 가공 정책과 함께 확인&lt;br /&gt;
|-&lt;br /&gt;
| 번호체계 || 국내 기본 번호체계를 기준으로 설계값 확인 || 기존 번호와 기능 코드 충돌 금지&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
UCP에서 번호체계를 변경할 때는 국가 코드 변경용 DIP 스위치 상태를 매뉴얼과 장비 상태에 맞춰 확인한다. 변경 후에는 내선번호, 국선 점유코드 및 기능코드가 의도대로 유지됐는지 반드시 다시 조회한다.&lt;br /&gt;
&lt;br /&gt;
== 4.2 장치 포트 수 - PGM 101 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_043_pgm101_device_ports.png|1200px|center|thumb|PGM 101 장치 포트 수 변경]]&lt;br /&gt;
&lt;br /&gt;
# 시스템 개요에서 라이선스별 최대 포트 수를 확인한다.&lt;br /&gt;
# PGM 101에서 필요한 장치 종류와 새 포트 수를 입력한다.&lt;br /&gt;
# 등록 또는 저장 후 시스템 재시작 필요 여부를 확인한다.&lt;br /&gt;
# 재시작 후 현재 포트 수와 등록 장치 수가 일치하는지 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:1px solid #ef6c00; background:#fff3e0; padding:12px; margin:12px 0;&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;주의:&amp;#039;&amp;#039;&amp;#039; 장치 포트 수 변경은 시스템 재시작 후 적용되는 항목이 포함된다. 서비스 중 임의 변경하지 않는다.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 4.3 시스템 IP 주소 - PGM 102 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_045_pgm102_system_ip.png|1200px|center|thumb|PGM 102 시스템 IP 주소]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 설정 예시 !! 확인 포인트&lt;br /&gt;
|-&lt;br /&gt;
| 시스템 IP || 192.168.10.10 || 다른 장비와 중복되지 않는 고정 IP&lt;br /&gt;
|-&lt;br /&gt;
| 서브넷 마스크 || 255.255.255.0 || 음성·관리망 설계와 일치&lt;br /&gt;
|-&lt;br /&gt;
| 기본 라우터 || 192.168.10.1 || 원격 단말 또는 SIP 사업자망 경로 확인&lt;br /&gt;
|-&lt;br /&gt;
| 부 시스템 IP || 필요 시에만 사용 || 이중망 설계가 없으면 임의 입력 금지&lt;br /&gt;
|-&lt;br /&gt;
| 자동 IP 할당 || 현장 설계에 따라 결정 || DHCP 또는 장치 자동할당 범위 중복 확인&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
IP 변경 전 현재 접속 IP, 변경 IP, 작업 PC의 임시 IP를 기록한다. 저장 후 관리 세션이 끊어지면 작업 PC 주소를 새 관리망으로 변경하여 재접속한다.&lt;br /&gt;
&lt;br /&gt;
== 4.4 장치 IP와 등록 - PGM 103 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_047_pgm103_device_ip.png|1200px|center|thumb|PGM 103 장치 IP 주소와 등록 상태]]&lt;br /&gt;
&lt;br /&gt;
PGM 103에서는 보드·게이트웨이·IP 단말의 순번, IP, MAC 및 등록 상태를 확인한다.&lt;br /&gt;
&lt;br /&gt;
* 로컬 장치는 동일 LAN의 멀티캐스트 등록이 가능한지 확인한다.&lt;br /&gt;
* 원격 장치는 MAC 주소를 미리 등록하고 라우팅·NAT·방화벽 조건을 확인한다.&lt;br /&gt;
* 장치 교체 시 기존 순번과 내선 매핑을 유지해야 하는지 먼저 결정한다.&lt;br /&gt;
* 등록 실패 시 시스템 IP, 장치의 시스템 주소, VLAN, 게이트웨이, MAC 오입력을 우선 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 4.5 내선번호 - PGM 105 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_049_pgm105_extension_number.png|1200px|center|thumb|PGM 105 내선번호]]&lt;br /&gt;
&lt;br /&gt;
UCP는 등록 시 기본적으로 4자리 내선번호를 할당한다. PGM 105에서 실제 번호계획에 맞게 변경한다.&lt;br /&gt;
&lt;br /&gt;
# 번호 변경 전 단말 순번과 기존 내선번호를 내보내거나 기록한다.&lt;br /&gt;
# 변경 대상 범위를 조회한다.&lt;br /&gt;
# 새 내선번호를 입력하고 저장한다.&lt;br /&gt;
# 내선 상호 호출, 발신자 표시, DSS/BLF 키 및 그룹 구성원이 새 번호로 연동되는지 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 4.6 번호체계 - PGM 106~109 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_050_pgm106_numbering_plan.png|1200px|center|thumb|PGM 106~109 번호체계]]&lt;br /&gt;
&lt;br /&gt;
필수 확인 코드는 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 기능 !! 매뉴얼 기본 예 !! 현장 확인&lt;br /&gt;
|-&lt;br /&gt;
| 첫 번째 국선 그룹 점유 || 9 || 내선번호 또는 지역번호와 충돌 여부&lt;br /&gt;
|-&lt;br /&gt;
| 국선 그룹 사용 || 89 || 뒤에 입력할 국선 그룹 번호 체계 확인&lt;br /&gt;
|-&lt;br /&gt;
| 교환수 호출 || 시스템 설정값 확인 || 대표 교환수 내선과 연동&lt;br /&gt;
|-&lt;br /&gt;
| 대리응답 || 시스템 설정값 확인 || 대리응답 그룹 시험&lt;br /&gt;
|-&lt;br /&gt;
| 비상전화 || 별도 비상전화 테이블과 연동 || 112·119 등은 발신제한 예외 처리&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 5. 내선 설정 =&lt;br /&gt;
&lt;br /&gt;
== 5.1 내선 종류 - PGM 110 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_055_pgm110_station_type.png|1200px|center|thumb|PGM 110 내선 종류]]&lt;br /&gt;
&lt;br /&gt;
단말 종류가 실제 연결 방식과 일치하는지 확인한다. 일반전화기, 디지털 키폰, IP 단말 및 SIP 단말은 등록과 기능 제공 방식이 다르다. FAX나 모뎀을 연결하는 SLT는 음성용 내선과 동일하게 일괄 설정하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 5.2 내선 서비스 등급 - PGM 116 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_074_pgm116_cos.png|1200px|center|thumb|PGM 116 내선 서비스 등급]]&lt;br /&gt;
&lt;br /&gt;
내선별 주간·야간 서비스 등급을 지정한다. 서비스 등급 번호 자체만 지정해서는 발신 제한이 완성되지 않으며 PGM 224의 허용·거부 테이블과 함께 설계해야 한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;권장 등급 예시&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 등급 !! 대상 !! 허용 범위&lt;br /&gt;
|-&lt;br /&gt;
| COS 1 || 교환수·관리자 || 국내·국제·휴대전화, 업무상 필요한 전체 발신&lt;br /&gt;
|-&lt;br /&gt;
| COS 2 || 일반 사무실 || 시내·시외·휴대전화, 국제전화 제한&lt;br /&gt;
|-&lt;br /&gt;
| COS 3 || 공용·회의실 || 시내 또는 지정번호만 허용&lt;br /&gt;
|-&lt;br /&gt;
| COS 4 || FAX·설비 || 지정된 번호 유형만 허용&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 5.3 국선/IP 그룹 지정 - PGM 117 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_076_pgm117_co_group_access.png|1200px|center|thumb|PGM 117 국선/IP 그룹 지정]]&lt;br /&gt;
&lt;br /&gt;
이 화면에서 각 내선이 사용할 수 있는 국선 그룹을 지정한다.&lt;br /&gt;
&lt;br /&gt;
# 일반 사용자, 교환수, FAX 및 임원 등 역할별 허용 국선 그룹을 먼저 정한다.&lt;br /&gt;
# 내선 범위를 조회한다.&lt;br /&gt;
# 사용할 국선 그룹만 허용한다.&lt;br /&gt;
# 주간·야간 정책이 다르면 양쪽을 각각 확인한다.&lt;br /&gt;
# 허용 내선과 차단 내선에서 실제 국선 점유 시험을 한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;자주 발생하는 증상&amp;#039;&amp;#039;&amp;#039; : 국선은 정상인데 특정 내선만 발신되지 않으면 PGM 117 그룹 접근권한과 PGM 116/224 발신등급을 먼저 확인한다.&lt;br /&gt;
&lt;br /&gt;
= 6. 국선 보드와 공통 설정 =&lt;br /&gt;
&lt;br /&gt;
== 6.1 T1/E1/PRI 보드 - PGM 131 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_102_pgm131_e1_pri.png|1200px|center|thumb|PGM 131 T1/E1/PRI 특성]]&lt;br /&gt;
&lt;br /&gt;
PGM 131은 E1/PRI 물리·링크 조건을 설정하는 핵심 화면이다. 적용값은 회선 개통내역서를 기준으로 한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 일반적인 국내 E1 PRI 검토값 !! 주의&lt;br /&gt;
|-&lt;br /&gt;
| 인터페이스 || E1/PRI || T1과 혼동 금지&lt;br /&gt;
|-&lt;br /&gt;
| 프레이밍 || 회선사 제공값 || CRC4 사용 여부 포함&lt;br /&gt;
|-&lt;br /&gt;
| 라인 코드 || HDB3 여부 확인 || 회선사와 불일치 시 동기 불가&lt;br /&gt;
|-&lt;br /&gt;
| Clock || 통신망 수신 Clock 기준 여부 확인 || 양단이 모두 Master 또는 모두 Slave가 되지 않게 구성&lt;br /&gt;
|-&lt;br /&gt;
| 시그널링 || PRI 또는 R2 || 보드와 라이선스 지원 여부 확인&lt;br /&gt;
|-&lt;br /&gt;
| D채널 || 사업자 지정 채널 || 일반적인 관행만으로 단정하지 말 것&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 6.2 보드 기본 특성 - PGM 132 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_103_pgm132_board.png|1200px|center|thumb|PGM 132 보드 기본 특성]]&lt;br /&gt;
&lt;br /&gt;
보드 순번, 장치 IP, 게이트웨이 연결상태, Web/Telnet 허용 여부 등 보드 전체에 적용되는 값을 확인한다. 관리 목적이 아니라면 불필요한 원격 관리 접근은 허용하지 않는다.&lt;br /&gt;
&lt;br /&gt;
== 6.3 국선 개요와 국선 공통 특성 - PGM 140 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_106_co_overview.png|1200px|center|thumb|국선 개요]]&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_107_pgm140_co_common.png|1200px|center|thumb|PGM 140 국선 공통 특성]]&lt;br /&gt;
&lt;br /&gt;
국선 개요에서 보드 유형, 국선 유형, 포트 및 국선 그룹을 확인한 뒤 PGM 140에서 다음을 지정한다.&lt;br /&gt;
&lt;br /&gt;
* 국선 사용 여부&lt;br /&gt;
* 국선 종류: Normal, DID, TIE 또는 사용 안 함&lt;br /&gt;
* 국선 그룹 번호&lt;br /&gt;
* 점유 방향과 순서&lt;br /&gt;
* ICLID/CID 처리&lt;br /&gt;
* LCR 적용용 LDT 테이블&lt;br /&gt;
&lt;br /&gt;
채널별 설정이 다르면 동일 회선의 일부 채널만 발신 또는 착신 실패할 수 있으므로 범위 조회 후 전 채널 값을 비교한다.&lt;br /&gt;
&lt;br /&gt;
= 7. E1 PRI 개통 =&lt;br /&gt;
&lt;br /&gt;
== 7.1 PRI 설정 순서 ==&lt;br /&gt;
&lt;br /&gt;
# PGM 101에서 필요한 E1/PRI 포트와 라이선스를 확인한다.&lt;br /&gt;
# PGM 103에서 보드 등록과 상태를 확인한다.&lt;br /&gt;
# PGM 131에서 E1 물리계층, Clock 및 PRI 시그널링을 설정한다.&lt;br /&gt;
# PGM 140에서 채널 사용 여부와 국선 그룹을 지정한다.&lt;br /&gt;
# PGM 143에서 ISDN 특성을 설정한다.&lt;br /&gt;
# PGM 151과 PGM 200~202에서 CLIP/COLP, 발신번호 및 DID 라우팅을 설정한다.&lt;br /&gt;
# 국선 상태 화면에서 Layer 1, Layer 2, D채널 상태를 확인한다.&lt;br /&gt;
# 착신, 발신, CID, 통화 종료 및 다채널 동시통화를 시험한다.&lt;br /&gt;
&lt;br /&gt;
== 7.2 국선 ISDN 특성 - PGM 143 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_115_pgm143_isdn.png|1200px|center|thumb|PGM 143 국선 ISDN 특성]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 설정 기준 !! 검증&lt;br /&gt;
|-&lt;br /&gt;
| TEI || 회선 구성에 따른 자동 또는 지정값 || Layer 2 정상 여부&lt;br /&gt;
|-&lt;br /&gt;
| ISDN 종류 || 국내 회선 코덱·망 조건에 맞춤 || 음성 왜곡 여부&lt;br /&gt;
|-&lt;br /&gt;
| CLIP/CLIR || 발신번호 표시 정책 || 외부 휴대전화에서 표시 확인&lt;br /&gt;
|-&lt;br /&gt;
| COLP/COLR || 연결번호 표시 정책 || 전환·대표번호 환경에서 확인&lt;br /&gt;
|-&lt;br /&gt;
| ISDN Clock Sync || PGM 195 시간원과 연계할 때만 사용 || 시스템 시간 동기 확인&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 7.3 CID/CPN - PGM 151 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_125_pgm151_cid_cpn.png|1200px|center|thumb|PGM 151 CID/CPN 특성]]&lt;br /&gt;
&lt;br /&gt;
PGM 151은 국선별 CLIP/COLP 테이블, 발신번호 타입, 내선 CLI 및 DID 번호 삭제 등을 결정한다. 발신번호가 대표번호인지 내선별 DOD인지 통신사업자 정책을 먼저 확인한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;발신번호 문제 확인 순서&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# PGM 151에서 해당 국선의 CLIP 테이블과 내선 CLI 타입을 확인한다.&lt;br /&gt;
# PGM 201의 변환 규칙을 확인한다.&lt;br /&gt;
# 내선에서 설정된 CLI 번호와 국선 착신번호 전달 옵션을 확인한다.&lt;br /&gt;
# 통신사업자가 허용한 발신번호 형식과 자릿수를 확인한다.&lt;br /&gt;
# SETUP 메시지 추적이 가능하면 Calling Party Number와 Numbering Plan/Type을 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 7.4 ISDN 공통과 CLIP/COLP - PGM 200, 201 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_230_pgm200_isdn_common.png|1200px|center|thumb|PGM 200 ISDN 특성]]&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_231_pgm201_clip_colp.png|1200px|center|thumb|PGM 201 CLIP/COLP 테이블]]&lt;br /&gt;
&lt;br /&gt;
PGM 201은 ISDN SETUP 또는 CONNECT 메시지에 보낼 CLIP/COLP 디지트를 정의한다. 앞자리 삭제와 추가 규칙이 중복되면 잘못된 번호가 전송되므로 원본번호 → 삭제 → 추가 → 최종번호를 표로 작성하고 적용한다.&lt;br /&gt;
&lt;br /&gt;
== 7.5 PRI DID와 MSN - PGM 202 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_232_pgm202_msn.png|1200px|center|thumb|PGM 202 MSN 테이블]]&lt;br /&gt;
&lt;br /&gt;
PGM 202에서 통신망으로부터 수신되는 Called Number를 내선, 내선 그룹, 교환수 등 실제 목적지에 매핑한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 수신번호 예시 !! 목적지 예시 !! 용도&lt;br /&gt;
|-&lt;br /&gt;
| 1000 || 내선 1000 || 직통 DID&lt;br /&gt;
|-&lt;br /&gt;
| 2000 || 내선그룹 6200 || 대표번호 그룹 착신&lt;br /&gt;
|-&lt;br /&gt;
| 9999 || 교환수 1000 || 미지정 번호 처리&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
수신번호가 전체 번호인지 끝자리만 전달되는지는 통신사업자별로 다르다. 실제 수신 디지트를 확인한 후 정확히 일치시키거나 PGM 231에서 변환한다.&lt;br /&gt;
&lt;br /&gt;
= 8. R2 MFC 개통 =&lt;br /&gt;
&lt;br /&gt;
== 8.1 DCOB 국선 특성 - PGM 153 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_130_pgm153_r2.png|1200px|center|thumb|PGM 153 DCOB/R2 국선 특성]]&lt;br /&gt;
&lt;br /&gt;
R2 MFC는 PGM 131의 E1 물리계층과 PGM 153의 R2 신호 조건을 함께 설정한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 의미 !! 설정 기준&lt;br /&gt;
|-&lt;br /&gt;
| DNIS 서비스 || R2에서 착신번호 정보를 처리 || 회선사 제공 여부&lt;br /&gt;
|-&lt;br /&gt;
| CLI 번호 개수 || 망에 요청할 발신자번호 자릿수 || 회선사 제공 자릿수&lt;br /&gt;
|-&lt;br /&gt;
| DCOB 종류 || DID, DOD 또는 DID/DOD || 회선 용도&lt;br /&gt;
|-&lt;br /&gt;
| Call Category || R2 Category 신호 || 회선사 지정값&lt;br /&gt;
|-&lt;br /&gt;
| 최대 DID 수신 자릿수 || E1/R2에서 받을 최대 DID 자릿수 || 실제 제공 자릿수&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
PGM 153의 최대 DID 수신 자릿수가 0이면 별도의 DID 수신 자릿수 설정을 따를 수 있다. 두 위치의 설정이 충돌하지 않는지 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 8.2 R2 장애 확인 순서 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 증상 !! 의심 구간 !! 확인 !! 조치&lt;br /&gt;
|-&lt;br /&gt;
| E1 동기 불가 || 물리계층·Clock || LOS/AIS, 프레이밍, HDB3, CRC || PGM 131과 회선사 값 일치&lt;br /&gt;
|-&lt;br /&gt;
| 발신 점유 후 실패 || R2 방향·Category || DOD 허용, Category, 채널 상태 || PGM 140/153 수정&lt;br /&gt;
|-&lt;br /&gt;
| 착신은 되나 목적지 오류 || DID 자릿수·변환 || 실제 수신 디지트와 설정 자릿수 || PGM 153/145/231 수정&lt;br /&gt;
|-&lt;br /&gt;
| 발신번호 미표시 || CLI 요청·전송 || CLI 요청 자릿수, 사업자 제공 여부 || PGM 153과 사업자 조건 확인&lt;br /&gt;
|-&lt;br /&gt;
| 일부 채널만 실패 || 채널별 속성 || 국선 그룹·사용 여부·채널 알람 || 동일 회선 채널 설정 비교&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 9. SIP 트렁크 개통 =&lt;br /&gt;
&lt;br /&gt;
== 9.1 SIP 공통 특성 - PGM 210 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_240_pgm210_sip_common.png|1200px|center|thumb|PGM 210 SIP 공통 특성]]&lt;br /&gt;
&lt;br /&gt;
SIP 공통 특성에서 전송방식, SIP 타이머, NAT/원격등록, 보안 관련 공통값을 확인한다. 인터넷에 직접 노출되는 구성에서는 원격등록 허용, 실패 임계치 및 차단 정책을 반드시 설정한다.&lt;br /&gt;
&lt;br /&gt;
== 9.2 SIP 국선 특성 - PGM 133 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_246_pgm133_sip_trunk.png|1200px|center|thumb|PGM 133 SIP 국선 특성]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 항목 !! 입력값 예시 !! 비고&lt;br /&gt;
|-&lt;br /&gt;
| Proxy 서버 주소 || 사업자 제공 IP/FQDN || DNS 사용 시 시스템 DNS 확인&lt;br /&gt;
|-&lt;br /&gt;
| Outbound Proxy || 사업자 제공 시 ON || 제공하지 않으면 임의 활성화 금지&lt;br /&gt;
|-&lt;br /&gt;
| 도메인 || sip.example.co.kr || From/To/Request-URI 정책과 연계&lt;br /&gt;
|-&lt;br /&gt;
| UDP/TCP/TLS 포트 || 5060 또는 5061 등 제공값 || 방화벽 정책과 일치&lt;br /&gt;
|-&lt;br /&gt;
| 등록시간 || 사업자 제공값 또는 허용 범위 || 너무 길면 장애 감지가 늦어짐&lt;br /&gt;
|-&lt;br /&gt;
| 등록 사용자 테이블 || SIP 사용자 ID 인덱스 || 계정 기반 트렁크에서 사용&lt;br /&gt;
|-&lt;br /&gt;
| 코덱 || G.711u/a 등 협의값 || 착신전환 시 양단 코덱 협상 확인&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;검증 항목&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# SIP Trunk 상태에서 Registered 또는 사업자 요구 상태를 확인한다.&lt;br /&gt;
# OPTIONS, REGISTER 또는 INVITE가 지정 인터페이스로 송수신되는지 확인한다.&lt;br /&gt;
# 발신 INVITE의 From, P-Asserted-Identity, Contact, Request-URI를 확인한다.&lt;br /&gt;
# 착신 INVITE의 Called Number가 DID 테이블과 일치하는지 확인한다.&lt;br /&gt;
# 양방향 RTP, DTMF 방식, 착신전환, 통화 종료(BYE)를 시험한다.&lt;br /&gt;
&lt;br /&gt;
= 10. DID와 착신 라우팅 =&lt;br /&gt;
&lt;br /&gt;
== 10.1 국선/IP 착신 링 - PGM 144 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_117_pgm144_incoming_ring.png|1200px|center|thumb|PGM 144 국선/IP 착신 링 지정]]&lt;br /&gt;
&lt;br /&gt;
일반 국선 또는 DID 분석을 사용하지 않는 인입호의 주간·야간·시간대별 착신 목적지를 지정한다. 대표 착신은 내선 하나보다 내선 그룹을 사용하는 것이 운영과 장애 대응에 유리하다.&lt;br /&gt;
&lt;br /&gt;
== 10.2 다목적 DID 테이블 - PGM 231 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_287_pgm231_did.png|1200px|center|thumb|PGM 231 다목적 DID 테이블]]&lt;br /&gt;
&lt;br /&gt;
PGM 231은 수신 DID를 비교·변환하여 목적지로 라우팅할 때 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;작성 예시&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 인덱스 !! 수신 DID !! 변환/목적지 !! 주간 !! 야간&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0212341000 || 대표 그룹 || 그룹 6200 || 당직 1001&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 02123410XX || 끝 4자리 사용 || 해당 내선 || 해당 내선&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 미매칭 || 기본 목적지 || 교환수 1000 || 안내방송/당직&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 10.3 DID 수신 자릿수 적용 원칙 ==&lt;br /&gt;
&lt;br /&gt;
* PRI: 실제 Q.931 Called Party Number에 포함되는 숫자를 기준으로 PGM 151, 202, 231을 설계한다.&lt;br /&gt;
* R2: PGM 153의 최대 DID 수신 자릿수와 DID 서비스 특성의 기대 자릿수를 함께 확인한다.&lt;br /&gt;
* SIP: Request-URI 또는 To 헤더 중 시스템이 분석하도록 설정된 필드의 숫자를 기준으로 한다.&lt;br /&gt;
* 수신번호 앞자리 삭제는 한 위치에서만 수행하는 것을 원칙으로 한다.&lt;br /&gt;
* 전체 대표번호와 끝자리 DID가 혼재하면 번호별 변환 흐름표를 작성한다.&lt;br /&gt;
&lt;br /&gt;
= 11. 내선 그룹과 대표번호 =&lt;br /&gt;
&lt;br /&gt;
== 11.1 내선 그룹 지정 - PGM 190 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_207_pgm190_station_group.png|1200px|center|thumb|PGM 190 내선 그룹 지정]]&lt;br /&gt;
&lt;br /&gt;
# 그룹 종류와 가상번호를 정한다.&lt;br /&gt;
# 구성원 내선을 등록하고 순서를 확인한다.&lt;br /&gt;
# 교환수, 부서 대표, 음성사서함 등 용도별로 그룹을 분리한다.&lt;br /&gt;
# DID 또는 PGM 144의 착신 목적지를 그룹 가상번호로 지정한다.&lt;br /&gt;
&lt;br /&gt;
== 11.2 내선 그룹 특성 - PGM 191 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_208_pgm191_station_group_attr.png|1200px|center|thumb|PGM 191 내선 그룹 특성]]&lt;br /&gt;
&lt;br /&gt;
그룹 링 방식, 대기, 재호출, 무응답 목적지, 그룹통화 대기 및 보류음을 설정한다. 모든 구성원 동시링은 단말 수와 트래픽을 고려한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;시험&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* 구성원 유휴·통화중·로그아웃 상태별 인입&lt;br /&gt;
* 무응답 타임아웃 후 다음 구성원 또는 대체 목적지&lt;br /&gt;
* 주·야간 목적지 전환&lt;br /&gt;
* 그룹 대기 중 보류음과 통화 포기 처리&lt;br /&gt;
&lt;br /&gt;
= 12. LCR과 발신 제한 =&lt;br /&gt;
&lt;br /&gt;
== 12.1 LCR 제어 - PGM 220 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_274_pgm220_lcr_control.png|1200px|center|thumb|PGM 220 LCR 제어 특성]]&lt;br /&gt;
&lt;br /&gt;
LCR은 PGM 220의 사용 모드, PGM 221의 비교 코드, PGM 222의 숫자 변경 및 PGM 224의 발신 제한이 함께 동작한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;초기 적용 권장&amp;#039;&amp;#039;&amp;#039; : 일반적인 국선 점유코드 뒤의 번호만 LCR로 처리하려면 Loop LCR부터 검토한다. 내부 다이얼까지 분석하는 모드는 내선번호와 외부번호 충돌 가능성이 있으므로 충분한 시험 후 적용한다.&lt;br /&gt;
&lt;br /&gt;
== 12.2 LCR 비교 코드 - PGM 221 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_276_pgm221_lcr_compare.png|1200px|center|thumb|PGM 221 LCR 비교 코드]]&lt;br /&gt;
&lt;br /&gt;
비교 코드는 사용자가 다이얼한 번호의 Prefix를 분석하여 적용할 숫자 변경 테이블 인덱스를 선택한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 비교 코드 예시 !! 분류 !! 연결할 변경 테이블&lt;br /&gt;
|-&lt;br /&gt;
| 00 || 국제전화 || 국제전화용 DMT&lt;br /&gt;
|-&lt;br /&gt;
| 010 || 이동전화 || 이동전화용 DMT&lt;br /&gt;
|-&lt;br /&gt;
| 0X || 시외전화 || 시외전화용 DMT&lt;br /&gt;
|-&lt;br /&gt;
| 1XX || 특수·긴급전화 || 변경 없이 지정 국선 그룹&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 12.3 숫자 변경 - PGM 222 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_277_pgm222_lcr_digit.png|1200px|center|thumb|PGM 222 LCR 숫자 변경]]&lt;br /&gt;
&lt;br /&gt;
PGM 222에서 앞자리 삭제, 추가 숫자, 사용할 국선 그룹 및 대체 국선 그룹을 지정한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 원 다이얼 !! 삭제 !! 추가 !! 최종 발신 !! 국선 그룹&lt;br /&gt;
|-&lt;br /&gt;
| 9-010-1234-5678 || 국선 점유코드 처리 후 0자리 || 없음 || 01012345678 || SIP 10&lt;br /&gt;
|-&lt;br /&gt;
| 9-02-1234-5678 || 0자리 || 사업자 선택번호가 있으면 추가 || 설계값 || PRI 20&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 12.4 허용·거부 테이블 - PGM 224 ==&lt;br /&gt;
&lt;br /&gt;
[[File:ucp_280_pgm224_allow_deny.png|1200px|center|thumb|PGM 224 허용/거부 테이블]]&lt;br /&gt;
&lt;br /&gt;
발신 제한은 긴 번호부터 구체적으로 설계하고 비상전화는 별도 허용한다. 차단 규칙만 만들고 허용 예외를 누락하지 않도록 실제 다이얼 시험표를 사용한다.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 시험번호 유형 !! COS 1 !! COS 2 !! COS 3&lt;br /&gt;
|-&lt;br /&gt;
| 내선 || 허용 || 허용 || 허용&lt;br /&gt;
|-&lt;br /&gt;
| 112/119 || 허용 || 허용 || 허용&lt;br /&gt;
|-&lt;br /&gt;
| 시내 || 허용 || 허용 || 정책에 따름&lt;br /&gt;
|-&lt;br /&gt;
| 시외 || 허용 || 허용 || 차단&lt;br /&gt;
|-&lt;br /&gt;
| 이동전화 || 허용 || 허용 || 차단&lt;br /&gt;
|-&lt;br /&gt;
| 국제전화 || 허용 || 차단 || 차단&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 13. 최종 시험 =&lt;br /&gt;
&lt;br /&gt;
== 13.1 기본 시험표 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 번호 !! 시험 항목 !! 정상 기준 !! 결과&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 시스템 재접속 || 변경된 관리 IP로 접속 및 저장값 유지 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 장치 등록 || 모든 보드·단말 등록, 비정상 알람 없음 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 내선 상호통화 || 양방향 음성, 번호·이름 표시 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 대표번호 착신 || 주간 목적지와 그룹 링 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 5 || DID 착신 || 각 DID가 지정 내선으로 착신 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 일반 발신 || 국선 그룹 선택과 발신번호 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 발신 제한 || COS별 허용·차단 정책 일치 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 8 || PRI/R2 다채널 || 복수 동시통화 및 양방향 채널 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 9 || SIP 미디어 || 양방향 RTP, DTMF, 종료 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 착신전환 || 내부·외부 전환, CID와 코덱 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 주·야간 || 전환 후 목적지와 발신등급 정상 || □ 정상 / □ 불량&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 장애복구 || 재부팅 후 등록·회선·라우팅 자동복구 || □ 정상 / □ 불량&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 13.2 PRI 상태별 판단 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 상태 !! 판단 !! 다음 확인&lt;br /&gt;
|-&lt;br /&gt;
| Layer 1 DOWN || 물리회선, 프레이밍, 라인코드, Clock 문제 가능성 높음 || 케이블·LOS/AIS·PGM 131·회선사&lt;br /&gt;
|-&lt;br /&gt;
| Layer 1 UP / Layer 2 DOWN || D채널, TEI, 망 역할 또는 프로토콜 불일치 || PGM 131/143, D채널 패킷&lt;br /&gt;
|-&lt;br /&gt;
| Layer 2 UP / 호 설정 실패 || 번호형식, 국선 그룹, 발신권한, CPN 문제 || PGM 116/117/140/151/200&lt;br /&gt;
|-&lt;br /&gt;
| 착신만 실패 || DID 자릿수·MSN·DID 변환 문제 || PGM 145/151/202/231&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 13.3 변경 후 백업 ==&lt;br /&gt;
&lt;br /&gt;
# 개통 시험 완료 후 전체 데이터베이스를 다시 다운로드한다.&lt;br /&gt;
# 변경 전 백업과 구분되는 파일명으로 저장한다.&lt;br /&gt;
# 시스템 모델, SW 버전, 라이선스, IP, 회선정보 및 주요 PGM 값을 개통결과서에 기록한다.&lt;br /&gt;
# 백업 파일의 복구 절차와 관리자 계정을 운영 담당자에게 인계한다.&lt;br /&gt;
&lt;br /&gt;
= 14. 장애 분석 빠른 참조 =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 증상 !! 우선 확인 PGM !! 핵심 포인트&lt;br /&gt;
|-&lt;br /&gt;
| 특정 내선만 발신 불가 || 116, 117, 224 || COS, 국선 그룹 접근, 허용·거부&lt;br /&gt;
|-&lt;br /&gt;
| 전체 내선 발신 불가 || 131/133, 140, 220~222 || 회선 상태, 국선 사용, LCR 경로&lt;br /&gt;
|-&lt;br /&gt;
| DID가 대표로만 착신 || 145, 151, 202, 231 || 실제 수신번호와 변환 규칙&lt;br /&gt;
|-&lt;br /&gt;
| 발신번호가 잘못 표시 || 151, 200, 201 || CLIP 테이블, 삭제·추가, 번호 타입&lt;br /&gt;
|-&lt;br /&gt;
| PRI D채널 불안정 || 131, 143 || Clock, 프레이밍, TEI, 회선 알람&lt;br /&gt;
|-&lt;br /&gt;
| R2 착신 디지트 누락 || 145, 153, 231 || 기대 자릿수와 최대 수신 자릿수&lt;br /&gt;
|-&lt;br /&gt;
| SIP 등록 실패 || 102, 133, 210 || 라우팅, DNS, Proxy, 인증, 포트·전송방식&lt;br /&gt;
|-&lt;br /&gt;
| SIP 통화는 되나 무음 || 102, 133, 210 || RTP 경로, NAT, 코덱, 방화벽&lt;br /&gt;
|-&lt;br /&gt;
| 그룹 착신 누락 || 190, 191 || 구성원, 로그인, 링 방식, 타임아웃&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 15. 참고 및 적용 범위 =&lt;br /&gt;
&lt;br /&gt;
* 참고 문서: &amp;#039;&amp;#039;iPECS eMG80/100 &amp;amp; eMG800 &amp;amp; UCP 주장치 프로그램 설명서&amp;#039;&amp;#039;, Issue 2.2, 2025-04.&lt;br /&gt;
* 본 가이드는 매뉴얼의 메뉴와 PGM 설명을 현장 개통 순서로 재구성한 작업 문서이다.&lt;br /&gt;
* 화면 이미지는 해당 매뉴얼에서 개통에 필요한 프로그램 화면만 발췌하였다. 사내·유지보수 목적의 사용 범위를 확인하고 외부 공개 시 제조사 저작권 및 배포 조건을 검토한다.&lt;br /&gt;
* 실제 적용값은 장비 모델, SW, 라이선스, 보드 및 통신사업자 제공 조건을 우선한다.&lt;br /&gt;
&lt;br /&gt;
[[분류:iPECS]]&lt;br /&gt;
[[분류:UCP]]&lt;br /&gt;
[[분류:PBX]]&lt;br /&gt;
[[분류:개통 가이드]]&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:26:14 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%86%A0%EB%A1%A0:IPECS-UCP</comments>
		</item>
		<item>
			<title>파일:Ucp 047 pgm103 device ip.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_047_pgm103_device_ip.png&amp;diff=77&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_047_pgm103_device_ip.png&amp;diff=77&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_047_pgm103_device_ip.png&quot; title=&quot;파일:Ucp 047 pgm103 device ip.png&quot;&gt;파일:Ucp 047 pgm103 device ip.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:57 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_047_pgm103_device_ip.png</comments>
		</item>
		<item>
			<title>파일:Ucp 045 pgm102 system ip.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_045_pgm102_system_ip.png&amp;diff=76&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_045_pgm102_system_ip.png&amp;diff=76&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_045_pgm102_system_ip.png&quot; title=&quot;파일:Ucp 045 pgm102 system ip.png&quot;&gt;파일:Ucp 045 pgm102 system ip.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:39 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_045_pgm102_system_ip.png</comments>
		</item>
		<item>
			<title>파일:Ucp 043 pgm101 device ports.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_043_pgm101_device_ports.png&amp;diff=75&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_043_pgm101_device_ports.png&amp;diff=75&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_043_pgm101_device_ports.png&quot; title=&quot;파일:Ucp 043 pgm101 device ports.png&quot;&gt;파일:Ucp 043 pgm101 device ports.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:34 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_043_pgm101_device_ports.png</comments>
		</item>
		<item>
			<title>파일:Ucp 038 pgm100 system id.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_038_pgm100_system_id.png&amp;diff=74&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_038_pgm100_system_id.png&amp;diff=74&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_038_pgm100_system_id.png&quot; title=&quot;파일:Ucp 038 pgm100 system id.png&quot;&gt;파일:Ucp 038 pgm100 system id.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:24 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_038_pgm100_system_id.png</comments>
		</item>
		<item>
			<title>파일:Ucp 020 install wizard.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_020_install_wizard.png&amp;diff=73&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_020_install_wizard.png&amp;diff=73&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_020_install_wizard.png&quot; title=&quot;파일:Ucp 020 install wizard.png&quot;&gt;파일:Ucp 020 install wizard.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:19 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_020_install_wizard.png</comments>
		</item>
		<item>
			<title>파일:Ucp 103 pgm132 board.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_103_pgm132_board.png&amp;diff=72&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_103_pgm132_board.png&amp;diff=72&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_103_pgm132_board.png&quot; title=&quot;파일:Ucp 103 pgm132 board.png&quot;&gt;파일:Ucp 103 pgm132 board.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:13 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_103_pgm132_board.png</comments>
		</item>
		<item>
			<title>파일:Ucp 102 pgm131 e1 pri.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_102_pgm131_e1_pri.png&amp;diff=71&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_102_pgm131_e1_pri.png&amp;diff=71&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_102_pgm131_e1_pri.png&quot; title=&quot;파일:Ucp 102 pgm131 e1 pri.png&quot;&gt;파일:Ucp 102 pgm131 e1 pri.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:07 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_102_pgm131_e1_pri.png</comments>
		</item>
		<item>
			<title>파일:Ucp 076 pgm117 co group access.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_076_pgm117_co_group_access.png&amp;diff=70&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_076_pgm117_co_group_access.png&amp;diff=70&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_076_pgm117_co_group_access.png&quot; title=&quot;파일:Ucp 076 pgm117 co group access.png&quot;&gt;파일:Ucp 076 pgm117 co group access.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:24:00 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_076_pgm117_co_group_access.png</comments>
		</item>
		<item>
			<title>파일:Ucp 074 pgm116 cos.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_074_pgm116_cos.png&amp;diff=69&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_074_pgm116_cos.png&amp;diff=69&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_074_pgm116_cos.png&quot; title=&quot;파일:Ucp 074 pgm116 cos.png&quot;&gt;파일:Ucp 074 pgm116 cos.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:55 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_074_pgm116_cos.png</comments>
		</item>
		<item>
			<title>파일:Ucp 055 pgm110 station type.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_055_pgm110_station_type.png&amp;diff=68&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_055_pgm110_station_type.png&amp;diff=68&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_055_pgm110_station_type.png&quot; title=&quot;파일:Ucp 055 pgm110 station type.png&quot;&gt;파일:Ucp 055 pgm110 station type.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:47 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_055_pgm110_station_type.png</comments>
		</item>
		<item>
			<title>파일:Ucp 050 pgm106 numbering plan.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_050_pgm106_numbering_plan.png&amp;diff=67&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_050_pgm106_numbering_plan.png&amp;diff=67&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_050_pgm106_numbering_plan.png&quot; title=&quot;파일:Ucp 050 pgm106 numbering plan.png&quot;&gt;파일:Ucp 050 pgm106 numbering plan.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:42 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_050_pgm106_numbering_plan.png</comments>
		</item>
		<item>
			<title>파일:Ucp 049 pgm105 extension number.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_049_pgm105_extension_number.png&amp;diff=66&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_049_pgm105_extension_number.png&amp;diff=66&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_049_pgm105_extension_number.png&quot; title=&quot;파일:Ucp 049 pgm105 extension number.png&quot;&gt;파일:Ucp 049 pgm105 extension number.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:36 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_049_pgm105_extension_number.png</comments>
		</item>
		<item>
			<title>파일:Ucp 207 pgm190 station group.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_207_pgm190_station_group.png&amp;diff=65&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_207_pgm190_station_group.png&amp;diff=65&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_207_pgm190_station_group.png&quot; title=&quot;파일:Ucp 207 pgm190 station group.png&quot;&gt;파일:Ucp 207 pgm190 station group.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:27 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_207_pgm190_station_group.png</comments>
		</item>
		<item>
			<title>파일:Ucp 130 pgm153 r2.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_130_pgm153_r2.png&amp;diff=64&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_130_pgm153_r2.png&amp;diff=64&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_130_pgm153_r2.png&quot; title=&quot;파일:Ucp 130 pgm153 r2.png&quot;&gt;파일:Ucp 130 pgm153 r2.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:19 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_130_pgm153_r2.png</comments>
		</item>
		<item>
			<title>파일:Ucp 125 pgm151 cid cpn.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_125_pgm151_cid_cpn.png&amp;diff=63&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_125_pgm151_cid_cpn.png&amp;diff=63&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_125_pgm151_cid_cpn.png&quot; title=&quot;파일:Ucp 125 pgm151 cid cpn.png&quot;&gt;파일:Ucp 125 pgm151 cid cpn.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:11 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_125_pgm151_cid_cpn.png</comments>
		</item>
		<item>
			<title>파일:Ucp 117 pgm144 incoming ring.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_117_pgm144_incoming_ring.png&amp;diff=62&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_117_pgm144_incoming_ring.png&amp;diff=62&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_117_pgm144_incoming_ring.png&quot; title=&quot;파일:Ucp 117 pgm144 incoming ring.png&quot;&gt;파일:Ucp 117 pgm144 incoming ring.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:04 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_117_pgm144_incoming_ring.png</comments>
		</item>
		<item>
			<title>파일:Ucp 115 pgm143 isdn.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_115_pgm143_isdn.png&amp;diff=61&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_115_pgm143_isdn.png&amp;diff=61&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_115_pgm143_isdn.png&quot; title=&quot;파일:Ucp 115 pgm143 isdn.png&quot;&gt;파일:Ucp 115 pgm143 isdn.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:23:00 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_115_pgm143_isdn.png</comments>
		</item>
		<item>
			<title>파일:Ucp 107 pgm140 co common.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_107_pgm140_co_common.png&amp;diff=60&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_107_pgm140_co_common.png&amp;diff=60&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_107_pgm140_co_common.png&quot; title=&quot;파일:Ucp 107 pgm140 co common.png&quot;&gt;파일:Ucp 107 pgm140 co common.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:55 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_107_pgm140_co_common.png</comments>
		</item>
		<item>
			<title>파일:Ucp 106 co overview.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_106_co_overview.png&amp;diff=59&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_106_co_overview.png&amp;diff=59&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_106_co_overview.png&quot; title=&quot;파일:Ucp 106 co overview.png&quot;&gt;파일:Ucp 106 co overview.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:48 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_106_co_overview.png</comments>
		</item>
		<item>
			<title>파일:Ucp 246 pgm133 sip trunk.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_246_pgm133_sip_trunk.png&amp;diff=58&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_246_pgm133_sip_trunk.png&amp;diff=58&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_246_pgm133_sip_trunk.png&quot; title=&quot;파일:Ucp 246 pgm133 sip trunk.png&quot;&gt;파일:Ucp 246 pgm133 sip trunk.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:43 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_246_pgm133_sip_trunk.png</comments>
		</item>
		<item>
			<title>파일:Ucp 240 pgm210 sip common.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_240_pgm210_sip_common.png&amp;diff=57&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_240_pgm210_sip_common.png&amp;diff=57&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_240_pgm210_sip_common.png&quot; title=&quot;파일:Ucp 240 pgm210 sip common.png&quot;&gt;파일:Ucp 240 pgm210 sip common.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:37 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_240_pgm210_sip_common.png</comments>
		</item>
		<item>
			<title>파일:Ucp 232 pgm202 msn.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_232_pgm202_msn.png&amp;diff=56&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_232_pgm202_msn.png&amp;diff=56&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_232_pgm202_msn.png&quot; title=&quot;파일:Ucp 232 pgm202 msn.png&quot;&gt;파일:Ucp 232 pgm202 msn.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:32 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_232_pgm202_msn.png</comments>
		</item>
		<item>
			<title>파일:Ucp 231 pgm201 clip colp.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_231_pgm201_clip_colp.png&amp;diff=55&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_231_pgm201_clip_colp.png&amp;diff=55&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_231_pgm201_clip_colp.png&quot; title=&quot;파일:Ucp 231 pgm201 clip colp.png&quot;&gt;파일:Ucp 231 pgm201 clip colp.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:27 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_231_pgm201_clip_colp.png</comments>
		</item>
		<item>
			<title>파일:Ucp 230 pgm200 isdn common.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_230_pgm200_isdn_common.png&amp;diff=54&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_230_pgm200_isdn_common.png&amp;diff=54&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_230_pgm200_isdn_common.png&quot; title=&quot;파일:Ucp 230 pgm200 isdn common.png&quot;&gt;파일:Ucp 230 pgm200 isdn common.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:21 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_230_pgm200_isdn_common.png</comments>
		</item>
		<item>
			<title>파일:Ucp 208 pgm191 station group attr.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_208_pgm191_station_group_attr.png&amp;diff=53&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_208_pgm191_station_group_attr.png&amp;diff=53&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_208_pgm191_station_group_attr.png&quot; title=&quot;파일:Ucp 208 pgm191 station group attr.png&quot;&gt;파일:Ucp 208 pgm191 station group attr.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:22:05 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_208_pgm191_station_group_attr.png</comments>
		</item>
		<item>
			<title>파일:Ucp 366 database management.png</title>
			<link>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_366_database_management.png&amp;diff=52&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_366_database_management.png&amp;diff=52&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Chnagil&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;mw-userlink new&quot; title=&quot;사용자:Chnagil (없는 문서)&quot;&gt;&lt;bdi&gt;Chnagil&lt;/bdi&gt;&lt;/a&gt;님이 &lt;a href=&quot;/index.php?title=%ED%8C%8C%EC%9D%BC:Ucp_366_database_management.png&quot; title=&quot;파일:Ucp 366 database management.png&quot;&gt;파일:Ucp 366 database management.png&lt;/a&gt; 파일을 올렸습니다&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2026 13:21:58 GMT</pubDate>
			<dc:creator>Chnagil</dc:creator>
			<comments>https://wiki.chnagil.net/index.php?title=%ED%8C%8C%EC%9D%BC%ED%86%A0%EB%A1%A0:Ucp_366_database_management.png</comments>
		</item>
</channel></rss>