org.jclouds.scriptbuilder.statements.login
Class AdminAccess
java.lang.Object
org.jclouds.scriptbuilder.statements.login.AdminAccess
- All Implemented Interfaces:
- Statement
public class AdminAccess
- extends Object
- implements Statement
Controls the administrative access to a node. By default, it will perform the following:
- setup a new admin user which folks should use as opposed to the built-in vcloud account
- associate a random password to account
- securely ( use sha 512 on client side and literally rewrite the shadow entry, rather than
pass password to OS in a script )
- associate the users' ssh public key with the account for login
-
associate it with the os group wheel
- create os group wheel
- add sudoers
for nopassword access to root by group wheel
- reset root password securely
-
lockdown sshd_config for no root login, nor passwords allowed
- Author:
- Adrian Cole
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AdminAccess
protected AdminAccess(AdminAccess.Config in)
builder
public static AdminAccess.Builder builder()
builder
public static AdminAccess.Builder builder(com.google.common.base.Function<String,String> cryptFunction)
standard
public static AdminAccess standard()
getAdminCredentials
@Nullable
public Credentials getAdminCredentials()
- Returns:
- new credentials or null if unchanged or unavailable
getAdminPassword
@Nullable
public String getAdminPassword()
shouldGrantSudoToAdminUser
public boolean shouldGrantSudoToAdminUser()
functionDependencies
public Iterable<String> functionDependencies(OsFamily family)
- Specified by:
functionDependencies
in interface Statement
init
public AdminAccess init(AdminAccess.Configuration configuration)
render
public String render(OsFamily family)
- Specified by:
render
in interface Statement
Copyright © 2009-2011 jclouds. All Rights Reserved.