AIX서버에서 사용자 인증 처리에 대한 질문을 드립니다.
글쓴이: anaud2 / 작성시간: 화, 2009/01/20 - 11:19오전
안녕하세요
리눅스에서 FTP데몬을 조금 변형해서 FTP데몬프로그램을 만들었는데요 AIX에서 포팅을 위해 준비를 하고 있습니다.
하던중 의문이 생기는 사항이 생겼는데요 리눅스의 경우 사용자 password는 암호화하여(crypt) /etc/shadow파일에 저장이 되어있고 이것을 읽어 들이는 함수getspnam(char *name)을 가지고 shadow파일을 읽어들여서 암호화된 사용자 password를 읽어 들일수 있죠 사용자가 패스워드를 입력을 하면 crypt()를 사용 서로 같은지 대조를 해봐서 알수가 있는데요
그런데 AIX의 경우 /etc/shadow파일이 없고 /etc/security/passwd파일이 있습니다. 이렇게 되니까 소스를 수정을 해야할것 같은데 /etc/security/passwd 파일을 읽어 들이는 함수가 있는지와 man페이지에서 crypt함수가 없던데 어떻게 인증을 처리를 해야하는지 의문이 생겨서 질문을 드립니다.
유닉스 계열은 다 비슷할거란 생각을 했는데 전혀 다르네요..;
도움 부탁드립니다.
Forums:
음...
setpwdb(), endpwdb(), getuserpw() 를 통하 암호화 된 password 를 얻어 올 수 있고..
setuserdb(), enduserdb(), getuserattr() 를 통해 account 에 대한 attribute 를 얻어 올 수 있습니다..
기본적으로 PAM 과 유사한 LAM 을 지원하고, 5.x 대부터는 PAM 도 지원이 가능한 걸로 들은 거 같은데..
단순히 인증이 주 목적이고 서로 다른 OS 에 포팅해야 하는 상황이라면..
직접 password db 에 access 하는 것 보다는, PAM 을 알아보시는게 좋을 것 같습니다..
PAM 을 사용하지 않고 직접 local auth 를 수행한다면, account 의 유효성이라던가..
passwd 또는 account 의 expiration 등 고려해야 할 사항이 한 둘이 아니게 됩니다.
특히나 HP-UX 로 건너간다면, Normal Mode 와 Trusted Mode 등 변수가 더 늘어납니다.
(Tru64 의 경우에는 Basic Security Mode / Enhanced Security Mode)
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변감사합니다.
답변 감사합니다.
당초에 FTP 데몬을 수정한 부분은 인증에 관한 부분을 수정을 한것입니다. 일반적인 인증이 아닌 특수 사용자에게 다른인증을 제공하는 목적으로 만들어진것이구요
그럼에도 사용자 패스워드를 사용한 인증이 필요한 이유는 일반사용자에 관해서 일반적인 인증을 해주기 위함인데요
PAM같은경우 커버로스방식이라고 해야될까요 제3자에 인증을 받는 부분이 필요한거 같은데요 저희 윗분이 pam보다는 원래 특수사용자인증을 위해 수정이 된 FTP이고 기본적으로 일바사용자에 대해서 패스워드 인증을 받는 부분이기 때문에 pam보다는 일반적으로 passwd인증을 하는 방법을 찾아라고 하니..
제 생각에는 password db를 access하는게 좋을거 같습니다. account의 유효성과 passwd, account의 expiration등에 대해서는 원래 생각을 못했었는데
보안적인 취약성이 생길수 있겠네요 일단 기본 인증을 만들고 그부분에 대해서 고민을 해보겠습니다.
생각지 못한부분을 짚어주어 감사드립니다.^^
댓글 달기