When writing the ~/.ssh/authorized_keys file in a script that is being
run as sudo, the file is created with the root owner, instead of the
user defined by the node credentials. File ownership should be enforced
to make sure the right owner is alwaays set.
On SUSE, the “-f” force option is not available for groupadd,
so `groupadd -f wheel` returns exit code 9 if the group already
exists. To avoid this, first check if the group exists.
In normal usage, this doesn’t matter: the script continues with the
next command anyway.
However, if the statements generated by UserAdd or AdminAccess are
used outside of that context (e.g. by code external to jclouds), then
this can cause them to fail.
- Adding env_reset to the default configuration in /etc/sudoers
- Adding secure_path to the default configuration in /etc/sudoers
- secure_path value is
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Certain hardened images will have "umask 0077" set for the root user, making the newly created /home/users folder inaccessible to non-root. This results in a failure when trying to ssh with the new account. Explicitly set permissions to be independent of default umask.
Add the fqdn to /etc/hosts file becouse if you only add the hostname then it is posible to lose the fqdn
changed expected script adding "`hostname -f` "
Added "-s" option to ensure to get the short name
Added "-s" option to ensure search using the short name
Enable users to configure the version of RubyGems that will be installed
and also if the system and existing gems have to be upgraded after the
installation.
Also modifies the InstallChefGems statement to allow users to specify
the desired version of the Chef gem to install.
Removed libruby-extras package install, since it is no needed and it
does not longer exist in Ubuntu 12.04.
Also fixed RubyGems install statement to make sure it is updated to
the latest version.
Since Chef 0.10.4, Solo also allows to define data bags that can be used
in cookbooks. This commit enables dataBag support, allowing users to
define custom databags before executing the runlist of the node.
Allow to define Roles on the fly when configuring the Chef Solo
statement in order to be able to use them later when defining the run
list for the compute node.
Added basic support for Chef Solo, allowing users to bootstrap nodes
with Chef without having a Chef Server.
In order to bootstrap the nodes, a tarball with the cookbooks must be
made available to the node. This can be done by uploading the file to
the node using the jclous ssh client, or by providing a public URL where
the tarball can be downloaded from. The tarball *must* have a root
folder called *cookbooks* and all cookbooks must be inside it.
Once the tarball is available, the ChefSolo statement can be used to
generate the bootstrap script.
With this changes, apt and yum helper functions can be used to install
many packages at one as follows:
ensure_cmd_or_install_package_apt git git-core build-essentials <...>