Igor Sutton wrote:
> You can write a PAM module that does these kind of authorization, by 
> grouping your servers e.g. serverA, serverB and serverC only allows 
> users having memberOf oracleDBA. It works here in the company I work 
> for, and can suit yours too. I think this approach is nice because you 
> can centralize all administration to one write server, and then 
> replicate to your slave servers.
> 
> Just one more idea :)
> 
>     You will need to consider what users gain access to what servers. You
>     create profiles for your different server types which contain the search
>     query that locates a user. Normally it is simple such as 'uid=%user'
>     where %user is the name supplied by the login process. Since you may
>     not
>     want all users to log into all servers you might have the filter for
>     oracle servers set like '&((uid=%user)(memberOf=oracleDBA))'. A user
>     record may look like:
> 
>     dn: uid=robertc,ou=people,dc=example,dc=com
>     objectclass: person (+ other objectclasses)
>     uid: robertc
>     memberOf: oracleDBA
>     memberOf: lotusnotesDBA
>     ...
> 
> 

You can distribute your users with LDAP. Authenticate via PAM and use 
pam_listfile to restrict the users for your services. You can manage 
these lists (per service) with cfengine.

You can merge lists for different tasks on a host to a single list of 
users allowed for login per ssh. From the same set of lists you can also 
generate the User_Alias entrys in your sudoers file to configure sudo.
And of course you manage your sudoers file via cfengine:

Groups: AdminA, AdminB, OracleDBA,LotusDBA


Allowed for login via ssh (look for duplicates):

HostA: AdminA, OracleDBA
HostB: AdminA, LotusDBA
HostC: AdminB, OracleDBA



sudoers for HostA, HostC:

Cmnd_Alias: ORACLE_CMD=what you need as Oracle Admin
User_Alias: ORACLE=list from OracleDBA-File

ORACLE  All= ORACLE_CMD


sudoers for HostB:

Cmnd_Alias: LOTUS_CMD=what you need as Lotus Admin
User_Alias: LOTUS=list from LotusDBA-File

LOTUS  All= LOTUS_CMD



Berthold Cogel
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
http://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to