>> Delete No. 1488 article
No. shadow 파일을 읽고 싶은데....

등록 2001-07-25 18:08:00     조회 5
이름 linuxdj    

		다음과 같이 프로그램을 만들었습니다...
 #include
#include
#include
#include
#include
#include
#include
struct passwd *pwd;
struct spwd *spwd;
main() {
const char id[40],passwd[40];
int i;
unsigned idf;
printf("Login : ");
scanf("%s",id);
printf("Password :");
scanf("%s",passwd);
 pwd =getpwnam(id);
idf=pwd->pw_uid;
i=verify_password(idf,passwd);
printf("%d",i);
}
  int verify_password(unsigned id, unsigned char *password)
{
 char *salt = NULL;
 pwd = getpwuid(id);
salt = pwd->pw_passwd;
 if ( !strcmp(salt,"x")){
spwd = getspnam(pwd->pw_name);
salt = spwd->sp_pwdp;
}
 if ( !strcmp(crypt(password,salt),salt)) return 0;
else return -1;
}
 루트 계정에서는 입력값을 가지고 세도우 파일을 비교해서 잘 처리 됩니다...
그런데 일반 계정으로 실행하면 세도우 파일에 접근을 못합니다....
그래서 일반 계정으로 접근해서 위 파일을 실행했을 경우 세도우를 읽어서
암호를 비교 할 수 있는 방법을 알고 싶습니다..
꼭 부탁드립니다...
 참 chmod 4000 이렇게 사용하는 방법 말고 프로그램에서 코딩을 해서 사용할
수 있는 방법을 알고 싶습니다...
위 코딩에 어디에 무엇을 추가 해야 되는지 ....^^
꼭 부탁 드립니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved