웹에서 리눅스 계정, samba 계정 비밀번호 변경

1. 개요
 가. sourceforge.net 에 등록된 ChangePassword 프로그램을 사용하여 웹에서
       리눅스 시스템 계정, samba 계정을 변경하는 방법 입니다.
 
2. ChangePassword 설정
 가. 준비사항
  1) Apache CGI 활성화 : RPM 설치 시 기본 설정되어 있습니다.
       디렉토리는 /var/www/cgi-bin 으로 설정되어 소스 컴파일시 cgi-dir 입력 합니다.
  2) SAMBA 서버의 계정 비밀번호 저장 방법은 smbpasswd 를 사용 합니다.
       (tdbsam 설정 시 ChangePassword 사용불가)
  3) GNU GCC, glibc
 
 나. 다운로드
[root@localhost ~] # wget http://cdnetworks-kr-1.dl.sourceforge.net/project/changepassword/changepassword/0.9/changepassword-0.9.tar.gz
  # 파일첨부 #6531830209.gz
 다. changepasswd 컴파일
[root@localhost ~] # tar xvfz changepassword-0.9.tar.gz
[root@localhost ~] # cd changepassword-0.9
[root@localhost ch~] # ./configure –enable-smbpasswd=/etc/samba/smbpasswd –enable-cgidir=/var/www/cgi-bin –disable-squidpasswd
[root@localhost ch~] # make
[root@localhost ch~] # make install

        (커스터 마이징 환경에서 컴파일 위치 /home/*/public_html/chcp/changepassword-0.9 이며, 디자인변경 파일은 changepassword.c 입니다)
 
 라. 웹접속 (http://IP 주소/cgi-bin/changepassword.cgi)
 
사용자 삽입 이미지 마. "make" 단계에서 에러 발생 시

You might encounter error during the "make" step for certain Linux distribution/version. Below is the error:

suse10:~/changepassword-0.9 # make
gcc -c -o smbencrypt/SMBPasswdGen.o smbencrypt/SMBPasswdGen.c
gcc -c -o smbencrypt/encrypt.o smbencrypt/encrypt.c
gcc -c -o smbencrypt/md4.o smbencrypt/md4.c
gcc -c -o smbencrypt/smbencrypt.o smbencrypt/smbencrypt.c
gcc changepassword.c -o changepassword.cgi smbencrypt/SMBPasswdGen.o smbencrypt/md4.o smbencrypt/smbencrypt.o smbencrypt/encrypt.o -lcrypt -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DHAVE_LIBCRYPT=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDIO_H=1 -DHAVE_STRING_H=1 -DHAVE_STDLIB_H=1 -DHAVE_PWD_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_SHADOW_H=1 -DHAVE_TIME_H=1 -DEnglish -DSMBPASSWD="no" -DSQUIDPASSWD="no" -DLOGO="giant_logo.jpg" -L./smbencrypt -ldes
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: skipping incompatible ./smbencrypt/libdes.a when searching for -ldes
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: cannot find -ldes
collect2: ld returned 1 exit status
make: *** [changepassword.cgi] Error 1

Solution: Recompile libdes.a

This is due to the incompatible file named libdes.a. Below is the solution

suse10:~/changepassword-0.9 # cd smbencrypt/
suse10:~/changepassword-0.9/smbencrypt # tar -xzvf libdes-4.04b.tar.gz
suse10:~/changepassword-0.9/smbencrypt # cd des/
suse10:~/changepassword-0.9/smbencrypt/des # make
suse10:~/changepassword-0.9/smbencrypt/des # cp libdes.a ..
suse10:~/changepassword-0.9/smbencrypt/des # cd ../..

run the "make" and "make install" again from the root of the changepassword installation source

suse10:~/changepassword-0.9 # make
suse10:~/changepassword-0.9 # make install

the compilation should be able to go thru.

* 참조 http://www.brain-cluster.com/linux/changepassword-linux-compilation/

 

 
 .끝.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다