.\" Copyright 1998 Juniper Networks, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %FreeBSD: src/lib/libtacplus/libtacplus. 3, v 1.3. 2.6 2001/12/17 10:08:32 ru Exp % .\" .\" $FreeBSD: doc/ja_JP.eucJP/man/man3/libtacplus. 3, v 1.4 2002/05/18 07:12:55 horikawa Exp $ .Dd September 2, 1998 .Dt LIBTACPLUS 3 .Os .Sh ¸íĪ .Nm libtacplus .Nd TACACS+ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ¶óÀ̺귯¸® .Sh ¼­½Ä .In taclib.h .Ft int .Fn tac_add_server "struct tac_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int flags" .Ft void .Fn tac_close "struct tac_handle *h" .Ft int .Fn tac_config "struct tac_handle *h" "const char *path" .Ft int .Fn tac_create_authen "struct tac_handle *h" "int action" "int type" "int service" .Ft void * .Fn tac_get_data "struct tac_handle *h" "size_t *len" .Ft char * .Fn tac_get_msg "struct tac_handle *h" .Ft struct tac_handle * .Fn tac_open "void" .Ft int .Fn tac_send_authen "struct tac_handle *h" .Ft int .Fn tac_set_data "struct tac_handle *h" "const void *data" "size_t data_len" .Ft int .Fn tac_set_msg "struct tac_handle *h" "const char *msg" .Ft int .Fn tac_set_port "struct tac_handle *h" "const char *port" .Ft int .Fn tac_set_priv "struct tac_handle *h" "int priv" .Ft int .Fn tac_set_rem_addr "struct tac_handle *h" "const char *addr" .Ft int .Fn tac_set_user "struct tac_handle *h" "const char *user" .Ft const char * .Fn tac_strerror "struct tac_handle *h" .Sh ÇØ¼³ .Nm libtacplus ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, TACACS+ ³×Æ®¿öÅ© ¾×¼¼½º Á¦¾î ÇÁ·ÎÅäÄÝÀÇ Å¬¶óÀ̾ðÆ®ÃøÀ» ½ÇÇöÇϰí ÀÖ½À´Ï´Ù. TACACS+ ¿¡ ÀÇÇØ, Ŭ¶óÀÌ¾ðÆ®´Â ÀÎÁõÀ̳ª, Àΰ¡, ¹× °ú±Ý 󸮸¦, ¸®¸ðÆ® ¼­¹ö¿¡ ´ëÇÑ ³×Æ®¿öÅ©»ó¿¡¼­ÀÇ ¿ä±¸¸¦ ³»´Â °ÍÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, ÇöÀç ÇÁ·ÎÅäÄÝÀÇ ÀÎÁõ ºÎºÐ¸¸Å­À» ¼­Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù. .Pp .Sh ÃʱâÈ­ ÀÌ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§Çؼ­´Â, ¾îÇø®ÄÉÀ̼ÇÀº ÃÖÃÊ·Î .Fn tac_open È£ÃâÀ» ½ÇÇàÇØ, .Va struct tac_handle * (À»)¸¦ ¾òÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. À̰Ϳ¡ ÀÇÇØ ´ÙÀ½ÀÇ Á¶ÀÛÀ» À§ÇÑ ¹®¸ÆÀÌ ÁغñµË´Ï´Ù. .Fn tac_open È£ÃâÀº, ÃæºÐÇÑ °¡»ó ¸Þ¸ð¸®°¡ ÀÌ¿ëÇÒ ¼ö ÀÖÀ¸¸é, Ç×»ó Á¤»óÀûÀ¸·Î ¿Ï·áÇÕ´Ï´Ù. ÇÊ¿äÇÑ ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾øÀ» ¶§, .Fn tac_open ÇÏ .Dv ´­ (À»)¸¦ µ¹·ÁÁÝ´Ï´Ù. .Pp TACACS+ ¿ä±¸¸¦ ³»±â Àü¿¡, ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â ÄÁÅÃÆ® ÇÒ ¼ö ÀÖ´Â ¼­¹ö·ÎºÎÅÍ Àνĵǰí ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ ¶óÀ̺귯¸®¸¦ ȯ°æ ¼³Á¤ÇÏ´Â °£´ÜÇÑ ¹æ¹ýÀº .Fn tac_config (À»)¸¦ È£ÃâÇÏ´Â °ÍÀÔ´Ï´Ù. .Fn tac_config ¿¡ ÀÇÇØ, ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, .Xr tacplus.conf 5 ±×¸®°í ±× Çü½ÄÀÌ Á¤Àǵǰí Àִ ȯ°æ ¼³Á¤ ÆÄÀÏÀ» ÀÐ°Ô µË´Ï´Ù. ȯ°æ ¼³Á¤ ÆÄÀÏÀÇ ÆÐ½º¸íÀº, Àμö .Va file (À¸)·Î¼­ .Fn tac_config ¿¡°Ô °Ç³×Áý´Ï´Ù. ÀÌ Àμö¿¡´Â .Dv ´­ (À»)¸¦ °Ç³×ÁÙ ¼öµµ ÀÖ¾î ±× °æ¿ì´Â Ç¥ÁØ È¯°æ ¼³Á¤ ÆÄÀÏ .Pa /etc/tacplus.conf ÇÏÁö¸¸ »ç¿ëµË´Ï´Ù. .Fn tac_config ÇÏ Á¤»ó Á¾·á ¶§, 0 À» µ¹·ÁÁÖ¾î, ¿¡·¯ÀÇ °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. .Pp ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, .Fn tac_add_server (À»)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î, Á¤ÇØÁø ¼ø¼­¿¡ µû¶ó ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄ¶ó¹ÌÅÍ .Va host (Àº)´Â ¼­¹ö È£½ºÆ®¸¦, ¿ÏÀü ¼ö½ÄÇüÀÇ µµ¸ÞÀθí (FQDN), ¶Ç´Â ÇǸ®¾îµå·Î 4 °³ÀÇ ºÎºÐ¿¡ ºÐÇÒ Ç¥½ÃÇÑ ÅØ½ºÆ® Çü½ÄÀÇ IP ÁÖ¼Ò¿¡ ÀÇÇØ Á¤ÀÇÇÕ´Ï´Ù. ÆÄ¶ó¹ÌÅÍ .Va port (Àº)´Â, ¼­¹ö¿Í Á¢¼ÓÇÏ´Â TCP Æ÷Æ®¸¦ Á¤ÀÇÇÕ´Ï´Ù. .Va port ÇÏÁö¸¸ 0 À¸·Î Á¤Àǵǰí ÀÖÀ¸¸é(ÀÚ), ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â Ç¥ÁØ TACACS+ Æ÷Æ®ÀÌ´Ù Æ÷Æ® 49 ¸¦ »ç¿ëÇÕ´Ï´Ù. ¼­¹ö È£½ºÆ®¿¡ ´ëÇÑ °øÀ¯ ºñ¹ÐÀº, .Va secret ÆÄ¶ó¹ÌÅÍ¿¡°Ô °Ç³×Áý´Ï´Ù. ±×°ÍÀº .Dv ´­ ±×¸®°í Á¾·áÇѵ¥ µîÀΰ¡ÀÇ Ä³¸¯ÅÍ ¶óÀο¡¼­µµ ±¦Âú½À´Ï´Ù. ¼­¹ö·ÎºÎÅÍÀÇ ¼ö½Å ŸÀÓ ¾Æ¿ôÀº, .Va timeout ÆÄ¶ó¹ÌÅÍ¿¡, ÃÊÀÇ ´ÜÀ§·Î °Ç³×¹Þ½À´Ï´Ù. .Va flags ÆÄ¶ó¹ÌÅÍ´Â, Ç÷¡±×ÀÇ ºñÆ® ¸¶½ºÅ©·Î, ¼­¹öÀÇ ¿©·¯ °¡ÁöÀÇ ¼ºÁúÀ» ÁöÁ¤Çϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù. ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù. .Pp .Bl -tag -width Fl .It Dv TAC_SRVR_SINGLE_CONNECT ±×¸®°í, ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â ¼­¹ö¿Í Åë½ÅÇÒ °æ¿ì¿¡, ´ÜÀÏ Á¢¼Ó ¸ðµå·Î ³×°í½Ã¿¡ÀÌÆ® ÇÏ·Á°í ÇÕ´Ï´Ù. ´ÜÀÏ Á¢¼Ó ¸ðµå¿¡¼­´Â ¿ø·¡ÀÇ TCP Á¢¼ÓÀÌ ´ÙÁß TACACS+ ¼¼¼Ç¿¡ ´ëÇØ ÇØ¹æµÇ°í ÀÖ½À´Ï´Ù. ±¸½ÄÀÇ ¼­¹ö´Â ÀÌ ¸ðµå´Â ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê°í, ¼­¹ö¿¡ µû¶ó¼­´Â, Ŭ¶óÀÌ¾ðÆ®°¡ ³×°í½Ã¿¡ÀÌÆ® ÇÏ·Á°í Çϸé(ÀÚ) È¥¶õÇØ ¹ö¸®´Â °Íµµ ÀÖ½À´Ï´Ù. .El .Pp .Fn tac_add_server (Àº)´Â Á¤»ó Á¾·á½Ã¿¡ 0 À» µ¹·ÁÁÖ¾î, ¿¡·¯ ¶§´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. .Pp .Fn tac_add_server (Àº)´Â, ¿©·¯ Â÷·Ê È£ÃâÇÒ ¼ö°¡ ÀÖ¾î .Fn tac_config (¿Í)°ú ÇÔ²² »ç¿ëÇÕ´Ï´Ù. ÃÖ´ë 10 ÀÇ ¼­¹ö±îÁö ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. º¹¼ö ¼­¹öÀÇ ÁöÁ¤ÀÌ ÀÖÀ¸¸é(ÀÚ), ¶ó¿îµå·Îºó ¹æ½Ä¿¡ ÀÇÇØ °¡µ¿ÁßÀÇ ¾×¼¼½º °¡´ÉÇÑ ¼­¹ö¸¦ ã¾Æ³»·Á°í ÇÕ´Ï´Ù. ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, ±×·¯ÇÑ ¼­¹ö¸¦ ã¾Æ³»¸é(ÀÚ), ¼­¹ö°¡ °¡µ¿Çϰí ÀÖ´Â ÇÑ ±×°ÍÀ» °è¼Ó »ç¿ëÇÕ´Ï´Ù. .Pp .Sh TACACS+ ÀÎÁõ ¿ä±¸ÀÇ »ý¼º ½Å±Ô¿¡ ÀÎÁõ ¿ä±¸¸¦ ¸¸µé±â ½ÃÀÛÇÏ´Â °æ¿ì, .Fn tac_create_authen (À»)¸¦ È£ÃâÇÕ´Ï´Ù. Àμö .Va action , .Va type , .Va service ¿¡´Â, TACACS+ ÇÁ·ÎÅäÄÝ »ç¾çÀ¸·Î Á¤ÀǵǴ ÀûÀýÇÑ °ªÀ» ¼¼Æ® ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Çì´õ ÆÄÀÏ .Aq Pa taclib.h ¿¡´Â, ÀÌ·¯ÇÑ °ªÀÇ »ó¡Àû Á¤¼ö°¡ Á¤Àǵǰí ÀÖ½À´Ï´Ù. .Pp .Fn tac_create_authen ±×¸®°í ¿ä±¸¸¦ »ý¼ºÇÑ ÈÄ, ¿©·¯ °¡ÁöÀÇ ÀÓÀÇ ÁöÁ¤ ÆÄ¶ó¹ÌÅ͸¦, .Fn tac_set_data , .Fn tac_set_port , .Fn tac_set_priv , .Fn tac_set_rem_addr , .Fn tac_set_user (À»)¸¦ È£ÃâÇØ ºÎ°¡ÇÕ´Ï´Ù. ÇÁ·Î±×·¥ ¶óÀ̺귯¸®´Â, ÀÌ·¯ÇÑ ÇÔ¼ö¿¡ Á¦°øµÈ ÀÚ±â ÀÚ½ÅÀÇ Ä³¸¯ÅÍ ¶óÀÎÀÇ º¹Á¦¸¦ ¸¸µé¹Ç·Î, È£ÃâÃø¿¡¼­ ij¸¯ÅÍ ¶óÀÎÀ» º¸Á¸ÇØ µÑ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. µðÆúÆ®·Î °¢ ÆÄ¶ó¹ÌÅÍ´Â ÇÏ´ÃÀÔ´Ï´Ù¸¸, ±ÇÇÑ ·¹º§¸¸Àº .Ql USER ±ÇÇÑÀ¸·Î µðÆúÆ® ÁöÁ¤µÇ¾î ÀÖ½À´Ï´Ù. .Sh ÀÎÁõ ¿ä±¸ÀÇ ¼Û½Å°ú ÀÀ´äÀÇ ¼ö½Å TACACS+ ¿ä±¸°¡ »ý¼ºµÇ¸é(ÀÚ), .Fn tac_send_authen ¿¡ ÀÇÇØ ¼Û½ÅµË´Ï´Ù. ÀÌ ÇÔ¼ö´Â, ¹ÌÁ¢¼Ó ¶§ ¼­¹ö Á¢¼ÓÀ» ½Ç½ÃÇØ, ¿ä±¸¸¦ ¼Û½ÅÇØ, ´ä½ÅÀ» ±â´Ù¸³´Ï´Ù. ÀÌ»óÁ¾·á(ABEND) ¶§, .Fn tac_send_authen (Àº)´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. Á¤»óÀÇ °æ¿ì´Â, TACACS+ Á¾·á ÄÚµå¿Í Ç÷¡±×¸¦, Á¤¼öÄ¡¿¡ ÆÑ ÇØ µ¹·ÁÁÝ´Ï´Ù. Á¾·á »óÅ´ .Fn TAC_AUTHEN_STATUS ¸ÅÅ©·Î¸¦ »ç¿ëÇØ ÃßÃâÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÃëÇÒ ¼ö ÀÖ´Â Á¾·á ÄÚµå´Â, .Aq Pa taclib.h ±×¸®°í Á¤Àǵǰí ÀÖ¾î ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù. .Pp .Bl -item -compact -offset indent .It .Dv TAC_AUTHEN_STATUS_PASS .It .Dv TAC_AUTHEN_STATUS_FAIL .It .Dv TAC_AUTHEN_STATUS_GETDATA .It .Dv TAC_AUTHEN_STATUS_GETUSER .It .Dv TAC_AUTHEN_STATUS_GETPASS .It .Dv TAC_AUTHEN_STATUS_RESTART .It .Dv TAC_AUTHEN_STATUS_ERROR .It .Dv TAC_AUTHEN_STATUS_FOLLOW .El .Pp À¯ÀÏÇÑ Ç÷¡±×´Â no-echo Ç÷¡±×·Î, .Fn TAC_AUTHEN_NOECHO ¸ÅÅ©·Î·Î °ËÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. .Sh ¼­¹öÀÇ ÀÀ´äÀ¸·ÎºÎÅÍÀÇ Á¤º¸ ÃßÃâ ¼­¹ö·ÎºÎÅÍÀÇ ÀÎÁõ ÀÀ´ä ÆÐŶ¿¡´Â, ¼­¹ö ¸Þ¼¼Áö³ª ij¸¯ÅÍ ¶óÀÎ µ¥ÀÌÅÍ, ȤÀº, ±× ¾çÀÚ°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. .Fn tac_send_authen È£ÃâÀÌ ¼º°øÇϸé(ÀÚ), ÀÌ Á¤º¸´Â, .Fn tac_get_msg (¿Í)°ú .Fn tac_get_data È£ÃâÀÇ ÀÀ´äÀ¸·ÎºÎÅÍ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö´Â, ÆÐŶÀ¸·ÎºÎÅÍÀÇ Á¤º¸ÀÇ µ¿ÀûÀ¸·Î ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø Ä«ÇǸ¦ µ¹·ÁÁÝ´Ï´Ù. ±×°ÍµéÀÌ ÇÊ¿ä¾ø°Ô µÇ¾úÀ» ¶§¿¡´Â, È£ÃâÃøÀÌ ÇØ¹æ ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö·ÎºÎÅÍ µ¹¾Æ¿À´Â µ¥ÀÌÅÍ´Â, ¹Ýµå½Ã .Dv ´­ ±×¸®°í Á¾·áÇϰí ÀÖ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù. .Pp .Fn tac_get_data ÀÇ °æ¿ì, Àμö .Va len (Àº)´Â, ÇÁ·Î±×·¥ ¶óÀ̺귯¸®°¡ Á¾´ÜÀÇ .Dv ³Î ij¸¯Å͸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ¿­¸Å »çÀÌÁîÀÇ ¼ö½Å µ¥ÀÌÅÍÀÇ º¸°ü Àå¼Ò¸¦ °¡¸®Å°°í ÀÖ½À´Ï´Ù. ÀÌ Àμö¿¡´Â, È£ÃâÃøÀÌ ±æÀ̸¦ ¹®Á¦»ïÁö ¾Ê´Â °æ¿ì´Â, .Dv ´­ (À»)¸¦ ÁöÁ¤Çصµ ±¦Âú½À´Ï´Ù. .Sh ÀÎÁõ ¿¬¼Ó ÆÐŶÀÇ ¼Û½Å .Fn tac_send_authen ÇÏÁö¸¸, Á¾·á ÄÚµå .Dv TAC_AUTHEN_STATUS_GETDATA , .Dv TAC_AUTHEN_STATUS_GETUSER , .Dv TAC_AUTHEN_STATUS_GETPASS Áß ¾î¶² °ÍÀÎÁö¸¦ Æ÷ÇÔÇÑ °ªÀ» µ¹·ÁÁÖ´Â °æ¿ì, Ŭ¶óÀÌ¾ðÆ®´Â, TACACS+ ¿¬¼Ó ÆÐŶÀ» »ç¿ëÇØ, ¼­¹ö¿¡ ´ëÇÑ Ãß°¡ Á¤º¸¸¦ Á¦°øÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯±â À§Çؼ­´Â, ¾îÇø®ÄÉÀ̼ÇÀº ÃÖÃÊ·Î, .Fn tac_set_msg (¿Í)°ú .Fn tac_set_data (À»)¸¦ »ç¿ëÇØ, ÆÐŶ À¯Àú ¸Þ¼¼Áö³ª µ¥ÀÌÅÍ Çʵ带 ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â, .Fn tac_send_authen (À»)¸¦ »ç¿ëÇØ ¿¬¼Ó ÆÐŶÀ» ¼Û½ÅÇÕ´Ï´Ù. .Pp .Li [ÁÖÀÇ] .Fn tac_create_authen (Àº)´Â, ¿¬¼Ó ÆÐŶÀ» »ý¼ºÇÒ °æ¿ì¿¡´Â .Em È£ÃâÇÏÁö ¾Ê°í , ÃʱâÀÇ ÀÎÁõ ¿ä±¸ ¶§¿¡¸¸ »ç¿ëÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. .Pp ¿¬¼Ó ÆÐŶÀ» ¼ö½ÅÇϸé(ÀÚ), ¼­¹ö´Â .Dv TAC_AUTHEN_STATUS_GETDATA , .Dv TAC_AUTHEN_STATUS_GETUSER , .Dv TAC_AUTHEN_STATUS_GETPASS (À»)¸¦ µ¹·ÁÁÖ¾î, ´õ¿í Á¤º¸¸¦ ¿ä±¸ÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº, ¼­¹ö·ÎºÎÅÍ ´Ù¸¥ »óÅ Äڵ尡 ¼ö½ÅµÉ ¶§±îÁö, °è¼Ó ¿¬¼Ó ÆÐŶÀ» ¼Û½ÅÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. .Sh ¿¡·¯ ¸Þ¼¼ÁöÀÇ Ãëµæ Àμö .Va struct tac_handle * (À»)¸¦ ¹Þ´Â ÇÔ¼ö´Â, ÀÌ»óÁ¾·á(ABEND) Çϸé(ÀÚ) ¿¡·¯ ¸Þ¼¼Áö¸¦ ±â·ÏÇÕ´Ï´Ù. ¿¡·¯ ¸Þ¼¼Áö´Â, .Fn tac_strerror (À»)¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. ¸Þ¼¼Áö ÅØ½ºÆ®´Â, ÁöÁ¤µÇ¾ú´Ù .Va struct tac_handle * ÀÇ »õ·Î¿î ¿¡·¯ ¸¶´Ù µ¡¾²±âµË´Ï´Ù. µû¶ó¼­, ¸Þ¼¼Áö¸¦ º¸°üÇØ µÎÁö ¾ÊÀ¸¸é ¾È µÇ¸é, °°Àº ÇÚµéÀ» »ç¿ëÇÏ´Â ÈļÓÀÇ ÇÁ·Î±×·¥ ¶óÀ̺귯¸® È£Ãâ·Î º¹Á¦¸¦ ¸¸µéÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. .Sh Ŭ¸° ¾÷ TACACS+ ÇÁ·Î±×·¥ ¶óÀ̺귯¸®·Î »ç¿ëÇÑ ¸®¼Ò½º¸¦ ÇØ¹æÇÏ·Á¸é , .Fn tac_close È£ÃâÇØ ÁÖ¼¼¿ä. .Sh ¹Ýȯ°ª ÀÌÇÏÀÇ ÇÔ¼ö´Â, Á¤»ó Á¾·á½Ã¿¡, ºÎ°¡ ¾Æ´Ñ ¼öÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. ¿¡·¯¸¦ °ËÃâÇϸé(ÀÚ),-1 ¸¦ µ¹·ÁÁÖ¾î, ¿¡·¯ ¸Þ¼¼Áö¸¦ ±â·ÏÇÕ´Ï´Ù. ¸Þ¼¼Áö´Â .Fn tac_strerror ¿¡ ÀÇÇØ ²¨³¾ ¼ö ÀÖ½À´Ï´Ù. .Pp .Bl -item -offset indent -compact .It .Fn tac_add_server .It .Fn tac_config .It .Fn tac_create_authen .It .Fn tac_send_authen .It .Fn tac_set_data .It .Fn tac_set_msg .It .Fn tac_set_port .It .Fn tac_set_priv .It .Fn tac_set_rem_addr .It .Fn tac_set_user .El .Pp ÀÌÇÏÀÇ ÇÔ¼ö´Â, Á¤»ó Á¾·á½Ã¿¡ ´­ÀÌ ¾Æ´Ñ Æ÷ÀÎÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. ÃæºÐÇÑ °¡»ó ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾ø´Â °æ¿ì, .Dv ´­ (À»)¸¦ µ¹·ÁÁÖ¾î, ¿¡·¯ ¸Þ¼¼Áö¸¦ ±â·ÏÇÕ´Ï´Ù. ¸Þ¼¼Áö´Â .Fn tac_strerror ±×¸®°í ²¨³¾ ¼ö ÀÖ½À´Ï´Ù. .Pp .Bl -item -offset indent -compact .It .Fn tac_get_data .It .Fn tac_get_msg .El .Pp ÀÌÇÏÀÇ ÇÔ¼ö´Â, Á¤»ó Á¾·á½Ã¿¡ ´­ÀÌ ¾Æ´Ñ Æ÷ÀÎÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. ÃæºÐÇÑ °¡»ó ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¼ö ¾ø´Â °æ¿ì, .Dv ´­ (À»)¸¦ µ¹·ÁÁÖ¾î, ¿¡·¯ ¸Þ¼¼Áö¸¦ ±â·ÏÇÏÁö ¾Ê½À´Ï´Ù. .Pp .Bl -item -offset indent -compact .It .Fn tac_open .El .Sh °ü·Ã ÆÄÀÏ .Pa /etc/tacplus.conf .Sh °ü·Ã Ç׸ñ .Xr tacplus.conf 5 .Rs . %A D. Carrel . %A Lol Grant . %T The TACACS+ Protocol, Version 1.78 . %O draft-grant-tacacs-02.txt (Internet Draft) .Re .Sh ÀúÀÚ ÀÌ ¼ÒÇÁÆ®¿þ¾î´Â, .An John Polstra ÇÏÁö¸¸ ÀÛ¼ºÇØ, Juniper Networks, Inc ¿¡ ÀÇÇØ .Fx ÇÁ·ÎÁ§Æ®¿¡ ±âÁõµÇ¾ú½À´Ï´Ù.