2010-04-19 186 views
4

我需要編寫一個驗證模塊,該模塊必須與Mac OS X 10.6 Snow Leopard 一起使用,並且同時需要符合POSIX標準。Mac OS X 10.5+和POSIX

我讀到這裏:developer.apple.com/leopard/overview/osfoundations.html

,由於的Mac OS X 10.5 Leopard的Mac OS X的是符合POSIX標準(POSIX標準1003.1), 但下工作Mac OS X 10.5 Leopard自己,我無法在/ etc/passwd中找到我的用戶名 的任何痕跡,也沒有在它的後繼/etc/master.passwd中找到任何痕跡,這裏提到:developer.apple.com/mac/library /DOCUMENTATION/Darwin/Reference/ManPages/man5/passwd.5.html

取而代之的是,在兩個文件中都使用了OpenDirectory服務,根據OpenDirectoryServi應該使用OpenLDAP ce手冊頁。

這仍然符合POSIX?我猜不會。我想知道Mac OS X如何處理我的 100%符合POSIX標準的代碼,這取決於/ etc/passwd嗎?

如果有人能解釋這對我有用的方式,我會很樂意。

謝謝你的時間和麻煩。

問候

菲爾。

回答

2

我不認爲用戶和密碼存儲(或者至少POSIX 1003.1)由POSIX覆蓋的方式 - 看POSIX Wikipedia page對於什麼是覆蓋簡要概述。

1

您可以使用從pwd.hgetpwuid或​​功能的用戶名/ ID進行搜索。它是1003.1標準的一部分。

0

它看起來像POSIX不包括這個,但是大多數主要Unices似乎現在使用PAM。你可以試試看看如何使用PAM認證用戶...