Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Documentation on modifications to /etc/authorization file



Hi All:

So I've got my replacement for the login screen working in a test harness, so I bit the bullet and tried as the replacement for system.login.console. From my logging, it appears that the there's a few things going on that are supposed to. For example I'm logging that a smartcard has been removed, and inserted, however the GUI part isn't showing up.

So I must be missing something in my replacement for system.login.console: Here's mine:

                <!-- <key>com.CRYPTOCard.login</key>   -->
                <key>system.login.console</key>
                <dict>
                        <key>class</key>
		     <string>evaluate-mechanisms</string>
                        <key>comment</key>
                        <string>Cryptocard Login</string>
                        <key>mechanisms</key>
                        <array>
                                <string>cryptologon:eus</string>
                        </array>
                </dict>

Any ideas?

Also, if someone has the 'Require password to wake this computer from sleep...' set in system preferences/security I'm going to have to replace the 'authenticate-session-owner-or-admin' key with one that calls me, correct?

That leads to a question like: "What happens if I want to be the authentication 'service' for everything from the finder authenticating when someone drags a file into a system folder, to fast user switching, etc"

Thanks in advance


John

On 7-Dec-04, at 12:44 PM, Conrad Sauerwald wrote:


On Dec 7, 2004, at 06:32, John Cebasek wrote:

Hi Conrad:

(We met at the security kitchen. You moved some code around on my Powerbook)

I'm in a position to start to test our replacement for the logon screen, and I am trying to find out what changes have to be made to the ref file.

I don't think I want a new right (as in your test application). I believe (and correct me if I'm wrong) that I just want to replace the existing mechanism in system.console.logon.

system.login.console is used for login.

But then, what do I replace it with?

If you look in the file you see the current definition is:

<key>system.login.console</key>
<dict>
<key>class</key>
<string>evaluate-mechanisms</string>
<key>comment</key>
<string>Login mechanism based rule. Not for general use
, yet.
builtin:krb5authenticate can be used to hinge local authentication on a successf
ul kerberos authentication and kdc verification.
builtin:krb5authnoverify skips the kdc verification. Both fall back on local au
thentication.</string>
<key>mechanisms</key>
<array>
<string>loginwindow_builtin:login</string>
<string>authinternal</string>
<string>HomeDirMechanism:login,privileged</strin
g>
<string>MCXMechanism:login</string>
<string>loginwindow_builtin:success</string>
<string>builtin:getuserinfo,privileged</string>
<string>builtin:sso,privileged</string>
<string>loginwindow_builtin:done</string>
</array>
</dict>


loginwindow_builtin:login and loginwindow_builtin:success and loginwindow_builtin:done represent the standard login panel.

Using the API in AuthorizationDB.h you can use AuthorizationRightGet() to get this definition as a dictionary. Convert it to a mutable one and find the mechanisms section. Recreate an array that contains the keys of the original mechanisms array and remove/replace the values that start with loginwindow with a string representing your plugin and mechanism. Use AuthorizationDBSet() to set this new definition.

For testing you may want to use a different name than system.login.console until you've got it right and you can authorize that right from a user session.

Conrad.


_______________________________________________ Do not post admin requests to the list. They will be ignored. Apple-cdsa mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/apple-cdsa/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.