AIX에 PAM Radius 서버 설치

AIX에 PAM Radius 서버 설치

AIX7.3을 실행하는 테스트 서버에 Radius 서버를 설치하려고 합니다. 나는 다음을 수행했습니다.

  1. pam_radius-1.4.0.tar.gz를 다운로드한 /tmp에 tar 파일을 추출했습니다.
  2. 80행에서 pam_radius-1.4.0/src/pam_radius_auth.h를 수정하고 #ifndef CONST 앞에 #define __sun을 추가합니다.
  3. 변경 사항 구성 및 컴파일
#./configure
# make

make 명령을 실행할 때 다음 오류가 발생합니다.

# make
        cc -Wall -fPIC -c src/pam_radius_auth.c -o pam_radius_auth.o
cc: not found

make: 1254-004 The error code from the last command is 1.

일을 하는 동안

#make CC=gcc

다음과 같은 오류가 발생하는데 해결 방법을 모르겠습니다. 누군가가 내 오류를 설명하고 AIX7.3에 r4adius를 설치하는 방법에 대한 최신 문서를 갖고 있다면 더 좋을 것입니다.

# make CC=gcc
        gcc -Wall -fPIC -c src/pam_radius_auth.c -o pam_radius_auth.o src/pam_radius_auth.c: In function 'rad_converse': src/pam_radius_auth.c:1028:40: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1028 |  retval = pam_get_item(pamh, PAM_CONV, (CONST void **) &conv);
      |                                        ^~~~~~~~~~~~~~~~~~~~~
      |                                        |
      |                                        const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1031:25: warning: passing argument 2 of 'conv->conv' from incompatible pointer type [-Wincompatible-pointer-types]  1031 |  retval = conv->conv(1, msg, &resp,conv->appdata_ptr);
      |                         ^~~
      |                         |
      |                         const struct pam_message ** src/pam_radius_auth.c:1031:25: note: expected 'struct pam_message **' but argument is of type 'const struct pam_message **' src/pam_radius_auth.c: In function 'pam_sm_authenticate': src/pam_radius_auth.c:1081:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types]  1081 |  retval = pam_get_user(pamh, &user, NULL);
      |                              ^~~~~
      |                              |
      |                              const char ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **'   221 |  char **user,    /* User Name */
      |  ~~~~~~~^~~~ src/pam_radius_auth.c:1096:42: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1096 |   retval = pam_get_item(pamh, PAM_RUSER, (CONST void **) &userinfo);
      |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                          |
      |                                          const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1120:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1120 |   retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                            |
      |                                            const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1136:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1136 |   retval = pam_get_item(pamh, PAM_AUTHTOK, (CONST void **) &password);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                            |
      |                                            const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1170:41: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1170 |  retval = pam_get_item(pamh, PAM_RHOST, (CONST void **) &rhost);
      |                                         ^~~~~~~~~~~~~~~~~~~~~~
      |                                         |
      |                                         const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c: In function 'pam_sm_setcred': src/pam_radius_auth.c:1290:43: warning: passing argument 3 of 'pam_get_data' from incompatible pointer type [-Wincompatible-pointer-types]  1290 |  pam_get_data(pamh, "rad_setcred_return", (CONST void **) &pret);
      |                                           ^~~~~~~~~~~~~~~~~~~~~
      |                                           |
      |                                           const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:246:9: note: expected 'void **' but argument is of type 'const void **'   246 |  void **data
      |  ~~~~~~~^~~~ src/pam_radius_auth.c: In function 'pam_private_session': src/pam_radius_auth.c:1312:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types]  1312 |  retval = pam_get_user(pamh, &user, NULL);
      |                              ^~~~~
      |                              |
      |                              const char ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **'   221 |  char **user,    /* User Name */
      |  ~~~~~~~^~~~ src/pam_radius_auth.c:1332:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1332 |   retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                            |
      |                                            const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1300:6: warning: variable 'ctrl' set but not used [-Wunused-but-set-variable]  1300 |  int ctrl;
      |      ^~~~ src/pam_radius_auth.c: In function 'pam_sm_chauthtok': src/pam_radius_auth.c:1412:30: warning: passing argument 2 of 'pam_get_user' from incompatible pointer type [-Wincompatible-pointer-types]  1412 |  retval = pam_get_user(pamh, &user, NULL);
      |                              ^~~~~
      |                              |
      |                              const char ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:221:9: note: expected 'char **' but argument is of type 'const char **'   221 |  char **user,    /* User Name */
      |  ~~~~~~~^~~~ src/pam_radius_auth.c:1432:44: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1432 |   retval = pam_get_item(pamh, PAM_SERVICE, (CONST void **) &config.client_id);
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                            |
      |                                            const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1441:46: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1441 |  retval = pam_get_item(pamh, PAM_OLDAUTHTOK, (CONST void **) &password);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                              |
      |                                              const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~ src/pam_radius_auth.c:1446:43: warning: passing argument 3 of 'pam_get_item' from incompatible pointer type [-Wincompatible-pointer-types]  1446 |  retval = pam_get_item(pamh, PAM_AUTHTOK, (CONST void **) &new_password);
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                           |
      |                                           const void ** In file included from src/pam_radius_auth.h:25,
                 from src/pam_radius_auth.c:62: /usr/include/security/pam_appl.h:196:10: note: expected 'void **' but argument is of type 'const void **'   196 |  void ** item   /* Address of place to put pointer */
      |  ~~~~~~~~^~~~
        gcc -Wall -fPIC -c src/md5.c -o md5.o
        gcc -shared pam_radius_auth.o md5.o -lpam -o pam_radius_auth.so Target "all" is up to date.

관련 정보