|
|
|
리눅스팁 Go Unix Power Tools Online Book
Go Bash Guide
|
|
Read No. 11 article |
2001-08-04 09:31:20 |
|
|
|
|
NickName |
풀비누 |
Subject |
웹에서.. 계정추가하기.. |
|
|
정민석님의 글입니다.
얼마전 웹에서 사용자 추가하는 것이 꼭 필요해서...
여기서 자료를 찾았습니다..
그런데 답은 없고...또는 답은 있지만 밝힐 수는 없다고 적혀 있더라구요...
뭐... 보안상 중요해서 밝힐 수 없다고...
음...
저는 현재 웹메일을 만들고 있는데...
사용자가 가입하면 가입처리 문제가 골치가 아팠습니다...
qmail을 사용하면 바로 DB에 넣으면 된다고 하는데..
저는 qmail을 사용하지도 않았고 단지 sendmail을 사용하고 있는데...
그래서 골치가 매우 아팠습니다...
이제 서론은 여기까지 하고 하번 해봅시다...
php에서 보면 외부 실행파일을 실행시키는 exec라는 함수가 있잖아요...
이놈을 이용하고 그리고 저는 shell 스크립트 하고 perl 스크립트 두개를 사용했습니다...
너무 겁먹지 마세요.. 코드는 매우 짧은니깐.....
먼저 useradd 라는 실행 프로그램이 아마도 리눅스에는
/usr/sbin/ 밑에 있을 겁니다...
이놈을 자기 디렉토리도 copy해서..
chmod a+s useradd 로 바꾸어 주세요.... 매우 중요합니다...
그리고 나서..
가입자 파일에서...
exec (add $user $pass);
이렇게 한 줄 넣습니다..
여기서 실행 파일은 add이고 user와 pass는 사용자 아이디와 패스워드이죠...
그러면 add 실행 파일을 볼까요..아주 간단...
#!/usr/sh
perl add.pl $1 $2
위의 소스가 끝입니다...
인수로 두개를 받죠...
하나는 $1에는 user아이디..$2에서는 패스워드...
그럼 이제는 perl 소스를 볼까요...
#!/usr/bin/perl
# 인수 체크..
$check = @ARGV;
if ($check != 2) {
print "인수가 잘 못되었습니다!"
exit;
}
# 추가시킨다..
$user = $ARGV[0];
$pass = $ARGV[1];
$pass = crypt($pass,15); ## linux 패스워드 암호화 방식..
print (`/home/httpd/lib/useradd $user -M -s /bin/false -p $pass`);
이렇게 끝...
여기서 추가 방식은 저는 사용자가 그냥 계정만 가지고 있고 telnet 접속은 금지하기 위해서..
위처럼..이렇게 사용했죠...
궁금한 사항이 있으시면 저에게 메일을 주세요...
그럼...
|
|
Page Loading [ 0.03 Sec ]
SQL Time [ 0.01 Sec ]
|
|
|